Comment 10 for bug 1271268

Revision history for this message
Simos Xenitellis  (simosx) wrote :

Apparently this is a regression in the xhci code (USB3). If you connect the device to a USB2 port (if you have one) or disable xHCI in the BIOS, the problem is gone. Of course you get USB2 speeds as well.

Relevant bug reports:

"Bug#741989: linux: 3.13.5: known regression: "xHCI xhci_drop_endpoint called with disabled ep""
https://lists.debian.org/debian-kernel/2014/03/msg00153.html

"Bug 864866 - USB3 device randomly disconnecting while in use or not"
https://bugzilla.novell.com/show_bug.cgi?id=864866

"USB 3.0 corrupts NTFS disks"
https://forums.gentoo.org/viewtopic-t-963046-start-0.html

In a nutshell,
1. when something goes bad, the first dmesg messages say

[ 3888.906845] usb 4-4: reset SuperSpeed USB device number 3 using xhci_hcd
[ 3888.923000] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8801de04f680
[ 3888.923002] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8801de04f6c0
(probably multiple times if keep using the drive)

2. Then, the drive is disconnected and reconnected again. If you have the default setting to automount, you get many Nautilus windows opening up.

[ 4676.122427] usb 4-4: USB disconnect, device number 3
[ 4676.490858] sd 6:0:0:0: [sdb] Synchronizing SCSI cache
[ 4676.490878] sd 6:0:0:0: [sdb]
[ 4676.490879] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[ 4676.490934] usb 4-4: Set SEL for device-initiated U1 failed.
[ 4676.490935] usb 4-4: Set SEL for device-initiated U2 failed.

See http://blogs.msdn.com/b/usbcoreblog/archive/2012/07/13/common-issues-in-usb-3-0-devices.aspx for more about "Set SEL".

3. After some more use, the device gives buffer I/O errors,

[ 5398.216920] Buffer I/O error on device sdb1, logical block 91570828
[ 5398.216933] Buffer I/O error on device sdb1, logical block 91570828
[ 5398.244440] Buffer I/O error on device sdb1, logical block 91570828