USB 3.0 I/O errors after upgrading from jessie to stretch

Kernels & Hardware, configuring network, installing services

USB 3.0 I/O errors after upgrading from jessie to stretch

Postby nbpf » 2017-08-09 06:32

The problem:
after upgrading jessie -> stretch, frequent I/O errors on HDDs connected to USB 3.0 ports. The same devices work fine if connected to USB 2.0 ports.

The symptoms:
Code: Select all
Aug  9 07:24:59 fitpc3 kernel: [  380.871755] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
Aug  9 08:07:49 fitpc3 kernel: [ 2952.029686] usb 6-1: reset SuperSpeed USB device number 2 using xhci_hcd

unmounting works fine but attempts at re-mounting the drive yield

Code: Select all
nicola@fitpc3:~$ sudo umount /mnt/hdd4
nicola@fitpc3:~$ sudo mount /mnt/hdd4
mount: /dev/sdb1 is not a valid block device
nicola@fitpc3:~$

and further entries in /var/log/messages

Code: Select all
Aug  9 08:08:20 fitpc3 kernel: [ 2982.752588] usb 6-1: reset SuperSpeed USB device number 2 using xhci_hcd
Aug  9 08:08:30 fitpc3 kernel: [ 2992.997554] usb 6-1: reset SuperSpeed USB device number 2 using xhci_hcd
Aug  9 08:08:46 fitpc3 kernel: [ 3009.389501] usb 6-1: reset SuperSpeed USB device number 2 using xhci_hcd
Aug  9 08:08:46 fitpc3 kernel: [ 3009.529550] usb 6-1: reset SuperSpeed USB device number 2 using xhci_hcd
Aug  9 08:08:57 fitpc3 kernel: [ 3019.890612] usb 6-1: reset SuperSpeed USB device number 2 using xhci_hcd
Aug  9 08:08:57 fitpc3 kernel: [ 3019.912972] sd 6:0:0:0: Device offlined - not ready after error recovery
Aug  9 08:08:57 fitpc3 kernel: [ 3019.913001] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
Aug  9 08:08:57 fitpc3 kernel: [ 3019.913010] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 01 29 08 00 00 08 00


The devices:
Code: Select all
nicola@fitpc3:~$ lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 152d:0539 JMicron Technology Corp. / JMicron USA Technology Corp. JMS539/567 SuperSpeed SATA II/III 3.0G/6.0G Bridge
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 04b4:930b Cypress Semiconductor Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 8087:07da Intel Corp.
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


Code: Select all
nicola@fitpc3:~$ lsusb -t
/:  Bus 09.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/4p, 12M
/:  Bus 08.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/2p, 12M
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/5p, 12M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/5p, 12M
    |__ Port 3: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 3: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/4p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/5p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/5p, 480M
    |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=snd-usb-hiface, 480M


The system:
Code: Select all
Linux fitpc3 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u3 (2017-08-06) x86_64 GNU/Linux

Any idea how to avoid the problem?
nbpf
 
Posts: 23
Joined: 2013-12-17 21:48

Re: USB 3.0 I/O errors after upgrading from jessie to stretc

Postby Kryten » 2017-08-10 01:28

The driver is in the kernel. xhci_hcd is USB 3, ehci_hcd is USB2
Code: Select all
lspci -v | grep xhci


Drivers are a bit hit and miss when it comes to motherboards and USB3.Most people have to fix this by upgrading or
downgrading the kernel.Stretch backports has 4.11, so you might want to try that as a starting point.
Debian wiki has details on how to use backports.
Kryten
 
Posts: 24
Joined: 2015-11-05 01:32

Re: USB 3.0 I/O errors after upgrading from jessie to stretc

Postby nbpf » 2017-08-10 07:38

I have put the hdd in a different enclosure. It is still the same controller but a different vendor:

Code: Select all
Bus 006 Device 002: ID 152d:2590 JMicron Technology Corp. / JMicron USA Technology Corp. Seatay ATA/ATAPI Bridge

instead of

Code: Select all
Bus 006 Device 002: ID 152d:0539 JMicron Technology Corp. / JMicron USA Technology Corp. JMS539/567 SuperSpeed SATA II/III 3.0G/6.0G Bridge

as in my original post. Now the driver is uas:

Code: Select all
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M

instead of usb-storage

Code: Select all
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

as in my original post. So far I have not noticed any I/O errors and the hdd can be mounted and unmounted without problems. I will report back after some more testing but so far the problem seems to be avoided.

Of course the question remains if this is a bug in stretch or a failure of the controller to fulfill specifications. It is very likely not a problem of the controller itself because I have tested the hdd with two 152d:2590 enclosures and both exhibited the same problem.
nbpf
 
Posts: 23
Joined: 2013-12-17 21:48

Re: USB 3.0 I/O errors after upgrading from jessie to stretc

Postby nbpf » 2017-08-10 10:44

Kryten wrote:The driver is in the kernel. xhci_hcd is USB 3, ehci_hcd is USB2
Code: Select all
lspci -v | grep xhci


Drivers are a bit hit and miss when it comes to motherboards and USB3.Most people have to fix this by upgrading or
downgrading the kernel.Stretch backports has 4.11, so you might want to try that as a starting point.
Debian wiki has details on how to use backports.


Thanks, here is the output of lspci:

Code: Select all
nicola@fitpc3:~$ lspci -v | grep xhci
   Kernel driver in use: xhci_hcd
   Kernel modules: xhci_pci
nbpf
 
Posts: 23
Joined: 2013-12-17 21:48

Re: USB 3.0 I/O errors after upgrading from jessie to stretc

Postby nbpf » 2017-08-12 12:07

I can confirm that with the new enclosure and since my last post on Aug. 10 no errors have occurred
nbpf
 
Posts: 23
Joined: 2013-12-17 21:48


Return to System configuration

Who is online

Users browsing this forum: Wheelerof4te and 8 guests

fashionable