xhci-errors in combination with dm-crypt

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

 



Hello everyone,

I'd like to encrypt my external HDD using dm-crypt (luks) via USB 3.0.
The crypto-container creation works, but writing to it doesn't:

> kernel: usb 4-2: reset SuperSpeed USB device number 2 using xhci_hcd
> kernel: xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8800c37e5c80kernel: xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8800c37e5cc0kernel: usb 4-2: reset SuperSpeed USB device number 2 using xhci_hcd
> kernel: xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8800c37e5c80kernel: xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8800c37e5cc0kernel: usb 4-2: reset SuperSpeed USB device number 2 using xhci_hcd
> kernel: xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8800c37e5c80kernel: xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8800c37e5cc0kernel: usb 4-2: reset SuperSpeed USB device number 2 using xhci_hcd
> kernel: xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8800c37e5c80kernel: xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8800c37e5cc0kernel: xhci_hcd 0000:00:14.0: Timeout while waiting for address device command
> kernel: xhci_hcd 0000:00:14.0: Timeout while waiting for address device command
> kernel: usb 4-2: device not accepting address 2, error -62
> kernel: usb 4-2: USB disconnect, device number 2
> kernel: scsi 12:0:0:0: rejecting I/O to offline device
> kernel: scsi 12:0:0:0: [sdc] killing request
> kernel: scsi 12:0:0:0: [sdc] Unhandled error code
> kernel: scsi 12:0:0:0: [sdc]
> kernel: Result: hostbyte=0x01 driverbyte=0x00
> kernel: scsi 12:0:0:0: [sdc] CDB:
> kernel: cdb[0]=0x2a: 2a 00 00 00 10 41 00 00 12 00
> kernel: end_request: I/O error, dev sdc, sector 4161
> kernel: quiet_error: 1601 callbacks suppressed
> kernel: Buffer I/O error on device dm-5, logical block 2
> kernel: lost page write due to I/O error on dm-5
> kernel: Buffer I/O error on device dm-5, logical block 3
> kernel: lost page write due to I/O error on dm-5
> kernel: Buffer I/O error on device dm-5, logical block 4
> kernel: lost page write due to I/O error on dm-5
> kernel: Buffer I/O error on device dm-5, logical block 5
> kernel: lost page write due to I/O error on dm-5
> kernel: Buffer I/O error on device dm-5, logical block 6
> kernel: lost page write due to I/O error on dm-5
> kernel: Buffer I/O error on device dm-5, logical block 7
> kernel: lost page write due to I/O error on dm-5
> kernel: Buffer I/O error on device dm-5, logical block 8
> kernel: lost page write due to I/O error on dm-5
> kernel: Buffer I/O error on device dm-5, logical block 9
> kernel: lost page write due to I/O error on dm-5
> kernel: Buffer I/O error on device dm-5, logical block 10
> kernel: lost page write due to I/O error on dm-5
> kernel: Buffer I/O error on device dm-5, logical block 11
> kernel: lost page write due to I/O error on dm-5
> kernel: scsi 12:0:0:0: rejecting I/O to offline device
> kernel: scsi 12:0:0:0: [sdc] killing request
> kernel: scsi 12:0:0:0: [sdc] Unhandled error code
> kernel: scsi 12:0:0:0: [sdc]
> kernel: Result: hostbyte=0x01 driverbyte=0x00
> kernel: scsi 12:0:0:0: [sdc] CDB:
> kernel: cdb[0]=0x2a: 2a 00 00 00 10 53 00 00 18 00
> kernel: end_request: I/O error, dev sdc, sector 4179
> kernel: xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8800c37e5c80
> kernel: xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8800c37e5cc0

USB 2.0 (ehci-pci) works fine (direct, filesystem, crypto). With USB
3.0, both direct access using 'dd' and filesystem access is possible.
Only direct access to the cryptdevice fails (including 'mkfs.ext4').

If I create a filesystem on the crypto device via USB 2.0, I can access
it via USB 3.0 as well.

% uname -r
3.13.5-1
(also tested on 3.14rc4)

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

% sudo lsusb -v -d 4971:1014
Bus 004 Device 003: ID 4971:1014 SimpleTech
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         9
  idVendor           0x4971 SimpleTech
  idProduct          0x1014
  bcdDevice            0.00
  iManufacturer          10 HGST
  iProduct               11 Touro Mobile 3.0
  iSerial                 3 21001311250002300511
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           44
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    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           42
  bNumDeviceCaps          3
  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          32 micro seconds
  Container ID Device Capability:
    bLength                20
    bDescriptorType        16
    bDevCapabilityType      4
    bReserved               0
    ContainerID             {00010203-0405-0607-0800-000000000000}
Device Status:     0x0001
  Self Powered

See [1] for a journalctl-log with xhci-debugging enabled. I also made an
usbmon-trace [2].

Regards,
Merlin Chlosta

[1] journalctl: http://sprunge.us/TRid
[2] usbmon: http://sprunge.us/cTUe
--
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