FS#48362 - [linux] USB3 xhci_hcd unstable with external hdd over usb-storage or uas mod (intel braswell usb3)

Attached to Project: Arch Linux
Opened by Bosco Witch (boscowitch) - Sunday, 28 February 2016, 10:50 GMT
Last edited by Jan de Groot (JGC) - Monday, 16 October 2017, 07:36 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

USB3 xhci_hcd unstable with external storage and uas (with intel braswell usb3 based asrock SoC N3700)



Description:
Copying Files over usb3 to an external USB3 raid or USB3 case/adapter
freezes ca. every Minute and reports a xhci_hcd superspeed reset dmesg error.

With enabled UAS the connection might even fail completly since the superspeed resets cause an error in UAS protocoll. (I attached a log with the final UAS crash and stack trace)

When UAS is dissabled and only usb sotrage is used copying/writing works with decreased average speed due to the freezes.
But reading the files and comparing thm caused roughly 2-5 (changing) files /bits errors in 1,4TB data read.
(UAS was dissabled through: options usb-storage quirks=174c:1153:u in the modprobe.d )

But the data was written correctly with the usb_storage even with the freezes/resets just reading created those 2-10 missmatched file errors.
I tested the adapter + HDD and the written data over USB3 in 2 different laptops and there was no missmatch or superspeed resets for the whole 1,4TB data
1. with an Intel i7 Ivybridge Mobile laptop and USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04))
2. with an I5 Sandybridge Mobile with USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04) ( this one I had to firmware update 2 years ago or so but since then no problems)

Since these other 2 Laptops didnt create any read errors a faulty or overheating adapter should not be the cause and only those superspeed resets of xhci_hcd seem left to blame.

I already provided more details of the testing in this post:
https://bbs.archlinux.org/viewtopic.php?pid=1606951#p1606951

lspci:
[bosco@atom ~]$ lspci
00:00.0 Host bridge: Intel Corporation Device 2280 (rev 21)
00:02.0 VGA compatible controller: Intel Corporation Device 22b1 (rev 21)
00:13.0 SATA controller: Intel Corporation Device 22a3 (rev 21)
00:14.0 USB controller: Intel Corporation Device 22b5 (rev 21) <---- USB controller
00:1a.0 Encryption controller: Intel Corporation Device 2298 (rev 21)
00:1b.0 Audio device: Intel Corporation Device 2284 (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 22c8 (rev 21)
00:1c.1 PCI bridge: Intel Corporation Device 22ca (rev 21)
00:1c.2 PCI bridge: Intel Corporation Device 22cc (rev 21)
00:1c.3 PCI bridge: Intel Corporation Device 22ce (rev 21)
00:1f.0 ISA bridge: Intel Corporation Device 229c (rev 21)
00:1f.3 SMBus: Intel Corporation Device 2292 (rev 21)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 11)
04:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)


lsusb:
lsusb
Bus 002 Device 002: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub <--- or maybe the the HUB chip used
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 046d:c318 Logitech, Inc. Illuminated Keyboard
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 002: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hu


Extract of Output of dmesg on copying data with UAS dissabled (goes on for pages or so since ~every Minute or so this happens):
[12567.182994] usb 2-1.3: reset SuperSpeed USB device number 3 using xhci_hcd
[12567.442719] usb 2-1.3: reset SuperSpeed USB device number 3 using xhci_hcd
[12568.306516] usb 2-1.3: reset SuperSpeed USB device number 3 using xhci_hcd
[12568.562820] usb 2-1.3: reset SuperSpeed USB device number 3 using xhci_hcd
[12603.018528] usb 2-1.3: reset SuperSpeed USB device number 3 using xhci_hcd
[12603.281292] usb 2-1.3: reset SuperSpeed USB device number 3 using xhci_hcd
[12603.707933] usb 2-1.3: reset SuperSpeed USB device number 3 using xhci_hcd
[12603.858131] usb 2-1.3: reset SuperSpeed USB device number 3 using xhci_hcd
[12604.194737] usb 2-1.3: reset SuperSpeed USB device number 3 using xhci_hcd
[12606.071628] usb 2-1.3: reset SuperSpeed USB device number 3 using xhci_hcd
[12606.668272] usb 2-1.3: reset SuperSpeed USB device number 3 using xhci_hcd
[12606.968553] usb 2-1.3: reset SuperSpeed USB device number 3 using xhci_hcd




Additional info:
* package version(s)
linux 4.4.1-2

* config and/or log files etc.
1. log with UAS enabled with crash and stack trace after ~1,2TB written


Steps to reproduce:
1. running Linux kernel 4.4.1-2
2. have a Intel Braswell based ASRock N3700-ITX with current UEFI BIOS: v1.5
(maybe I will be able to test it also on a ASRock N3050B-ITX to verify that its a generall problem with the Intel controller or at least the ASM1074 SuperSpeed hub if its the same don't know yet...)
3. copy data to a USB3 HDD and check dmesg after some minutes
This task depends upon

Closed by  Jan de Groot (JGC)
Monday, 16 October 2017, 07:36 GMT
Reason for closing:  No response
Comment by Bosco Witch (boscowitch) - Monday, 29 February 2016, 15:33 GMT
So My Friend testet his ASRock N3050B-ITX and no errors whatsoever
but it is different... seems like they have the same controller but not the those 2 internal hub chips: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub
so its directly connected...
so i guess its this hub chips fault.

here the full lspci and lsusb:
lspci
00:00.0 Host bridge: Intel Corporation Device 2280 (rev 21)
00:02.0 VGA compatible controller: Intel Corporation Device 22b1 (rev 21)
00:13.0 SATA controller: Intel Corporation Device 22a3 (rev 21)
00:14.0 USB controller: Intel Corporation Device 22b5 (rev 21)
00:1a.0 Encryption controller: Intel Corporation Device 2298 (rev 21)
00:1b.0 Audio device: Intel Corporation Device 2284 (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 22c8 (rev 21)
00:1c.1 PCI bridge: Intel Corporation Device 22ca (rev 21)
00:1f.0 ISA bridge: Intel Corporation Device 229c (rev 21)
00:1f.3 SMBus: Intel Corporation Device 2292 (rev 21)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 11)


lsusb:
Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge <-- external HDD case adapter he used for testing
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

but no other interal hub

btw. my lsusb in contrasst where done without any device connected to usb3! thats why the 2 hub chips gotta be Mainboard internal
Comment by Bosco Witch (boscowitch) - Monday, 29 February 2016, 16:50 GMT
Found this thread concerning the Hub chip...
http://forum.asrock.com/forum_posts.asp?TID=1583&title=n3150itx-usb30-asmedia-asm1074-uas-linux-error

seems like a known bug... they talk a different board though but same chip ...

guess I will try if my front usb manboard connecttions are also directly connected to the intel controller like the one they talk about ...

damn... well at least others have more resources now to do pre-buy research and I hope this will go upstream and maybe fixed...
Comment by mattia (nTia89) - Monday, 02 October 2017, 20:39 GMT
is this issue still valid?

Loading...