Re: Card reader not working properly with xHCI

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

 



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 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.

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?

--
Regards,
Richard Schütz
--
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