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
kernel.log.gz
Description: application/gzip
