Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

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

Linux Kernel, Network, and Services configuration.
Post Reply
Message
Author
nbpf
Posts: 23
Joined: 2013-12-17 21:48

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

#1 Post by nbpf »

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?

Kryten
Posts: 36
Joined: 2015-11-05 01:32
Location: Scotland

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

#2 Post by Kryten »

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.

nbpf
Posts: 23
Joined: 2013-12-17 21:48

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

#3 Post by nbpf »

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

#4 Post by nbpf »

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

#5 Post by nbpf »

I can confirm that with the new enclosure and since my last post on Aug. 10 no errors have occurred


Post Reply