Most recent kernel where this bug did not occur: 2.6.18-4-686 and up Distribution: Debian etch Hardware Environment: Pentium III SMP Software Environment: debian etch Problem Description: copy of mail send to "linux-kernel<at>vger.kernel.org": Dear Kernel Developers, I had some trouble with my usb devices, often showing a disconnect problem. I did some googleing and saw, that it is a less or more common problem. This problem is discussed in various internet sites. log from my machine: ############################# usb 4-6: new high speed USB device using ehci_hcd and address 7 usb 4-6: configuration #1 chosen from 1 choice hub 4-6:1.0: USB hub found hub 4-6:1.0: 4 ports detected usb 4-6.1: new full speed USB device using ehci_hcd and address 8 usb 4-6.1: device descriptor read/64, error -32 usb 4-6.1: device descriptor read/64, error -32 usb 4-6.1: new full speed USB device using ehci_hcd and address 9 usb 4-6.1: device descriptor read/64, error -110 usb 4-6.1: device descriptor read/64, error -110 usb 4-6.1: new full speed USB device using ehci_hcd and address 10 usb 4-6.1: device not accepting address 10, error -32 usb 4-6.1: new full speed USB device using ehci_hcd and address 11 usb 4-6.1: device not accepting address 11, error -71 usb 4-6: USB disconnect, address 7 usb 4-6: new high speed USB device using ehci_hcd and address 12 usb 4-6: configuration #1 chosen from 1 choice hub 4-6:1.0: USB hub found hub 4-6:1.0: 4 ports detected usb 4-6.1: new full speed USB device using ehci_hcd and address 13 usb 4-6.1: device descriptor read/64, error -32 usb 4-6.1: device descriptor read/64, error -32 usb 4-6.1: new full speed USB device using ehci_hcd and address 14 usb 4-6.1: device descriptor read/64, error -110 usb 4-6.1: device descriptor read/64, error -71 usb 4-6.1: new full speed USB device using ehci_hcd and address 15 usb 4-6.1: device not accepting address 15, error -71 usb 4-6.1: new full speed USB device using ehci_hcd and address 16 usb 4-6.1: device not accepting address 16, error -71 usb 4-6.1: new full speed USB device using ehci_hcd and address 17 usb 4-6.1: configuration #1 chosen from 1 choice SCSI subsystem initialized Initializing USB Mass Storage driver... scsi0 : SCSI emulation for USB Mass Storage devices usbcore: registered new driver usb-storage usb-storage: device found at 17 usb-storage: waiting for device to settle before scanning USB Mass Storage support registered. Vendor: Model: USB Card Reader Rev: 1.05 Type: Direct-Access ANSI SCSI revision: 00 Vendor: Model: USB Card Reader Rev: 1.05 Type: Direct-Access ANSI SCSI revision: 00 Vendor: Model: USB Card Reader Rev: 1.05 Type: Direct-Access ANSI SCSI revision: 00 Vendor: Model: USB Card Reader Rev: 1.05 Type: Direct-Access ANSI SCSI revision: 00 usb-storage: device scan complete sd 0:0:0:0: Attached scsi removable disk sda sd 0:0:0:1: Attached scsi removable disk sdb sd 0:0:0:2: Attached scsi removable disk sdc sd 0:0:0:3: Attached scsi removable disk sdd usb 4-6.1: reset full speed USB device using ehci_hcd and address 17 usb 4-6.1: reset full speed USB device using ehci_hcd and address 17 usb 4-6.1: reset full speed USB device using ehci_hcd and address 17 usb 4-6.1: reset full speed USB device using ehci_hcd and address 17 usb 4-6.1: reset full speed USB device using ehci_hcd and address 17 usb 4-6.1: reset full speed USB device using ehci_hcd and address 17 usb 4-6.1: reset full speed USB device using ehci_hcd and address 17 usb 4-6.1: reset full speed USB device using ehci_hcd and address 17 usb 4-6.1: USB disconnect, address 17 ######################### I have a solution/hint to solve this problem. In my case I had following NOT WORKING config: internal USB-Card PCI --> USB Hub --> Card Reader ( ali usb card, i-rocks hub, Phision cardreader) 00:08.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03) 00:08.1 USB Controller: ALi Corporation USB 1.1 Controller (rev 03) 00:08.2 USB Controller: ALi Corporation USB 1.1 Controller (rev 03) 00:08.3 USB Controller: ALi Corporation USB 2.0 Controller (rev 01) linux sets it up using: ehci --> ehci --> ehci (total usb 2.0 support) Bus 004 Device 028: ID 0d7d:0240 Phison Electronics Corp. I/O-Magic/Transcend 6-in-1 Card Reader Bus 004 Device 027: ID 05e3:0605 Genesys Logic, Inc. USB 2.0 Hub [ednet] but only the hub is a usb 2.0 compliant product. the card-reader is usb 1.1!! So i changed physically the hub back to a 1.1 device. and now linux sets this to ohci --> ohci --> ohci Bus 003 Device 011: ID 0d7d:0240 Phison Electronics Corp. I/O-Magic/Transcend 6-in-1 Card Reader Bus 003 Device 010: ID 03eb:3301 Atmel Corp. at43301 4-port Hub And this configuration works perfect, without any trouble any more. So in my opinion the problem is comming from ehci, which tries to set up a usb 1.1 device in a 2.0 mode. this results in severe timing problems, because the 1.1 device is too slow to handle this protocol, this results in a "dead" device from the point of view of the driver (no reaction). It disconnects the device and reconnects it again. It is only a problem, if you use a HUB between the USB Controller and the end device. I think we have to take care about the last device in the chain to set it up in the correct way. It seems, that ehci does not fall back to 1.1 mode, if necessary. now log looks like this (and I am happy): ######################## usb 3-1: USB disconnect, address 8 ohci_hcd 0000:00:08.2: wakeup usb 3-2: new full speed USB device using ohci_hcd and address 9 usb 3-2: configuration #1 chosen from 1 choice drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 9 if 1 alt 0 proto 2 vid 0x03F0 pid 0x2D11 usbcore: registered new driver usblp drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver usb 3-1: new full speed USB device using ohci_hcd and address 10 usb 3-1: configuration #1 chosen from 1 choice hub 3-1:1.0: USB hub found hub 3-1:1.0: 4 ports detected usb 3-1.2: new full speed USB device using ohci_hcd and address 11 usb 3-1.2: configuration #1 chosen from 1 choice scsi2 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 11 usb-storage: waiting for device to settle before scanning Vendor: Model: USB Card Reader Rev: 1.05 Type: Direct-Access ANSI SCSI revision: 00 sd 2:0:0:0: Attached scsi removable disk sda Vendor: Model: USB Card Reader Rev: 1.05 Type: Direct-Access ANSI SCSI revision: 00 sd 2:0:0:1: Attached scsi removable disk sdb Vendor: Model: USB Card Reader Rev: 1.05 Type: Direct-Access ANSI SCSI revision: 00 sd 2:0:0:2: Attached scsi removable disk sdc Vendor: Model: USB Card Reader Rev: 1.05 Type: Direct-Access ANSI SCSI revision: 00 sd 2:0:0:3: Attached scsi removable disk sdd usb-storage: device scan complete SCSI device sda: 510976 512-byte hdwr sectors (262 MB) sda: Write Protect is off sda: Mode Sense: 43 00 00 00 sda: assuming drive cache: write through SCSI device sda: 510976 512-byte hdwr sectors (262 MB) sda: Write Protect is off sda: Mode Sense: 43 00 00 00 sda: assuming drive cache: write through sda: sda1 ############################## I hope, that this will help you to work on this point. Chears & have a nice day. Steps to reproduce: change usb hub 2.0 against 1.1 and vice versa
2.6.18 is a little old. Is it repeatable on later kernels? Ideally 2.6.22-rc5? Thanks.
Dear developers, additional information from me an Martin Dauskart md001 <at> gmx.de: Martin tried: unload ehci-hcd module wait a moment load ehci-hcd by hand --> works I just tried: unplug 1.1 HUB plug 2.0 HUB plug card reader --> works But if you reboot then, the problem comes up again. I tried it with etch available kernels, latest kernel: Linux 2.6.21-1-686 #1 SMP from backorts.org on original etch System. So the next hint seems to be at the initialization procedure within cold plug. Hot Plugging seems to have no problem. Chears & have a nice day. Wolfgang PS: Keep Martin on CC.
Excuse me, but it is in fact not working. Here the snippet from log: usb 3-1: USB disconnect, address 4 usb 3-1.1: USB disconnect, address 6 usb 4-5: new high speed USB device using ehci_hcd and address 4 usb 4-5: configuration #1 chosen from 1 choice hub 4-5:1.0: USB hub found hub 4-5:1.0: 4 ports detected usb 4-5.1: new full speed USB device using ehci_hcd and address 5 usb 4-5.1: configuration #1 chosen from 1 choice scsi1 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 5 usb-storage: waiting for device to settle before scanning usb-storage: device scan complete scsi 1:0:0:0: Direct-Access USB Card Reader 1.05 PQ: 0 ANSI: 0 CCS scsi 1:0:0:1: Direct-Access USB Card Reader 1.05 PQ: 0 ANSI: 0 CCS scsi 1:0:0:2: Direct-Access USB Card Reader 1.05 PQ: 0 ANSI: 0 CCS scsi 1:0:0:3: Direct-Access USB Card Reader 1.05 PQ: 0 ANSI: 0 CCS sd 1:0:0:0: Attached scsi removable disk sda sd 1:0:0:1: Attached scsi removable disk sdb sd 1:0:0:2: Attached scsi removable disk sdc sd 1:0:0:3: Attached scsi removable disk sdd SCSI device sda: 510976 512-byte hdwr sectors (262 MB) sda: Write Protect is off sda: Mode Sense: 43 00 00 00 sda: assuming drive cache: write through SCSI device sda: 510976 512-byte hdwr sectors (262 MB) sda: Write Protect is off sda: Mode Sense: 43 00 00 00 sda: assuming drive cache: write through sda: sda1 usb 4-5.1: reset full speed USB device using ehci_hcd and address 5 usb 4-5.1: reset full speed USB device using ehci_hcd and address 5
New additional Comment: I just made a new Kernel from 2.6.22-rc5: Here is the result from dmesg: usb 3-1: USB disconnect, address 2 usb 3-1.1: USB disconnect, address 4 usb 4-5: new high speed USB device using ehci_hcd and address 4 usb 4-5: configuration #1 chosen from 1 choice hub 4-5:1.0: USB hub found hub 4-5:1.0: 4 ports detected usb 4-5: USB disconnect, address 4 usb 4-5: new high speed USB device using ehci_hcd and address 5 usb 4-5: configuration #1 chosen from 1 choice hub 4-5:1.0: USB hub found hub 4-5:1.0: 4 ports detected usb 4-5.1: new full speed USB device using ehci_hcd and address 6 usb 4-5.1: configuration #1 chosen from 1 choice scsi1 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 6 usb-storage: waiting for device to settle before scanning usb-storage: device scan complete scsi 1:0:0:0: Direct-Access USB Card Reader 1.05 PQ: 0 ANSI: 0 CCS scsi 1:0:0:1: Direct-Access USB Card Reader 1.05 PQ: 0 ANSI: 0 CCS scsi 1:0:0:2: Direct-Access USB Card Reader 1.05 PQ: 0 ANSI: 0 CCS scsi 1:0:0:3: Direct-Access USB Card Reader 1.05 PQ: 0 ANSI: 0 CCS sd 1:0:0:0: [sda] Attached SCSI removable disk sd 1:0:0:1: [sdb] Attached SCSI removable disk sd 1:0:0:2: [sdc] Attached SCSI removable disk sd 1:0:0:3: [sdd] Attached SCSI removable disk sd 1:0:0:0: [sda] 510976 512-byte hardware sectors (262 MB) sd 1:0:0:0: [sda] Write Protect is off sd 1:0:0:0: [sda] Mode Sense: 43 00 00 00 sd 1:0:0:0: [sda] Assuming drive cache: write through sd 1:0:0:0: [sda] 510976 512-byte hardware sectors (262 MB) sd 1:0:0:0: [sda] Write Protect is off sd 1:0:0:0: [sda] Mode Sense: 43 00 00 00 sd 1:0:0:0: [sda] Assuming drive cache: write through sda: sda1 usb 4-5.1: reset full speed USB device using ehci_hcd and address 6 usb 4-5.1: device descriptor read/64, error -32 As Martin Dauskadt told me, he has the same problem with this kernel version(s). The problem occurs exactly, when you want to write or read to or from an USB mass storage device. Not whe you just plug in the device. In my case you must have a card inserted to the card reader, mount it and read/write to it. You are totally right, the HUB has to swith to right USB subersion. KDE controlcenter tells me, that on the ehci module is a HUB in version 2.0 is used, and the card reader is USB 1.0. #################################### exact lsusb output for both devices: Card-Reader: Bus 004 Device 006: ID 0d7d:0240 Phison Electronics Corp. I/O-Magic/Transcend 6-in-1 Card Reader Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0d7d Phison Electronics Corp. idProduct 0x0240 I/O-Magic/Transcend 6-in-1 Card Reader bcdDevice 1.00 iManufacturer 1 iProduct 2 USB Reader iSerial 3 03260800060C 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 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk (Zip) 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 255 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 255 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 1 Device Status: 0x0000 (Bus Powered) ########################## the HUB: Bus 004 Device 005: ID 05e3:0605 Genesys Logic, Inc. USB 2.0 Hub [ednet] Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x05e3 Genesys Logic, Inc. idProduct 0x0605 USB 2.0 Hub [ednet] bcdDevice 6.0b 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 Full speed (or root) hub 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 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 4 wHubCharacteristic 0x00e9 Per-port power switching Per-port overcurrent protection TT think time 32 FS bits Port indicators bPwrOn2PwrGood 50 * 2 milli seconds bHubContrCurrent 100 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0103 power enable connect Port 2: 0000.0100 power Port 3: 0000.0100 power 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 0 Full speed (or root) hub bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0003 Self Powered Remote Wakeup Enabled ######################## the PCI card: Bus 004 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x0000 idProduct 0x0000 bcdDevice 2.06 iManufacturer 3 Linux 2.6.22-rc5 ehci_hcd iProduct 2 EHCI Host Controller iSerial 1 0000:00:08.3 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub 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 0x0004 1x 4 bytes bInterval 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 6 wHubCharacteristic 0x0009 Per-port power switching Per-port overcurrent protection TT think time 8 FS bits bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0100 power Port 3: 0000.0100 power Port 4: 0000.0100 power Port 5: 0000.0503 highspeed power enable connect Port 6: 0000.0100 power Device Status: 0x0003 Self Powered Remote Wakeup Enabled
New Actions: I bought a USB 2.0 cardReader. Here is what happend: usb 1-5: USB disconnect, address 17 usb 1-5.1: USB disconnect, address 20 usb 1-5: new high speed USB device using ehci_hcd and address 21 usb 1-5: configuration #1 chosen from 1 choice hub 1-5:1.0: USB hub found hub 1-5:1.0: 4 ports detected hub 1-5:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-5:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-5:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-5:1.0: Cannot enable port 1. Maybe the USB cable is bad? usb 1-5.1: new high speed USB device using ehci_hcd and address 26 usb 1-5.1: configuration #1 chosen from 1 choice scsi8 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 26 usb-storage: waiting for device to settle before scanning Vendor: Generic Model: IC1210 CF Rev: 1.9E Type: Direct-Access ANSI SCSI revision: 00 sd 8:0:0:0: Attached scsi removable disk sda Vendor: Generic Model: IC1210 MS Rev: 1.9E Type: Direct-Access ANSI SCSI revision: 00 sd 8:0:0:1: Attached scsi removable disk sdb Vendor: Generic Model: IC1210 MMC/SD Rev: 1.9E Type: Direct-Access ANSI SCSI revision: 00 usb 1-5.1: reset high speed USB device using ehci_hcd and address 26 sd 8:0:0:2: Attached scsi removable disk sdc Vendor: Generic Model: IC1210 SM Rev: 1.9E Type: Direct-Access ANSI SCSI revision: 00 sd 8:0:0:3: Attached scsi removable disk sdd usb-storage: device scan complete usb 1-5.1: reset high speed USB device using ehci_hcd and address 26 usb 1-5.1: reset high speed USB device using ehci_hcd and address 26 output of lsusb: Bus 004 Device 003: ID 03f0:2d11 Hewlett-Packard OfficeJet 6110 Bus 004 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 001 Device 026: ID 0dda:2026 Integrated Circuit Solution, Inc. Bus 001 Device 021: ID 05e3:0605 Genesys Logic, Inc. USB 2.0 Hub [ednet] Bus 001 Device 001: ID 0000:0000
Created attachment 12776 [details] debug logfile usb.log with usb2.0 only devices and kernel 2.6.22.6 Dear kerneldevelopers, please find the usb debug log file from my computer. Test Case: Only usb 2.0 devices, 1 hub and 1 card reader (only ehci driver is used). After 2 seconds the devices are disconnected from the hub, resetting the usb-storage devices. I tried this without the hub, directly attaching the card reader to the hub. This behaves in the same manner. Additionaly I tried to connect a usb stick to the hub, this shows the same behaviour either. So my proposal is, that probably something is wrong in usb storage code. Chears Wolfgang
Created attachment 12789 [details] kernel 2.6.22.6 complete debug log usb storage Hi, again a complete log from my computer with kernele 2.6.22.6 and usb-storage. Further details: It seems, that the problem only occurs, when a media is inserted in the card reader. I tried to copy a 10 MB file to a 32 MB CF Card. Copy to the card was succesfull, then I want to list and delete it for test purposes. List was successful, between list and typing delete .... the error occurs. I copied the whole /var/log/debug to this file. If it is usefull, I can add dmesg output too. Chears Wolfgang
Should now be working in 2.6.30 kernel versions. If not, please bring it up on the linux-usb@vger.kernel.org mailing list.