Am 01.03.2014 12:13, schrieb Richard Schütz:
Am 26.02.2014 22:41, schrieb Richard Schütz:Am 26.02.2014 16:31, schrieb Alan Stern:On Tue, 25 Feb 2014, Sarah Sharp wrote:On Tue, Feb 25, 2014 at 11:22:57PM +0100, Richard Sch�tz wrote:Hi everybody! I am experiencing a problem with my USB card reader and xHCI. Simply using dd to write an image to a SD card results in USB resets after a few seconds. Reading with dd or using cp after creating a filesystem on the card also triggers the issue but usually not as quick as writing to it with dd. All in all it is unusable. Sometimes these resets also happen immediately after connecting the reader. With EHCI everything just works fine.Did it ever work under xHCI? If so, which kernel version did it work on?Unfortunately I am not quite sure, if I ever used that reader with xHCI on this machine. If so, it was some time ago and I do not remember the kernel version anymore. At least with longterm kernel 3.10.32 it is broken, too.I'm Ccing the usb-storage developers, in case the usbmon trace provides some insight.It doesn't.usb 1-2: reset high-speed USB device number 19 using xhci_hcd xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8801b6837600 xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8801b6837640 sd 22:0:0:0: [sdb] Media Changed sd 22:0:0:0: [sdb] Result: hostbyte=0x00 driverbyte=0x08 sd 22:0:0:0: [sdb] Sense Key : 0x6 [current] Info fld=0x0 sd 22:0:0:0: [sdb] ASC=0x28 ASCQ=0x0 sd 22:0:0:0: [sdb] CDB: cdb[0]=0x28: 28 00 00 00 1d 20 00 00 08 00 end_request: I/O error, dev sdb, sector 7456 sd 22:0:0:0: [sdb] No Caching mode page found sd 22:0:0:0: [sdb] Assuming drive cache: write through sd 22:0:0:0: [sdb] No Caching mode page found sd 22:0:0:0: [sdb] Assuming drive cache: write through sdb: unknown partition tableIt might help you to turn on CONFIG_USB_STORAGE_DEBUG, to see which SCSI command is failing.CONFIG_USB_STORAGE_DEBUG is a lot less helpful for examining SCSI commands than a usbmon trace, because it includes lots of extraneous information. It's meant more for debugging the usb-storage driver itself than for debugging device problems. The command was an ordinary READ, same as a bunch of others that worked fine. And the failure occurred in the command phase, not the data phase: The host doesn't receive an ACK response to the CBW packet.Can you blacklist the usb-storage driver, and get the lsusb output when the device is plugged into a USB 3.0 port? I'd like to see the SuperSpeed Endpoint Companion Descriptor, to see what the Link PM U1/U2 timeout values are.Being a card reader, it is almost certainly a USB-2 device. This is backed up by the fact that it ran at high speed, not SuperSpeed, when connected to an xHCI controller. Therefore it doesn't have U1/U2 timeouts.The card reader itself is not a SuperSpeed device, but a Hi-Speed one that I am trying to use on a SuperSpeed port. Sorry for not pointing out that clearly enough.So, no clue what is going wrong here? Any advice how I could help debugging this further?
Today I noticed that this issue also affects my external harddrive. Kernel log with dynamic debugging activated for USB modules is attached. (Now gzipped - looks like the uncompressed version was to big for the linux-usb list. What is the size limit anyway?)
# lsusb -d 174c:55aa -vBus 002 Device 004: ID 174c:55aa ASMedia Technology Inc. ASMedia 2105 SATA bridge
Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 9 idVendor 0x174c ASMedia Technology Inc. idProduct 0x55aa ASMedia 2105 SATA bridge bcdDevice 1.00 iManufacturer 2 01234567890123456789012345678901234567890123 iProduct 3 External HDD iSerial 1 20130119076F bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 44 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk-Only 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 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 15 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 15 Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 22 bNumDeviceCaps 2 USB 2.0 Extension Device Capability: bLength 7 bDescriptorType 16 bDevCapabilityType 2 bmAttributes 0x00000002 Link Power Management (LPM) Supported SuperSpeed USB Device Capability: bLength 10 bDescriptorType 16 bDevCapabilityType 3 bmAttributes 0x00 wSpeedsSupported 0x000e Device can operate at Full Speed (12Mbps) Device can operate at High Speed (480Mbps) Device can operate at SuperSpeed (5Gbps) bFunctionalitySupport 1 Lowest fully-functional device speed is Full Speed (12Mbps) bU1DevExitLat 10 micro seconds bU2DevExitLat 2047 micro seconds Device Status: 0x000d Self Powered U1 Enabled U2 Enabled -- Regards, Richard Schütz
Attachment:
kernel.log.gz
Description: application/gzip