Card reader not working properly with xHCI

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

 



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.

relevant kernel output:
usb 1-2: new high-speed USB device number 19 using xhci_hcd
usb-storage 1-2:1.0: USB Mass Storage device detected
scsi22 : usb-storage 1-2:1.0
scsi 22:0:0:0: Direct-Access Generic USB SD Reader 1.00 PQ: 0 ANSI: 0 scsi 22:0:0:1: Direct-Access Generic USB CF Reader 1.01 PQ: 0 ANSI: 0 scsi 22:0:0:2: Direct-Access Generic USB SM Reader 1.02 PQ: 0 ANSI: 0 scsi 22:0:0:3: Direct-Access Generic USB MS Reader 1.03 PQ: 0 ANSI: 0
sd 22:0:0:0: [sdb] 15646720 512-byte logical blocks: (8.01 GB/7.46 GiB)
sd 22:0:0:0: [sdb] Write Protect is off
sd 22:0:0:0: [sdb] Mode Sense: 03 00 00 00
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:1: [sdc] Attached SCSI removable disk
sd 22:0:0:2: [sdd] Attached SCSI removable disk
sd 22:0:0:3: [sde] Attached SCSI removable disk
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
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] Attached SCSI removable disk
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

$ uname -r
3.13.5-1-ARCH

$ lspci -nn|grep USB
00:14.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1e31] (rev 04) 00:1a.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 [8086:1e2d] (rev 04) 00:1d.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 [8086:1e26] (rev 04)

# lsusb -d 058f:6362 -v

Bus 001 Device 020: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x058f Alcor Micro Corp.
  idProduct          0x6362 Flash Card Reader/Writer
  bcdDevice            1.29
  iManufacturer           1 Generic
  iProduct                2 Mass Storage Device
  iSerial                 3 058F312D81B
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              250mA
    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     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

usbmon trace (writing /dev/zero to card with dd triggering the issue):
http://pastebin.com/raw.php?i=dNbtUeJY

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