Re: Card reader not working properly with xHCI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 25 Feb 2014, Sarah Sharp wrote:

> On Tue, Feb 25, 2014 at 11:22:57PM +0100, Richard Sch�ote:
> > 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?
> 
> 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 table
> 
> It 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.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux