Bug 8444

Summary: 16GB USB Stick not working
Product: Drivers Reporter: Martin Bammer (mrb74)
Component: USBAssignee: Greg Kroah-Hartman (greg)
Status: CLOSED PATCH_ALREADY_AVAILABLE    
Severity: normal CC: stern
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.21.1 Subsystem:
Regression: --- Bisected commit-id:
Attachments: usbmon output
Increase the initial device-descriptor-fetch timeout
Syslog output

Description Martin Bammer 2007-05-07 08:52:35 UTC
Distribution:
Debian Unstable

Hardware Environment:
Dell Precision 300

00:00.0 Host bridge: Intel Corporation 82955X Memory Controller Hub
00:01.0 PCI bridge: Intel Corporation 82955X PCI Express Root Port
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition
Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1
(rev 01)
00:1c.4 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI Express
Port 5 (rev 01)
00:1c.5 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI Express
Port 6 (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 SATA controller: Intel Corporation 82801GR/GH (ICH7 Family) Serial ATA
Storage Controller AHCI (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
01:00.0 VGA compatible controller: nVidia Corporation NV44 [Quadro NVS 285] (rev a1)
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5721 Gigabit
Ethernet PCI Express (rev 11)
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit
Ethernet PCI Express (rev 01)
05:02.0 FireWire (IEEE 1394): Agere Systems FW323 (rev 61)


Problem Description:
16GB version of the Corsair Flash Voyager isn't recognized.
dmesg output:
[  306.444319] hub 1-0:1.0: hub_suspend
[  306.444338] ehci_hcd 0000:00:1d.7: suspend root hub
[  306.444360] usb usb1: usb auto-suspend
[  310.697665] hub 1-0:1.0: state 8 ports 8 chg 0000 evt 0000
[  310.697673] usb usb1: usb auto-resume
[  310.697676] usb usb1: finish resume
[  310.697695] hub 1-0:1.0: hub_resume
[  310.697699] ehci_hcd 0000:00:1d.7: resume root hub
[  310.730267] ehci_hcd 0000:00:1d.7: GetStatus port 8 status 001803 POWER sig=j
CSC CONNECT
[  310.730279] hub 1-0:1.0: port 8, status 0501, change 0001, 480 Mb/s
[  310.850032] hub 1-0:1.0: debounce: port 8: total 100ms stable 100ms status 0x501
[  310.903505] ehci_hcd 0000:00:1d.7: port 8 high speed
[  310.903512] ehci_hcd 0000:00:1d.7: GetStatus port 8 status 001005 POWER
sig=se0 PE CONNECT
[  310.956516] usb 1-8: new high speed USB device using ehci_hcd and address 9
[  311.954802] usb 1-8: khubd timed out on ep0in len=0/64
[  312.896747] ehci_hcd 0000:00:1d.7: port 8 high speed
[  312.896756] ehci_hcd 0000:00:1d.7: GetStatus port 8 status 001005 POWER
sig=se0 PE CONNECT
[  312.949778] usb 1-8: device descriptor read/64, error -32
[  313.106392] ehci_hcd 0000:00:1d.7: port 8 high speed
[  313.106400] ehci_hcd 0000:00:1d.7: GetStatus port 8 status 001005 POWER
sig=se0 PE CONNECT
[  313.159438] usb 1-8: device descriptor read/64, error -32
[  313.316035] ehci_hcd 0000:00:1d.7: port 8 high speed
[  313.316043] ehci_hcd 0000:00:1d.7: GetStatus port 8 status 001005 POWER
sig=se0 PE CONNECT
[  313.369090] usb 1-8: new high speed USB device using ehci_hcd and address 10
[  313.422479] ehci_hcd 0000:00:1d.7: port 8 high speed
[  313.422486] ehci_hcd 0000:00:1d.7: GetStatus port 8 status 001005 POWER
sig=se0 PE CONNECT
[  313.475536] usb 1-8: device descriptor read/64, error -32
[  313.632123] ehci_hcd 0000:00:1d.7: port 8 high speed
[  313.632130] ehci_hcd 0000:00:1d.7: GetStatus port 8 status 001005 POWER
sig=se0 PE CONNECT
[  313.685176] usb 1-8: device descriptor read/64, error -32
[  313.841768] ehci_hcd 0000:00:1d.7: port 8 high speed
[  313.841776] ehci_hcd 0000:00:1d.7: GetStatus port 8 status 001005 POWER
sig=se0 PE CONNECT
[  313.894819] usb 1-8: new high speed USB device using ehci_hcd and address 11
[  314.300786] usb 1-8: device not accepting address 11, error -32
[  314.354273] ehci_hcd 0000:00:1d.7: port 8 high speed
[  314.354281] ehci_hcd 0000:00:1d.7: GetStatus port 8 status 001005 POWER
sig=se0 PE CONNECT
[  314.407277] usb 1-8: new high speed USB device using ehci_hcd and address 12
[  314.813259] usb 1-8: device not accepting address 12, error -32
[  314.813283] hub 1-0:1.0: state 7 ports 8 chg 0000 evt 0000
[  316.809938] hub 1-0:1.0: hub_suspend
[  316.809952] ehci_hcd 0000:00:1d.7: suspend root hub
[  316.809973] usb usb1: usb auto-suspend
[  345.712362] hub 1-0:1.0: state 8 ports 8 chg 0000 evt 0000
[  345.712370] usb usb1: usb auto-resume
[  345.712373] usb usb1: finish resume
[  345.712381] hub 1-0:1.0: hub_resume
[  345.712385] ehci_hcd 0000:00:1d.7: resume root hub
[  345.743656] ehci_hcd 0000:00:1d.7: GetStatus port 8 status 001002 POWER
sig=se0 CSC
[  345.743666] hub 1-0:1.0: port 8, status 0100, change 0001, 12 Mb/s
[  345.863435] hub 1-0:1.0: debounce: port 8: total 100ms stable 100ms status 0x100
[  345.863443] hub 1-0:1.0: state 7 ports 8 chg 0000 evt 0000
[  347.860016] hub 1-0:1.0: hub_suspend
[  347.860026] ehci_hcd 0000:00:1d.7: suspend root hub
[  347.860047] usb usb1: usb auto-suspend

I also tried kernel version 2.6.18.8. Same problem.
Comment 1 Martin Bammer 2007-05-07 08:53:17 UTC
Created attachment 11426 [details]
usbmon output
Comment 2 Alan Stern 2007-05-07 12:29:39 UTC
Sounds like the Flash Voyager device is broken.  Does it work with other computers?
Comment 3 Martin Bammer 2007-05-07 13:07:06 UTC
It works very well under Windows. Independent if it's broken or not, it should
work under Linux as well. Otherwise users would say Linux is shit because it's
not compatibel.
Comment 4 Alan Stern 2007-05-08 09:49:11 UTC
Created attachment 11436 [details]
Increase the initial device-descriptor-fetch timeout

Oh, okay.  You didn't mention before that it worked okay under Windows.

Try this patch for 2.6.21 and see if it makes any difference.
Comment 5 Martin Bammer 2007-05-10 04:00:18 UTC
Created attachment 11457 [details]
Syslog output

No sorry, patch doesn't work. usb-storage get's in an endless loop. Had to
remove the module to stop filling the logfile. Removing only the stick doesn't
stop logging usb-storage. Maybe this is a bug in module usb-storage.
Comment 6 Alan Stern 2007-05-10 08:49:00 UTC
Oh, no -- you're completely wrong.  The patch worked perfectly.  So did the
Flash Voyager, as far as I can tell.

To prevent the driver from filling up your logfile with all those messages, all
you have to do is turn off CONFIG_USB_STORAGE_DEBUG and rebuild the usb-storage
module.  Try doing that and then see if you can mount and read your stick.
Comment 7 Martin Bammer 2007-05-10 23:44:04 UTC
You are right. The debug output confused me and I had no time to check this
because I tried this at work. It's working now very well. Thanks for the quick
fix. I'm closing the bug now.