Distribution: Debian testing Hardware Environment: Opteron running in x86 mode on an Asus SK8V Software Environment: Linux snozberry 2.6.6 #1 Sat Jun 5 11:34:57 EDT 2004 i686 GNU/Linux Gnu C 3.3.4 Gnu make 3.80 binutils 2.14.90.0.7 util-linux 2.12 mount 2.12 module-init-tools 3.1-pre5 e2fsprogs 1.35 PPP 2.4.2 nfs-utils 1.0.6 Linux C Library 2.3.2 Dynamic linker (ldd) 2.3.2 Procps 3.2.1 Net-tools 1.60 Console-tools 0.2.3 Sh-utils 5.2.1 Modules Loaded snd_ens1370 snd_rawmidi snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_ak4531_codec snd nvidia ftdi_sio NOTE: this is the ouput of ver_linux running under my functional 2.6.6 kernel Problem Description: When I load the uhci-hcd module (or, if it's compiled in and reaches its turn to be loaded) a few messages are printed to the console and the machine just hangs. If I'm ssh'd in (and I have to be, because my USB keyboard doesn't work w/o USB working) the connection freezes and the machine stops responding to pings. Steps to reproduce: If uhci-hcd is compiled in, simply boot the machine. If it's a module, type 'modprobe uhci-hcd'.
Created attachment 3603 [details] /var/log/messages of 2.6.8.1 boot Conspicuous in its lack of UHCI USB loading
Created attachment 3604 [details] Kernel 2.6.8.1 .config file
How I hang the system: Log in via ssh (USB keyboard does not work) execute 'modprobe uhci-hcd' on the machine's display is printed: USB Universal Host Controller Interface driver v2.2 uhci_hcd 0000:00:10.0: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller and it just hangs. ----- In 2.6.6 (my working kernel), the boot messages look like this: Aug 31 23:50:23 snozberry kernel: ehci_hcd 0000:00:10.4: VIA Technologies, Inc. USB 2.0 Aug 31 23:50:23 snozberry kernel: ehci_hcd 0000:00:10.4: irq 7, pci mem e183f000 Aug 31 23:50:23 snozberry kernel: ehci_hcd 0000:00:10.4: new USB bus registered, assigned bus number 1 Aug 31 23:50:23 snozberry kernel: ehci_hcd 0000:00:10.4: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29 Aug 31 23:50:23 snozberry kernel: hub 1-0:1.0: USB hub found Aug 31 23:50:23 snozberry kernel: hub 1-0:1.0: 4 ports detected Aug 31 23:50:23 snozberry kernel: USB Universal Host Controller Interface driver v2.2 Aug 31 23:50:23 snozberry kernel: uhci_hcd 0000:00:10.0: VIA Technologies, Inc. USB Aug 31 23:50:23 snozberry kernel: uhci_hcd 0000:00:10.0: irq 11, io base 0000c400 Aug 31 23:50:23 snozberry kernel: uhci_hcd 0000:00:10.0: new USB bus registered, assigned bus number 2 Aug 31 23:50:23 snozberry kernel: hub 2-0:1.0: USB hub found Aug 31 23:50:23 snozberry kernel: hub 2-0:1.0: 2 ports detected Aug 31 23:50:23 snozberry kernel: uhci_hcd 0000:00:10.1: VIA Technologies, Inc. USB (#2) Aug 31 23:50:23 snozberry kernel: uhci_hcd 0000:00:10.1: irq 11, io base 0000c800 Aug 31 23:50:23 snozberry kernel: uhci_hcd 0000:00:10.1: new USB bus registered, assigned bus number 3 Aug 31 23:50:23 snozberry kernel: hub 3-0:1.0: USB hub found Aug 31 23:50:23 snozberry kernel: hub 3-0:1.0: 2 ports detected Aug 31 23:50:23 snozberry kernel: usbcore: registered new driver audio Aug 31 23:50:23 snozberry kernel: drivers/usb/class/audio.c: v1.0.0:USB Audio Class driver Aug 31 23:50:23 snozberry kernel: usbcore: registered new driver usblp Aug 31 23:50:23 snozberry kernel: drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver Aug 31 23:50:23 snozberry kernel: Initializing USB Mass Storage driver... Aug 31 23:50:23 snozberry kernel: usbcore: registered new driver usb-storage Aug 31 23:50:23 snozberry kernel: USB Mass Storage support registered. Aug 31 23:50:23 snozberry kernel: usbcore: registered new driver hiddev Aug 31 23:50:23 snozberry kernel: usbcore: registered new driver hid Aug 31 23:50:23 snozberry kernel: drivers/usb/input/hid-core.c: v2.0:USB HID core driver Aug 31 23:50:23 snozberry kernel: usbcore: registered new driver usbserial Aug 31 23:50:23 snozberry kernel: drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0 Aug 31 23:50:23 snozberry kernel: mice: PS/2 mouse device common for all mice Aug 31 23:50:23 snozberry kernel: serio: i8042 AUX port at 0x60,0x64 irq 12 Aug 31 23:50:23 snozberry kernel: serio: i8042 KBD port at 0x60,0x64 irq 1 Aug 31 23:50:23 snozberry kernel: i2c /dev entries driver Aug 31 23:50:23 snozberry kernel: usb 2-1: new full speed USB device using address 2 Aug 31 23:50:23 snozberry kernel: hub 2-1:1.0: USB hub found Aug 31 23:50:23 snozberry kernel: hub 2-1:1.0: 4 ports detected Aug 31 23:50:23 snozberry kernel: usb 2-2: new full speed USB device using address 3 Aug 31 23:50:23 snozberry kernel: hub 2-2:1.0: USB hub found Aug 31 23:50:23 snozberry kernel: hub 2-2:1.0: 7 ports detected Aug 31 23:50:23 snozberry kernel: usb 2-2.2: new full speed USB device using address 4 Aug 31 23:50:23 snozberry kernel: drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x04F9 pid 0x000E Aug 31 23:50:23 snozberry kernel: NET: Registered protocol family 2 Aug 31 23:50:23 snozberry kernel: usb 2-2.3: new full speed USB device using address 5 Aug 31 23:50:23 snozberry kernel: IP: routing cache hash table of 4096 buckets, 32Kbytes Aug 31 23:50:23 snozberry kernel: TCP: Hash tables configured (established 32768 bind 65536) Aug 31 23:50:23 snozberry kernel: NET: Registered protocol family 1 Aug 31 23:50:23 snozberry kernel: NET: Registered protocol family 17 Aug 31 23:50:23 snozberry kernel: NET: Registered protocol family 15 Aug 31 23:50:23 snozberry kernel: EXT3-fs: INFO: recovery required on readonly filesystem. Aug 31 23:50:23 snozberry kernel: EXT3-fs: write access will be enabled during recovery. Aug 31 23:50:23 snozberry kernel: hub 2-2.3:1.0: USB hub found Aug 31 23:50:23 snozberry kernel: hub 2-2.3:1.0: 4 ports detected Aug 31 23:50:23 snozberry kernel: usb 2-2.6: new full speed USB device using address 6 Aug 31 23:50:23 snozberry kernel: kjournald starting. Commit interval 5 seconds Aug 31 23:50:23 snozberry kernel: EXT3-fs: recovery complete. Aug 31 23:50:23 snozberry kernel: EXT3-fs: mounted filesystem with ordered data mode. Aug 31 23:50:23 snozberry kernel: VFS: Mounted root (ext3 filesystem) readonly. Aug 31 23:50:23 snozberry kernel: Freeing unused kernel memory: 180k freed Aug 31 23:50:23 snozberry kernel: usb 2-2.7: new low speed USB device using address 7 Aug 31 23:50:23 snozberry kernel: hid: probe of 2-2.7:1.0 failed with error -5 Aug 31 23:50:23 snozberry kernel: usb 2-1.1: new low speed USB device using address 8 Aug 31 23:50:23 snozberry kernel: Adding 131064k swap on /dev/sda3. Priority:-1 extents:1 Aug 31 23:50:23 snozberry kernel: input: USB HID v1.00 Keyboard [05f3:0007] on usb-0000:00:10.0-1.1 Aug 31 23:50:23 snozberry kernel: input: USB HID v1.00 Device [05f3:0007] on usb-0000:00:10.0-1.1 Aug 31 23:50:23 snozberry kernel: EXT3 FS on sda1, internal journal Aug 31 23:50:23 snozberry kernel: usb 2-1.2: new low speed USB device using address 9 Aug 31 23:50:23 snozberry kernel: input: USB HID v1.00 Mouse [Microsoft Microsoft Wheel Mouse Optical<AE>] on usb-0000:00:10.0-1.2 [mounting of hard disks and loading of nVidia module] Aug 31 23:52:08 snozberry kernel: drivers/usb/input/hid-input.c: event field not found Aug 31 23:52:08 snozberry kernel: drivers/usb/input/hid-input.c: event field not found Aug 31 23:58:19 snozberry kernel: usb 2-2.7: control timeout on ep0in
It's possible this is caused by an IRQ conflict. Try booting with kernel parameters like "pci=noacpi" or "acpi=noirq". What does /proc/interrupts show before you load the uhci-hcd module? When you do load the driver, exactly what messages are printed to the console before the system hangs? (Before answering that, turn on the USB debugging option in the kernel configuration.)
Does this problem still occur under 2.6.9?
Finally I've found something about this... I have the same problem with uhci_hcd locking the system hard on 2.6.9. Nothing is printed on the console after I modprobe the uhci module, it just locks hard. It would also lock hard if it was built into the kernel, like Chris Horn said. My setup is quite different from Chris Horn's, but the symptoms are identical. I have an Intel 82801EB (ICH5) controller on an Abit IS7 (Pentium 4) motherboard. I also have a USB keyboard (Microsoft Natural Pro) plugged into a USB port. However, my in my BIOS you can choose either BIOS or OS USB keyboard support, and I have it set to BIOS. With it on the OS setting, I can't even use the keyboard on the GRUB menu. The keyboard has a USB hub built into it, and currently, without the uhci driver loaded, plugging devices into the ports does nothing, the syslogs say nothing. USB2 with the EHCI module works fine from the ports on the motherboard. I'll try using the boot parameters you suggested and report back on the results. After that I'll try turning on the USB debugging option in the kernel to see if I can get some output before it locks. If I can find a 2.6.10 kernel patchset with support for reiser4 and the nvidia drivers, I'll test that soon too. On 2.6.9-cko3 right now (ehci module loaded, no uhci module loaded of course), here is what /proc/interrupts says: CPU0 CPU1 0: 188469854 0 IO-APIC-edge timer 1: 103789 0 IO-APIC-edge i8042 9: 0 0 IO-APIC-level acpi 12: 5016455 0 IO-APIC-edge i8042 15: 178533 0 IO-APIC-edge ide1 16: 14670572 0 IO-APIC-level nvidia 17: 532696 0 IO-APIC-level Intel ICH5 18: 1547313 0 IO-APIC-level libata, SysKonnect SK-98xx 23: 1202661 0 IO-APIC-level ehci_hcd NMI: 0 0 LOC: 188462356 188466658 ERR: 0 MIS: 0 If there's any more information you may need, I'll be happy to provide.
OK this is really weird, but it doesn't cause a lockup anymore. I realized that I hadn't even built the uhci module (so I wouldn't accidentally load it), so I rebuilt my kernel. In the process I turned on USB debugging, and some other things: diff /boot/config /boot/config.old 4c4 < # Thu Dec 30 22:07:26 2004 --- > # Sat Dec 25 10:00:52 2004 278c278,279 < # CONFIG_BLK_DEV_IDEDISK is not set --- > CONFIG_BLK_DEV_IDEDISK=y > CONFIG_IDEDISK_MULTI_MODE=y 289c290 < # CONFIG_IDE_GENERIC is not set --- > CONFIG_IDE_GENERIC=y 920c921 < CONFIG_USB_DEBUG=y --- > # CONFIG_USB_DEBUG is not set 938c939 < CONFIG_USB_UHCI_HCD=m --- > # CONFIG_USB_UHCI_HCD is not set I removed the IDEDISK because I didn't need it, and IDE_GENERIC because of Bug3615. I wouldn't think those would have an effect on this, but who knows. Other changes I've made between when it used to lock up and now: 1. I used to have my Microsoft IntelliMouse Explorer plugged into USB, but I couldn't get all the buttons to work (probably because the uhci driver wasn't loaded). So I put the USB->PS2 converter on and plugged it into the PS2 port, and that's how I use it now. That's all I can think of. The uhci driver is actually working, because now my keyboard is recognized by lsusb: # lsusb Bus 005 Device 003: ID 045e:001d Microsoft Corp. Natural Keyboard Pro Bus 005 Device 002: ID 0451:1446 Texas Instruments, Inc. TUSB2040/2070 Hub Bus 005 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 Whereas before, with no uhci, only the last line was printed. I was also loading the psmouse module back when I had my mouse plugged into the USB port. Maybe that was causing a conflict. I'll do some testing to see if I can reproduce the lockup.
Well it's weird, but I'm happy that it's all working now. I couldn't get the mouse to cause any lockups. The psmouse module made no difference, nor did setting the BIOS support for USB mice to BIOS or OS, both work the same now. The only things I can think of are 1) maybe when it was locking up, the uhci was trying to load before the ehci, would this cause a lockup? I don't know if this was happening or not. Or 2) it has something to do with my hotplug/coldplug setup. I think I didn't have either of those installed when it was locking up. Now they both start at boot. Maybe that's the solution for Chris Horn, to install hotplug and coldplug. I'm using Gentoo though, so maybe it'll be different for Debian. Now that my USB fully works, I'm off to try some 2.6.10 kernels... :-D
Chris, Ralph, any more news on this?
I haven't had any problems.
I will try to check this out more tonight, if I can figure out what to check. I'm using 2.6.9 now, with /var/log/messages telling me that ehci_hcd and uhci_hcd don't seem to be having any problems. I remember booting about a month ago (luckily I don't reboot very often) when I got a warranty replacement motherboard (an unrelated Firewire problem) and the machine locked up - but I think that was an APM or ACPI problem... I can't recall. I also can't remember what I did to "fix" the USB problem I was having. .config USB controller & input config double-check: CONFIG_USB_EHCI_HCD=y CONFIG_USB_UHCI_HCD=y CONFIG_USB_HID=y CONFIG_USB_HIDINPUT=y CONFIG_USB_HIDDEV=y
Closing due to age of bug. If this is still an issue on 2.6.13-rc6 or greater, please reopen and let us know.