Bug 12147

Summary: usb doesn't work any more
Product: Drivers Reporter: Zhang Rui (rui.zhang)
Component: USBAssignee: Greg Kroah-Hartman (greg)
Status: REJECTED INVALID    
Severity: normal CC: stern
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: all Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 56331    
Attachments: lspci
lsusb -v
dmesg
usbmon output.
usbmon output. all ports work perfectly

Description Zhang Rui 2008-12-02 18:23:22 UTC
usb used to work well.
But one day, after I inserted a USB key, every USB devices(keyboard, mouse) stopped working.
Then I tried reboot, BIOS reset, upgrading to the latest kernel, but nothing helped.
And now, I got
[43747.706029] hub 2-0:1.0: connect-debounce failed, port 5 disabled
[43749.266027] hub 2-0:1.0: connect-debounce failed, port 6 disabled
in my dmesg output every 2/3 seconds.
don't know if this is a hardware or software problem. :(
Comment 1 Zhang Rui 2008-12-02 18:24:31 UTC
Created attachment 19110 [details]
lspci
Comment 2 Zhang Rui 2008-12-02 18:31:29 UTC
Created attachment 19111 [details]
lsusb -v

# time lsusb -v >lsusb

real	2m1.764s
user	0m0.031s
sys	0m0.005s
Comment 3 Zhang Rui 2008-12-02 18:37:30 UTC
Created attachment 19113 [details]
dmesg
Comment 4 Zhang Rui 2008-12-02 18:43:38 UTC
#ls /sys/bus/pci/drivers
agpgart-ali       agpgart-intel        ahci      HDA Intel        yenta_cardbus
agpgart-amd64     agpgart-nvidia       ata_piix  ohci_hcd
agpgart-amdk7     agpgart-serverworks  e1000e    pcieport-driver
agpgart-ati       agpgart-sis          ehci_hcd  serial
agpgart-efficeon  agpgart-via          enic      uhci_hcd
# ls /sys/bus/usb/drivers/
hiddev  hub  usb  usbfs  usbhid

and when I inserted a usb keyboard, I only got this in the dmesg:
 447.324021] hub 2-0:1.0: connect-debounce failed, port 5 disabled
[  448.466034] hub 2-0:1.0: unable to enumerate USB device on port 6
[  449.230034] hub 2-0:1.0: unable to enumerate USB device on port 5
[  449.572035] hub 2-0:1.0: unable to enumerate USB device on port 6
[  450.044033] hub 2-0:1.0: unable to enumerate USB device on port 5
[  450.620034] hub 2-0:1.0: unable to enumerate USB device on port 6
[  451.644036] hub 2-0:1.0: unable to enumerate USB device on port 5
[  452.168031] hub 2-0:1.0: unable to enumerate USB device on port 6
[  452.718029] hub 2-0:1.0: unable to enumerate USB device on port 5
[  454.287275] hub 2-0:1.0: connect-debounce failed, port 6 disabled
[  454.519027] hub 2-0:1.0: unable to enumerate USB device on port 5
[  455.101033] hub 2-0:1.0: unable to enumerate USB device on port 6
[  455.625284] hub 2-0:1.0: unable to enumerate USB device on port 5
[  456.409037] hub 2-0:1.0: unable to enumerate USB device on port 6
[  456.937033] hub 2-0:1.0: unable to enumerate USB device on port 5
....
Comment 5 Greg Kroah-Hartman 2008-12-02 22:06:52 UTC
On Tue, Dec 02, 2008 at 06:23:22PM -0800, bugme-daemon@bugzilla.kernel.org wrote:
> usb used to work well.

What version worked.

> But one day, after I inserted a USB key, every USB devices(keyboard, mouse)
> stopped working.

What version stopped working?

> Then I tried reboot, BIOS reset, upgrading to the latest kernel, but nothing
> helped.
> And now, I got
> [43747.706029] hub 2-0:1.0: connect-debounce failed, port 5 disabled
> [43749.266027] hub 2-0:1.0: connect-debounce failed, port 6 disabled

Is this the port where you plugged your device into?
Comment 6 Zhang Rui 2008-12-02 23:40:26 UTC
(In reply to comment #5)
> On Tue, Dec 02, 2008 at 06:23:22PM -0800, bugme-daemon@bugzilla.kernel.org
> wrote:
> > usb used to work well.
> 
> What version worked.
> 
2.6.25

> > But one day, after I inserted a USB key, every USB devices(keyboard, mouse)
> > stopped working.
> 
> What version stopped working?
> 
2.6.25.
I tried 2.6.28-rc7 but no luck.
it worked well until I plugged the usb key. :(

> > Then I tried reboot, BIOS reset, upgrading to the latest kernel, but
> nothing
> > helped.
> > And now, I got
> > [43747.706029] hub 2-0:1.0: connect-debounce failed, port 5 disabled
> > [43749.266027] hub 2-0:1.0: connect-debounce failed, port 6 disabled
> 
> Is this the port where you plugged your device into?
> 
No.
Comment 7 Alan Stern 2008-12-03 13:33:09 UTC
It looks like a hardware error.  To get more information, use usbmon (see Documentation/usb/usbmon.txt for instructions) to trace what happens when you plug in a USB device.
Comment 8 Zhang Rui 2008-12-03 21:19:38 UTC
(In reply to comment #7)
> It looks like a hardware error.
bad news. :(

> To get more information, use usbmon (see
> Documentation/usb/usbmon.txt for instructions) to trace what happens when you
> plug in a USB device.
> 
seems that the doc is out of date?
I can not find /sys/kernel/debug/usbmon.

# find /sys/ -name usbmon
/sys/devices/virtual/usbmon
/sys/devices/pci0000:00/0000:00:1a.0/usbmon
/sys/devices/pci0000:00/0000:00:1a.1/usbmon
/sys/devices/pci0000:00/0000:00:1a.7/usbmon
/sys/devices/pci0000:00/0000:00:1d.0/usbmon
/sys/devices/pci0000:00/0000:00:1d.1/usbmon
/sys/devices/pci0000:00/0000:00:1d.2/usbmon
/sys/devices/pci0000:00/0000:00:1d.7/usbmon
/sys/class/usbmon

# cat .config | grep DEBUG_FS
CONFIG_DEBUG_FS=y
# cat .config | grep USB_MON
CONFIG_USB_MON=y
Comment 9 Greg Kroah-Hartman 2008-12-03 21:35:17 UTC
You need to mount debugfs:
  mount -t debugfs none /sys/kernel/debug/
as root.
Comment 10 Zhang Rui 2008-12-03 21:54:40 UTC
Created attachment 19142 [details]
usbmon output.

plugged and unplugged a USB keyboard in two different ports.
Comment 11 Alan Stern 2008-12-04 08:11:54 UTC
It's like I thought.  The log shows the connect-change flag on ports 5 and 6 constantly turning back on.  A USB device tells the host it is connected by connecting a +5V pullup resistor to the D- data line (for low-speed devices like a keyboard).  Perhaps the pins in the connector aren't making a good contact so the voltage swings up and then back down over a period around 100 ms.  Or maybe some other fault in the electronics causes an equivalent effect.

If no USB devices work in your computer, but they do work okay in other computers, then there's no doubt your computer is broken.
Comment 12 Zhang Rui 2008-12-04 17:16:50 UTC
well, really bad news. :(
thanks for your effort, greg and alan.
Comment 13 Zhang Rui 2008-12-09 21:47:09 UTC
I tried to boot windows on this box.
Then all the usb ports start to work again!!!
And now I switch it back to Linux and write this message with an usb keyboard. :p
it seems that the windows usb driver is doing something magic?
Comment 14 Zhang Rui 2008-12-09 21:51:16 UTC
Created attachment 19237 [details]
usbmon output. all ports work perfectly
Comment 15 Alan Stern 2008-12-10 07:17:51 UTC
I don't know.  Does it still work if you cold-boot directly into Linux?
Comment 16 Zhang Rui 2008-12-10 16:48:23 UTC
yes.
Comment 17 Alan Stern 2008-12-11 07:06:40 UTC
Then I guess your hardware has miraculously healed itself.  Whether this had anything to do with running Windows... who knows?