Most recent kernel where this bug did not occur: 2.6.11 and Ubuntu 2.6.12 Distribution: Ubuntu 5.10 Hardware Environment: Dell Latitude D600 Pentium-M 1.6 GHz 1 GB RAM Software Environment: Default Ubuntu environment, except for custom kernel Problem Description: Sometimes, when inserting a uSB device, I get: hub 3-0:1.0: Cannot enable port 1. Maybe the USB cable is bad? and the device doesn't work. Steps to reproduce: This does not happen all the time, but usually it happens when I unplug my USB mouse and plug it back again a bit later. When plugging it back I get the error message and cannot use any usb device anymore. I tried unloading [eu]hci_hcd and got some success with that. I've never seen that problem happen before 2.6.11 and I suspect it *may* be the cause bug 6166.
This happens on disconnect or when you plug it in? And which host controller is this on, uhci-hcd? Can you post the full kernel log messages (as an attachment) for when this happens?
The message happens when I recommect the device. It repeats every few seconds. In at least one occasion, the device managed to work after several of those messages, but most of the time, it doesn't work and the kernel keeps printing messages. I've got a uhci-hcd controller. I'll post the full log when the problem re-occurs (machine crashed when I tried suspend-to-RAM after the USB problem occured). It's intermittent and I haven't found out what triggers the problem. Had the problem twice in about two days.
Make sure your kernel is configured with CONFIG_USB_DEBUG turned on. When the problem occurs again, mount /sys/kernel/debug (as type debugfs) and copy the contents of /sys/kernel/debug/uhci/[whichever file corresponds to the controller that isn't working]. Post that as well as the kernel log.
Created attachment 7676 [details] kernel messages This is the kernel log when the problem occurs (dmesg).
Note, I didn't have debug enabled yet. Can you extract enough useful information from the log I posted. Otherwise, I'll try with a debug kernel. BTW, after tons of "Cannot enable port 1. Maybe the USB cable is bad?" error messages, my mouse finally worked. This is what got printed when it worked: [17223284.056000] usb 2-1: new low speed USB device using uhci_hcd and address 2[17223284.176000] input: Logitech USB Receiver as /class/input/input4 [17223284.176000] input: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:1d.1-1
I think CONFIG_USB_DEBUG would make this a lot clearer. I can't really tell what's happening from your log. BTW, the file you want under /sys/kernel/debug/uhci is 0000:00:1d.1. Does the same problem occur if you plug the mouse into a different port?
I've recompiled with CONFIG_USB_DEBUG, but I can't see anything in /sys/kernel/debug, nor does mount seem to know about debugfs. Could you give some more details please?
The command you need is: mount -t debugfs none /sys/kernel/debug For this to work you must set CONFIG_DEBUG_FS in the kernel hacking section.
This looks like some kind of heisenbug... Ever since I've started running the debug kernel, the problem hasn't occured. Any suggestion on what could help it trigger, or just what the error message I got meant?
I don't know how to make the problem reappear. Maybe you should just be happy that it's gone! The error message "Can't enable port 1. Maybe the USB cable is bad?" means that when the hub driver tried to reset the USB port, something went wrong. There's no way to tell exactly what went wrong without the debugging information.
Please reopen this bug in case you'll be able to reproduce it again.
I have this problem too on a Medion MD8800 stock machine. It wasn't too bad with SUSE 10.0 and so I didn't notice back then (kernel 2.6.13), but most of the SUSE 10.1 kernels bite big time in this regard... Latest messages from a USB debug-enabled build of the latest 10.1 SUSE Linux kernel, and yes, the problem occurs on a Live CD of Mandriva 2007 as well and on the 10.2 boot-CD (2.6.18), only much worse... I'm able to get this to to go away in one of two ways, neither very appealing: 1) blacklisting the ehci_hcd driver 2) Modifying the BIOS to set USB devices to 1.1 status (the ECHI device disappears in lspci) The problem with both 'solutions' is that my USB removable harddisk only runs at USB 1.1 with these workarounds. Everything does, of course. I've tried to force load of ehci before uhci, but the same thing happens regardless. There is a slight possibility that the USB wireless mouse and keyboard that came with the system is causing this, but if so it seems to be a negotiation problem between 1.1 and 2.0 status. Some of the latest kernelmessages look like this: hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: state 7 ports 4 chg 0000 evt 0004 hub 5-3:1.0: reset change on port 2 hub 5-3:1.0: port 2, status 0101, change 0011, 12 Mb/s hub 5-3:1.0: debounce: port 2: total 100ms stable 100ms status 0x101 hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: state 7 ports 4 chg 0000 evt 0004 hub 5-3:1.0: reset change on port 2 hub 5-3:1.0: port 2, status 0101, change 0011, 12 Mb/s hub 5-3:1.0: debounce: port 2: total 100ms stable 100ms status 0x101 hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... SFW2-INext-ACC-TRUST IN=eth0 OUT= MAC=00:13:d3:b1:72:0f:00:11:09:f3:89:78:08:00 SRC=192.168.33.12 DST=192.168.33.13 LEN=100 TOS=0x10 PREC=0x00 TTL=64 ID=57722 DF PROTO=TCP SPT=1922 DPT=22 WINDOW=606 RES=0x00 ACK PSH URGP=0 OPT (0101080A1B1CA1850141B493) hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... SFW2-INext-ACC-TRUST IN=eth0 OUT= MAC=00:13:d3:b1:72:0f:00:11:09:f3:89:78:08:00 SRC=192.168.33.12 DST=192.168.33.13 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=21889 DF PROTO=TCP SPT=14775 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A1B1CA2600000000001030307) hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: state 7 ports 4 chg 0000 evt 0004 hub 5-3:1.0: reset change on port 2 hub 5-3:1.0: port 2, status 0101, change 0011, 12 Mb/s hub 5-3:1.0: debounce: port 2: total 100ms stable 100ms status 0x101 hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: state 7 ports 4 chg 0000 evt 0004 hub 5-3:1.0: reset change on port 2 hub 5-3:1.0: port 2, status 0101, change 0011, 12 Mb/s hub 5-3:1.0: debounce: port 2: total 100ms stable 100ms status 0x101 hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... I will attach the full log and turn on debugfs and send the info mentioned from there....
Here's the debugfs output. Not much... 20:50 dualpc:/usr/src/linux # ls -l /sys/kernel/debug/uhci/ totalt 0 drwxr-xr-x 2 root root 0 2006-10-15 21:30 . drwxr-xr-x 3 root root 0 2006-10-15 21:30 .. -rw-r--r-- 1 root root 0 2006-10-15 21:30 0000:00:1d.0 -rw-r--r-- 1 root root 0 2006-10-15 21:30 0000:00:1d.1 -rw-r--r-- 1 root root 0 2006-10-15 21:30 0000:00:1d.2 -rw-r--r-- 1 root root 0 2006-10-15 21:30 0000:00:1d.3 20:57 dualpc:/usr/src/linux # lspci 00:00.0 Host bridge: Intel Corporation 945G/GZ/P/PL Express Memory Controller Hub (rev 81) 00:01.0 PCI bridge: Intel Corporation 945G/GZ/P/PL Express PCI Express Root Port (rev 81) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1) 00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01) 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01) 00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) Serial ATA Storage Controller IDE (rev 01) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01) 01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0147 (rev a2) 02:01.0 Multimedia controller: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder (rev d1) 02:02.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 02:03.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80) 02:04.0 Multimedia controller: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder (rev d1) 02:05.0 Communication controller: Agere Systems Unknown device 0620 When I have the opportunity I'll try to boot with a regular keyboard and the wireless one not connected. 20:49 dualpc:/usr/src/linux # cat /sys/kernel/debug/uhci/0000\:00\:1d.0 Root-hub state: auto-stopped HC status usbcmd = 0048 Maxp32 CF EGSM usbstat = 0020 HCHalted usbint = 0002 usbfrnum = (1)248 flbaseadd = 3c7a3248 sof = 40 stat1 = 0080 stat2 = 0080 Frame List Skeleton QHs 20:50 dualpc:/usr/src/linux # cat /sys/kernel/debug/uhci/0000\:00\:1d.1 Root-hub state: auto-stopped HC status usbcmd = 0048 Maxp32 CF EGSM usbstat = 0020 HCHalted usbint = 0002 usbfrnum = (0)a88 flbaseadd = 3c1cea88 sof = 40 stat1 = 0080 stat2 = 0080 Frame List Skeleton QHs 20:50 dualpc:/usr/src/linux # cat /sys/kernel/debug/uhci/0000\:00\:1d.2 Root-hub state: auto-stopped HC status usbcmd = 0048 Maxp32 CF EGSM usbstat = 0020 HCHalted usbint = 0002 usbfrnum = (1)28c flbaseadd = 3edd728c sof = 40 stat1 = 0080 stat2 = 0080 Frame List Skeleton QHs 20:50 dualpc:/usr/src/linux # cat /sys/kernel/debug/uhci/0000\:00\:1d.3 Root-hub state: auto-stopped HC status usbcmd = 0048 Maxp32 CF EGSM usbstat = 0020 HCHalted usbint = 0002 usbfrnum = (0)b94 flbaseadd = 3b93fb94 sof = 40 stat1 = 0080 stat2 = 0080 Frame List Skeleton QHs
Is there anything more I can do? Are there any options I can set to try and make this problem go away?
Actually this looks like a problem with the internal hub in your wireless keyboard/mouse device. It's not clear why it works better at full speed than at high speed. Try detaching it and see what happens.
I have disconnected all external USB devices now and I still get the error. I have a USB X10 device and a USB Wifi controller on the motherboard. Also, lsusb never returns when called (again, if I unload ehci, it works): With EHCI, straced: 19:50 dualpc:~ # ls /dev/bus/usb/ . .. 001 002 003 004 005 19:45 dualpc:~ # strace lsusb execve("/usr/bin/lsusb", ["lsusb"], [/* 80 vars */]) = 0 brk(0) = 0x512000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b1ec4010000 uname({sys="Linux", node="dualpc", ...}) = 0 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=217369, ...}) = 0 mmap(NULL, 217369, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b1ec4011000 close(3) = 0 open("/usr/lib64/libusb-0.1.so.4", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\31\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=32784, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b1ec4047000 mmap(NULL, 1079240, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b1ec4112000 madvise(0x2b1ec4112000, 1079240, MADV_SEQUENTIAL|0x1) = 0 mprotect(0x2b1ec4118000, 1048576, PROT_NONE) = 0 mmap(0x2b1ec4218000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x2b1ec4218000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\322\1\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1475924, ...}) = 0 mmap(NULL, 2289896, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b1ec421a000 madvise(0x2b1ec421a000, 2289896, MADV_SEQUENTIAL|0x1) = 0 mprotect(0x2b1ec4340000, 1048576, PROT_NONE) = 0 mmap(0x2b1ec4440000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x126000) = 0x2b1ec4440000 mmap(0x2b1ec4445000, 16616, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b1ec4445000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b1ec444a000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b1ec444b000 arch_prctl(ARCH_SET_FS, 0x2b1ec444aae0) = 0 mprotect(0x2b1ec4440000, 12288, PROT_READ) = 0 munmap(0x2b1ec4011000, 217369) = 0 brk(0) = 0x512000 brk(0x533000) = 0x533000 open("./usb.ids", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/usb.ids", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=152845, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b1ec4011000 read(3, "#\n#\tList of USB ID\'s\n#\n#\tMaintai"..., 4096) = 4096 read(3, "\t5637 M5637 IDE Controller\n0403"..., 4096) = 4096 read(3, "\n\t040b N-Gage GSM Phone\n\t040f "..., 4096) = 4096 read(3, "telliMouse\n\t000b Natural Keyboa"..., 4096) = 4096 read(3, "se (4-button)\n\tc501 Cordless Mo"..., 4096) = 4096 read(3, "ner\n04a8 Multivideo Labs, Inc.\n"..., 4096) = 4096 read(3, "f000 CY30700 Licorice evaluatio"..., 4096) = 4096 read(3, "500 Veridicom 5thSense Fingerpr"..., 4096) = 4096 read(3, "4a6 Linux-USB Serial Gadget\n\ta4"..., 4096) = 4096 read(3, "200 CU\n\t0002 ScanExpress 600 CU"..., 4096) = 4096 read(3, "esizer\n0583 Padix Co., Ltd (Roc"..., 4096) = 4096 read(3, "rnet [pegasus]\n\t3363 MicroLink "..., 4096) = 4096 read(3, "o Instruments, Inc.\n061a Veridi"..., 4096) = 4096 read(3, " (USB 2.0)\n\t2515 Flash Disk Emb"..., 4096) = 4096 read(3, "dgetTemperatureSensor Ver 1.0\n\t0"..., 4096) = 4096 read(3, "005 Crypto Token\n073e NEC, Inc"..., 4096) = 4096 read(3, "anner\n07b4 Olympus Optical Co.,"..., 4096) = 4096 read(3, "Port V.90 Fax/Modem\n0840 Argosy"..., 4096) = 4096 brk(0x554000) = 0x554000 read(3, "rnier\n\t0001 LabPro\n\t0002 EasyT"..., 4096) = 4096 read(3, "Corp.\n09c3 ActivCard, Inc.\n\t000"..., 4096) = 4096 read(3, "42 MP3 Player\n0aaa Japan CBM Co"..., 4096) = 4096 read(3, "\n\t00eb USR1120 802.11b Adapter\n"..., 4096) = 4096 read(3, "\n0c8f Applied Microsystems\n0c99"..., 4096) = 4096 read(3, "rive II+ VP2160\n0d7e American C"..., 4096) = 4096 read(3, "py 3000 PDA\n0e82 Ching Tai Elec"..., 4096) = 4096 read(3, "lectronics Co., Ltd\n0fbb Bitwis"..., 4096) = 4096 read(3, "werLinc\n10c4 Cygnal Integrated "..., 4096) = 4096 read(3, "ra\n\t0003 Dimage Xg Camera\n\t0006"..., 4096) = 4096 read(3, "net [pegasus]\n\t4003 DSB-650TX-P"..., 4096) = 4096 read(3, "on\n8341 EGO Systems, Inc.\n\t2000"..., 4096) = 4096 read(3, "\nAT 0700 Embedded Undefined\nAT "..., 4096) = 4096 read(3, "Landing Gear\n\t0bf Toe Break\n\t0c"..., 4096) = 4096 read(3, "1 F22\n\t072 F23\n\t073 F24\n\t074 "..., 4096) = 4096 read(3, " Sleep Mode\n\t035 Illumination\n\t"..., 4096) = 4096 read(3, "d\n\t226 AC Stop\n\t227 AC Refresh"..., 4096) = 4096 brk(0x575000) = 0x575000 read(3, "ead\n\t032 Cursur Position Report"..., 4096) = 4096 read(3, "\n\t040 Terminate Charge\n\t041 Te"..., 4096) = 4096 read(3, "rit\nL 0057 Konkani\nL 0058 Mani"..., 4096) = 1293 read(3, "", 4096) = 0 close(3) = 0 munmap(0x2b1ec4011000, 4096) = 0 open("/dev/bus/usb", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=140, ...}) = 0 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 7 entries */, 4096) = 168 close(3) = 0 open("/dev/bus/usb", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=140, ...}) = 0 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 7 entries */, 4096) = 168 getdents64(3, /* 0 entries */, 4096) = 0 close(3) = 0 open("/dev/bus/usb/005", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=120, ...}) = 0 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 6 entries */, 4096) = 144 open("/dev/bus/usb/005/008", O_RDWR) = 4 ioctl(4, USBDEVFS_CONNECTINFO, 0x7fffe6ab1eb0) = 0 read(4, "\22\1\20\1\0\0\0\10\307\v\6\0\0\2\1\2\0\1", 18) = 18 read(4, "\t\2 \0\1\1\0\240", 8) = 8 read(4, "\1\t\4\0\0\2\377\0\0\0\7\5\201\3\10\0\n\7\5\2\3\10\0\n"..., 24) = 24 close(4) = 0 open("/dev/bus/usb/005/003", O_RDWR) = 4 ioctl(4, USBDEVFS_CONNECTINFO, 0x7fffe6ab1eb0) = 0 read(4, "\22\1\0\2\0\0\0@\214\r\0R\0\1\0\0\0\1", 18) = 18 read(4, "\t\2\'\0\1\1\0\200", 8) = 8 read(4, "2\t\4\0\0\3\377\377\377\0\7\5\1\2\0\2\0\7\5\202\2\0\2\0"..., 31) = 31 close(4) = 0 open("/dev/bus/usb/005/002", O_RDWR) = 4 ioctl(4, USBDEVFS_CONNECTINFO Without EHCI: 19:50 dualpc:~ # rmmod ehci_hcd 19:50 dualpc:~ # ls /dev/bus/usb/ . .. 001 002 003 004 19:50 dualpc:~ # lsusb Bus 003 Device 001: ID 0000:0000 Bus 002 Device 006: ID 0bc7:0006 X10 Wireless Technology, Inc. Bus 002 Device 005: ID 148f:2570 Ralink Technology, Corp. 802.11g WiFi Bus 002 Device 004: ID 05e3:0606 Genesys Logic, Inc. Bus 002 Device 003: ID 0d8c:5200 C-Media Electronics, Inc. Bus 002 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 There's a USB cardreader as well which have never worked in Linux but works fine in Windows. I wonder if that is the troublesome one. It isn't listed as usb-storage at all.... 19:51 dualpc:~ # lsusb -v Bus 003 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0000 idProduct 0x0000 bcdDevice 2.06 iManufacturer 3 Linux 2.6.16.21-0.25-smp uhci_hcd iProduct 2 UHCI Host Controller iSerial 1 0000:00:1d.2 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 255 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 2 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 1 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0100 power Device Status: 0x0001 Self Powered Bus 002 Device 006: ID 0bc7:0006 X10 Wireless Technology, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0bc7 X10 Wireless Technology, Inc. idProduct 0x0006 bcdDevice 2.00 iManufacturer 1 X10 WTI iProduct 2 RF receiver iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 2mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10 Device Status: 0x0000 (Bus Powered) Bus 002 Device 005: ID 148f:2570 Ralink Technology, Corp. 802.11g WiFi Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x148f Ralink Technology, Corp. idProduct 0x2570 802.11g WiFi bcdDevice 0.01 iManufacturer 1 Ralink iProduct 2 802.11g WLAN iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 300mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0000 (Bus Powered) Bus 002 Device 004: ID 05e3:0606 Genesys Logic, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x05e3 Genesys Logic, Inc. idProduct 0x0606 bcdDevice 7.02 iManufacturer 0 iProduct 1 USB2.0 Hub iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 255 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 4 wHubCharacteristic 0x00e9 Per-port power switching Per-port overcurrent protection Port indicators bPwrOn2PwrGood 50 * 2 milli seconds bHubContrCurrent 100 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0103 power enable connect Port 3: 0000.0303 lowspeed power enable connect Port 4: 0000.0100 power Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 1 Single TT bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0003 Self Powered Remote Wakeup Enabled Bus 002 Device 003: ID 0d8c:5200 C-Media Electronics, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0d8c C-Media Electronics, Inc. idProduct 0x5200 bcdDevice 1.00 iManufacturer 0 iProduct 0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 39 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 9 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0000 (Bus Powered) Bus 002 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0000 idProduct 0x0000 bcdDevice 2.06 iManufacturer 3 Linux 2.6.16.21-0.25-smp uhci_hcd iProduct 2 UHCI Host Controller iSerial 1 0000:00:1d.1 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 255 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 2 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 1 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0103 power enable connect Port 2: 0000.0103 power enable connect Device Status: 0x0001 Self Powered Bus 004 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0000 idProduct 0x0000 bcdDevice 2.06 iManufacturer 3 Linux 2.6.16.21-0.25-smp uhci_hcd iProduct 2 UHCI Host Controller iSerial 1 0000:00:1d.3 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 255 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 2 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 1 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0100 power Device Status: 0x0001 Self Powered Bus 001 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0000 idProduct 0x0000 bcdDevice 2.06 iManufacturer 3 Linux 2.6.16.21-0.25-smp uhci_hcd iProduct 2 UHCI Host Controller iSerial 1 0000:00:1d.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 255 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 2 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 1 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0100 power Device Status: 0x0001 Self Powered When I removed the ehci_hcd module I got this in dmesg: hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: port_wait_reset: err = -22 hub 5-3:1.0: port 2 not enabled, trying reset again... hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: state 7 ports 4 chg 0000 evt 0004 hub 5-3:1.0: reset change on port 2 hub 5-3:1.0: port 2, status 0101, change 0011, 12 Mb/s ehci_hcd 0000:00:1d.7: remove, state 1 ehci_hcd 0000:00:1d.7: roothub graceful disconnect usb usb5: USB disconnect, address 1 usb 5-3: USB disconnect, address 2 hub 5-3:1.0: hub_port_status failed (err = -19) hub 5-3:1.0: connect-debounce failed, port 2 disabled hub 5-3:1.0: cannot disable port 2 (err = -19) usb 5-3.3: USB disconnect, address 8 usb 5-3.3: usb_disable_device nuking all URBs usb 5-3.3: unregistering interface 5-3.3:1.0 usb 5-3.3:1.0: uevent usb 5-3.3: unregistering device usb 5-3.3: uevent usb 5-3: usb_disable_device nuking all URBs usb 5-3: unlink qh256-0001/ffff81003c523140 start 255 [1/0 us] ehci_hcd 0000:00:1d.7: shutdown urb ffff81003cd71d80 pipe 40408280 ep1in-intr usb 5-3: unregistering interface 5-3:1.0 usb 5-3:1.0: uevent usb 5-3: unregistering device usb 5-3: uevent usb 5-4: USB disconnect, address 3 usb 5-4: usb_disable_device nuking all URBs usb 5-4: unregistering interface 5-4:1.0 usb 5-4:1.0: uevent usb 5-4: unregistering device usb 5-4: uevent usb usb5: usb_disable_device nuking all URBs ehci_hcd 0000:00:1d.7: shutdown urb ffff81003b564ac0 pipe 40408180 ep1in-intr usb usb5: unregistering interface 5-0:1.0 usb 5-0:1.0: uevent usb usb5: unregistering device usb usb5: uevent ehci_hcd 0000:00:1d.7: stop ehci_hcd 0000:00:1d.7: reset command 010003 (park)=0 ithresh=1 period=1024 Reset RUN uhci_hcd 0000:00:1d.1: wakeup_rh (auto-start) hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0004 uhci_hcd 0000:00:1d.1: port 2 portsc 0093,00 hub 2-0:1.0: port 2, status 0101, change 0001, 12 Mb/s ehci_hcd 0000:00:1d.7: irq normal 24504 err 0 reclaim 8834 (lost 1) ehci_hcd 0000:00:1d.7: complete 24514 unlink 0 ehci_hcd 0000:00:1d.7: ehci_stop completed status 1000 Halt ehci_hcd 0000:00:1d.7: USB bus 5 deregistered hub 2-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x101 usb 2-2: new full speed USB device using uhci_hcd and address 3 usb 2-2: new device found, idVendor=0d8c, idProduct=5200 usb 2-2: new device strings: Mfr=0, Product=0, SerialNumber=0 usb 2-2: uevent usb 2-2: device is bus-powered usb 2-2: configuration #1 chosen from 1 choice usb 2-2: adding 2-2:1.0 (config #1, interface 0) usb 2-2:1.0: uevent drivers/usb/core/inode.c: creating file '003' hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0006 uhci_hcd 0000:00:1d.1: port 1 portsc 0093,00 hub 2-0:1.0: port 1, status 0101, change 0001, 12 Mb/s hub 2-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101 usb 2-1: new full speed USB device using uhci_hcd and address 4 usb 2-1: default language 0x0409 usb 2-1: new device found, idVendor=05e3, idProduct=0606 usb 2-1: new device strings: Mfr=0, Product=1, SerialNumber=0 usb 2-1: Product: USB2.0 Hub usb 2-1: uevent usb 2-1: device is self-powered usb 2-1: configuration #1 chosen from 1 choice usb 2-1: adding 2-1:1.0 (config #1, interface 0) usb 2-1:1.0: uevent hub 2-1:1.0: usb_probe_interface hub 2-1:1.0: usb_probe_interface - got id hub 2-1:1.0: USB hub found hub 2-1:1.0: 4 ports detected hub 2-1:1.0: standalone hub hub 2-1:1.0: individual port power switching hub 2-1:1.0: individual port over-current protection hub 2-1:1.0: TT requires at most 32 FS bit times (2664 ns) hub 2-1:1.0: Port indicators are supported hub 2-1:1.0: power on to power good time: 100ms hub 2-1:1.0: local power source is good hub 2-1:1.0: enabling power on all ports drivers/usb/core/inode.c: creating file '004' hub 2-1:1.0: state 7 ports 4 chg 0000 evt 0000 hub 2-1:1.0: port 2, status 0101, change 0001, 12 Mb/s hub 2-1:1.0: debounce: port 2: total 100ms stable 100ms status 0x101 usb 2-1.2: new full speed USB device using uhci_hcd and address 5 usb 2-1.2: default language 0x0409 usb 2-1.2: new device found, idVendor=148f, idProduct=2570 usb 2-1.2: new device strings: Mfr=1, Product=2, SerialNumber=0 usb 2-1.2: Product: 802.11g WLAN usb 2-1.2: Manufacturer: Ralink usb 2-1.2: uevent usb 2-1.2: device is bus-powered usb 2-1.2: configuration #1 chosen from 1 choice usb 2-1.2: adding 2-1.2:1.0 (config #1, interface 0) usb 2-1.2:1.0: uevent drivers/usb/core/inode.c: creating file '005' hub 2-1:1.0: port 3, status 0301, change 0001, 1.5 Mb/s hub 2-1:1.0: debounce: port 3: total 100ms stable 100ms status 0x301 usb 2-1.3: new low speed USB device using uhci_hcd and address 6 usb 2-1.3: default language 0x0409 usb 2-1.3: new device found, idVendor=0bc7, idProduct=0006 usb 2-1.3: new device strings: Mfr=1, Product=2, SerialNumber=0 usb 2-1.3: Product: RF receiver usb 2-1.3: Manufacturer: X10 WTI usb 2-1.3: uevent usb 2-1.3: device is bus-powered usb 2-1.3: configuration #1 chosen from 1 choice usb 2-1.3: adding 2-1.3:1.0 (config #1, interface 0) usb 2-1.3:1.0: uevent drivers/usb/core/inode.c: creating file '006' hub 2-1:1.0: state 7 ports 4 chg 0000 evt 0008 ati_remote 2-1.3:1.0: usb_probe_interface ati_remote 2-1.3:1.0: usb_probe_interface - got id input: X10 WTI RF receiver as /class/input/input3 usbcore: registered new driver ati_remote drivers/usb/input/ati_remote.c: Registered USB driver ATI/X10 RF USB Remote Control v. 2.2.1 drivers/usb/input/ati_remote.c: Weird data, len=1 ff 00 00 00 00 00 ... It looks like an autonegotiation problem from where I'm sitting, but as I haven't done any kernel development I am realy just guessing... Is there any way to, say, ignore this bad, *bad* port 2 on hub 5?
Booted again with USB harddisk attached. Connected USB keyboard/mouse after bootup. This is the contents of /dev/bus/usb/005: 20:40 dualpc:~ # ls -l /dev/bus/usb/005 totalt 0 drwxr-xr-x 2 root root 140 2006-10-16 22:10 . drwxr-xr-x 7 root root 140 2006-10-16 22:06 .. crw-r--r-- 1 root root 189, 512 2006-10-16 22:06 001 crw-r--r-- 1 root root 189, 513 2006-10-16 22:06 002 crw-rw-r--+ 1 root root 189, 514 2006-10-16 22:06 003 crw-r--r-- 1 root root 189, 515 2006-10-16 22:09 004 crw-rw-r--+ 1 root root 189, 520 2006-10-16 22:10 009
I was wrong before. The trouble-causing device is the internal hub (from Genesys Logic) connected to the X10 device and the Wifi controller. You probably can't disconnect that without mutilating your motherboard. But maybe you can disable those devices in the BIOS. If you can't, here is an experimental patch which might help a little: http://marc.theaimsgroup.com/?l=linux-usb-devel&m=116005765229549&w=2 By the way, when you want to add large listings into the bug report, you should attach them instead of pasting them into a Comment section. Your single comment #16 doubled the length of the entire report, making it a lot harder to read.
Sorry about the long post. I'll do my best to not do that again. I've tried the patch. It applied cleanly to my SUSE 2.6.16.21 kernel, but upon reboot I don't see the new 'file' in /sys/class: 19:58 dualpc:/usr/src/linux # ls /sys/class/ . bluetooth graphics ieee1394 ieee1394_node input misc pci_bus scsi_device scsi_host spi_master usb usb_host video4linux .. dma i2c-adapter ieee1394_host ieee1394_protocol mem net printer scsi_generic sound tty usb_device vc I did this: patch -p1 < ../usbhub-ignore.diff make -C /lib/modules/$(uname -r)/source M=drivers/usb/ clean make -C /lib/modules/$(uname -r)/source M=drivers/usb/ make -C /lib/modules/$(uname -r)/source M=drivers/usb/ modules_install Everything USB should be compiled as modules already so is this an udev thing? I cannot disable any of the internal USB units in the BIOS. I can only toggle between 2.0 and 1.1 in a general way and that would leave me with a USB HDD with a maximum transferspeed of about 1 MB.. Not liking that... /Martin.
You didn't say what directory you were in when you issued the "patch" command. Unless it was the directory containing your current kernel's source (in which case the "-C /lib/modules/$(uname -r)/source" was unnecessary), you ended up compiling a different kernel from the one you patched. And if you have an initramdisk image containing the usbcore module, it would need to be updated as well. Basically the only reason for /sys/class/usb_hub not showing up is that you did not end up booting the kernel with the patch.
That is odd... I was in /usr/src/linux which *is* linked to the running kernel.. lrwxrwxrwx 1 root root 20 2006-10-14 18:42 linux -> linux-2.6.16.21-0.25 21:25 dualpc:/usr/src # uname -a Linux dualpc 2.6.16.21-0.25-smp #1 SMP Sun Oct 15 17:59:38 CEST 2006 x86_64 x86_64 x86_64 GNU/Linux I just used that syntax as it worked well with my modified medion_remote module and hoped I could skip a full 'make modules' (and I could). I now have about 3 2.6.16.21 kernels and I've booted each of them. Tried make bzImage again and it seems it's now 1 byte smaller. Trying one last boot today... 21:33 dualpc:/usr/src/linux # ls -l /lib/modules/2.6.16.21-0.25-smp/kernel/drivers/usb/core/ totalt 232 drwxr-xr-x 2 root root 80 2006-10-15 19:08 . drwxr-xr-x 14 root root 360 2006-10-15 19:08 .. -rw-r--r-- 1 root root 235476 2006-10-15 19:01 usbcore.ko Hmm.. That should have been today... Okay then... Trying again after cleaning out the modules... 21:35 dualpc:/usr/src/linux-2.6.16.21-0.25 # make M=drivers/usb/ 21:38 dualpc:/usr/src/linux-2.6.16.21-0.25 # ls -l /lib/modules/2.6.16.21-0.25-smp/kernel/drivers/usb/core/ totalt 232 drwxr-xr-x 2 root root 80 2006-10-15 19:08 . drwxr-xr-x 14 root root 360 2006-10-15 19:08 .. -rw-r--r-- 1 root root 235476 2006-10-15 19:01 usbcore.ko 21:38 dualpc:/usr/src/linux-2.6.16.21-0.25 # ls -l drivers/usb/core/usbcore.ko -rw-r--r-- 1 root root 237064 2006-10-17 21:37 drivers/usb/core/usbcore.ko Hmm.. modules_install doesn't seem to work when invoked like this. Copying usbcore manually. 21:38 dualpc:/usr/src/linux-2.6.16.21-0.25 # cp drivers/usb/core/usbcore.ko /lib/modules/2.6.16.21-0.25-smp/kernel/drivers/usb/core/ /bin/cp: overskriv '/lib/modules/2.6.16.21-0.25-smp/kernel/drivers/usb/core/usbcore.ko'? y 21:40 dualpc:/usr/src/linux-2.6.16.21-0.25 # depmod -a And now for the reboot. Here's hoping! Well well well! It still takes forever to boot but at least I can get the system to quiet down afterwards now: 21:58 dualpc:../usb_hub/usbhub5.2 # cat ignore 2 I first tried usbhub5.1 but that didn't help any. 21:58 dualpc:/sys/class/usb_hub # ls . .. usbhub1.1 usbhub2.1 usbhub3.1 usbhub4.1 usbhub5.1 usbhub5.2 Now I just need to remove the debugging again, but the port thing is now mute: 21:58 dualpc:/sys/class/usb_hub # dmesg ... usb-storage: -- transfer complete usb-storage: Bulk status result = 0 usb-storage: Bulk Status S 0x53425355 T 0x403 R 0 Stat 0x0 usb-storage: scsi cmd done, result=0x0 usb-storage: *** thread sleeping. My logs were growing very big very fast!! Now that I can actually do a 'lsusb' with ehci loaded this is the result: Bus 005 Device 011: ID 0bc7:0006 X10 Wireless Technology, Inc. Bus 005 Device 006: ID 0dbf:9001 Quik Tech Solutions Bus 005 Device 002: ID 05e3:0606 Genesys Logic, Inc. Bus 005 Device 001: ID 0000:0000 Bus 005 Device 003: ID 0d8c:5200 C-Media Electronics, Inc. Bus 001 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 004 Device 002: ID 1131:1001 Integrated System Solution Corp. KY-BT100 Bluetooth Adapter Bus 004 Device 001: ID 0000:0000 Bus 003 Device 002: ID 04f2:0420 Chicony Electronics Co., Ltd Bus 003 Device 001: ID 0000:0000 The Chicony is the keyboard. The Quik Tech Solutions thing is apparently my external USB disk...
It works wonders the the load on the system, too! Is there any way I can pass this along from grub so I don't have to wait through 5-10 minutes of bad cables? sort of a 'usbcore.hub_ignore=5.2:2' ?
No, unfortunately this can't be set at boot time. What you can do is edit the startup scripts (typically in /etc/rc.d), find the part where udev starts up, and then shortly after that do the write. Remember to leave a time delay long enough for /sys/class/usb_hub to be populated.
Okay. I have make a simple script to echo 2 into usbhub5.2/ignore and set it to be the last 'boot' action of the system: lrwxrwxrwx 1 root root 16 2006-05-24 19:12 S12boot.ipconfig -> ../boot.ipconfig lrwxrwxrwx 1 root root 22 2006-10-17 23:47 S99boot.fixusb -> /usr/local/bin/fix-usb 23:47 dualpc:/etc/init.d/boot.d # I'll see if this is a good location when I can safely reboot again (wouldn't want to miss a MythTV recording now, would I?) :)
I hope this patch or one like it gets into the kernel proper. It would be nice if it would automatically ignore a port if it has retried it 50 times.
I will submit something like it, but it won't appear in the standard kernel until 2.6.20 or later. We can't just start ignoring a port after 50 retries. You'd be in trouble when you plugged a device in for the 51st time. We could arrange to ignore a port if 50 retries occur during a 1-minute period. (Or 10 retries during 10 seconds.) But this would require keeping track of timeouts and retry counts for each port separately, which is a lot of work for a pretty uncommon problem.
Okay. I don't suppose there is anything that could be done to make that Genesys Logic thing *work*? If it is the cardreader, it functions just fine in Windows, but it may have a non-standard way of presenting itself... (Although I should probably test that it is still the case. Haven't used any of from for months and Windows only sees the light of day 5-10 times a year, usually...
It isn't the card reader. Read your "lsusb -v" output and re-read Comment #18. The Genesys Logic device is an internal hub, connected to the X10 and Wifi devices. I don't know why it isn't working, nor what can be done to make it work.