Loading uhci-hcd module confuses Trident graphics card

Hi

Since I've upgraded my server to Debian Etch and 2.6 kernel I've been trying to solve the following problem. I would be grateful if someone has any ideas what could be causing this (or perhaps suggest a better place to ask for help):

As soon as uhci-hcd module is loaded (usually by udev early during boot, but also if I load it by hand with modprobe) the monitor goes blank. Everything else keeps running as usual (I can log into the machine through ssh for example).

So far I've tried Debian kernels 2.6.18, 2.6.21 and 2.6.22 and vanilla kernel 2.6.19.7 and they all have this same problem. Compiling USB support directly into the kernel makes no difference (except that the monitor goes blank during kernel initialization), and a kernel without USB support works without problems.

I haven't found any error messages in dmesg or syslog.

I've found out that running SVGATextMode utility (for example "SVGATextMode -x" from a ssh session) will restore the display. I haven't found any other side effect, however I'm a bit paranoid that some memory corruption might be behind this and this server runs some important services.

Thanks for your help
Tomaz Solc

Some info about the hardware:

AMD Duron 700
MSI K7T Pro2 (MS-6330) motherboard (VIA KT133 chipset, latest BIOS)
Trident TGUI graphics (on PCI bus)
Monitor is connected to the machine with only a VGA cable (no USB connections of any kind)

lspci output:

00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 02)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP]
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 22)
00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 10)
00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 10)
00:07.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 10)
00:07.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)
00:08.0 VGA compatible controller: Trident Microsystems TGUI 9660/938x/968x (rev d3)
00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

Relevant part of dmesg:

Console: colour VGA+ 80x25
...
Boot video device is 0000:00:08.0
...
usbcore: registered new driver usbfs
usbcore: registered new driver hub
USB Universal Host Controller Interface driver v3.0
PCI: Found IRQ 10 for device 0000:00:07.2
PCI: Sharing IRQ 10 with 0000:00:07.3
PCI: Sharing IRQ 10 with 0000:00:0a.0
PCI: VIA IRQ fixup for 0000:00:07.2, from 0 to 10
uhci_hcd 0000:00:07.2: UHCI Host Controller
drivers/usb/core/inode.c: creating file 'devices'
drivers/usb/core/inode.c: creating file '001'
uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:07.2: detected 2 ports
uhci_hcd 0000:00:07.2: uhci_check_and_reset_hc: cmd = 0x0000
uhci_hcd 0000:00:07.2: Performing full reset
uhci_hcd 0000:00:07.2: irq 10, io base 0x0000d400
usb usb1: default language 0x0409
usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: UHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.18 uhci_hcd
usb usb1: SerialNumber: 0000:00:07.2
usb usb1: uevent
usb usb1: configuration #1 chosen from 1 choice
usb usb1: adding 1-0:1.0 (config #1, interface 0)
usb 1-0:1.0: uevent
hub 1-0:1.0: usb_probe_interface
hub 1-0:1.0: usb_probe_interface - got id
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
hub 1-0:1.0: standalone hub
hub 1-0:1.0: no power switching (usb 1.0)
hub 1-0:1.0: individual port over-current protection
hub 1-0:1.0: power on to power good time: 2ms
hub 1-0:1.0: local power source is good
hub 1-0:1.0: trying to enable port power on non-switchable hub
drivers/usb/core/inode.c: creating file '001'
PCI: Found IRQ 10 for device 0000:00:07.3
PCI: Sharing IRQ 10 with 0000:00:07.2
PCI: Sharing IRQ 10 with 0000:00:0a.0
PCI: VIA IRQ fixup for 0000:00:07.3, from 255 to 10
uhci_hcd 0000:00:07.3: UHCI Host Controller
drivers/usb/core/inode.c: creating file '002'
uhci_hcd 0000:00:07.3: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:07.3: detected 2 ports
uhci_hcd 0000:00:07.3: uhci_check_and_reset_hc: legsup = 0x3f20
uhci_hcd 0000:00:07.3: Performing full reset
uhci_hcd 0000:00:07.3: irq 10, io base 0x0000d800
usb usb2: default language 0x0409
usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: UHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.18 uhci_hcd
usb usb2: SerialNumber: 0000:00:07.3
usb usb2: uevent
usb usb2: configuration #1 chosen from 1 choice
usb usb2: adding 2-0:1.0 (config #1, interface 0)
usb 2-0:1.0: uevent
hub 2-0:1.0: usb_probe_interface
hub 2-0:1.0: usb_probe_interface - got id
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
hub 2-0:1.0: standalone hub
hub 2-0:1.0: no power switching (usb 1.0)
hub 2-0:1.0: individual port over-current protection
hub 2-0:1.0: power on to power good time: 2ms
hub 2-0:1.0: local power source is good
hub 2-0:1.0: trying to enable port power on non-switchable hub
hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0006
uhci_hcd 0000:00:07.2: port 1 portsc 018a,00
hub 1-0:1.0: port 1, status 0300, change 0003, 1.5 Mb/s
drivers/usb/core/inode.c: creating file '001'
PCI: Found IRQ 10 for device 0000:00:0a.0
PCI: Sharing IRQ 10 with 0000:00:07.2
PCI: Sharing IRQ 10 with 0000:00:07.3
hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x300
uhci_hcd 0000:00:07.2: port 2 portsc 018a,00
hub 1-0:1.0: port 2, status 0300, change 0003, 1.5 Mb/s
hub 1-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x300
hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0006
uhci_hcd 0000:00:07.3: port 1 portsc 018a,00
hub 2-0:1.0: port 1, status 0300, change 0003, 1.5 Mb/s
hub 2-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x300
uhci_hcd 0000:00:07.3: port 2 portsc 018a,00
hub 2-0:1.0: port 2, status 0300, change 0003, 1.5 Mb/s
hub 2-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x300
hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0000
usb usb1: suspend_rh (auto-stop)
usb usb2: suspend_rh (auto-stop)

No votes yet

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Loading uhci-hcd module

You can check if buggy ACPI is a problem by booting with 'noacpi'. Sometimes the problem is with buggy hardware and interrupt generation so you might try to boot with 'noapic'.

Loading uhci-hcd module

Hi

I've tried "noacpi" and "noapic" options and I also tried booting a kernel with ACPI support disabled with no success.

Kernel says that local APIC is disabled by BIOS (I've tried enabling it with "lapic" option as suggested).

I've run grep for "trident" over kernel sources and there are some comments about how buggy Trident's hardware is. I guess this is one bug kernel developers haven't discovered yet.

Do you think I should report this to kernel bugzilla?

Thanks.

Loading uhci-hcd module

I think the best option is to find out who maintains the trident driver, then search their archives, join a mailing list, and then finally you might try to contact a developer. You're more likely to get something done than if you just file a kernel bugzilla report.

Syndicate content