You are not logged in.

#1 2020-01-12 21:38:24

funkaddict
Member
Registered: 2018-08-13
Posts: 79

[SOLVED] Thunderbolt Dock / USB (xHCI) configuration screwed up

I somehow got my Thunderbolt 3 configuration fried. Until some hours ago, everything was working fine. I used my TB3 dock with two external screens, external drives, mouse, keyboard, etc.

However, since latest boot, the dock is not recognized anymore.

Some stats:

$ lspci
00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile)
00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10)
00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)
00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)
00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #0 (rev 10)
00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)
00:17.0 SATA controller: Intel Corporation Cannon Lake Mobile PCH SATA AHCI Controller (rev 10)
00:1b.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #17 (rev f0)
00:1b.4 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #21 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 (rev f0)
00:1d.5 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #14 (rev f0)
00:1d.6 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #15 (rev f0)
00:1e.0 Communication controller: Intel Corporation Device a328 (rev 10)
00:1f.0 ISA bridge: Intel Corporation Device a30d (rev 10)
00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)
00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)
01:00.0 VGA compatible controller: NVIDIA Corporation TU116M [GeForce GTX 1660 Ti Mobile] (rev a1)
01:00.1 Audio device: NVIDIA Corporation TU116 High Definition Audio Controller (rev a1)
01:00.2 USB controller: NVIDIA Corporation Device 1aec (rev a1)
01:00.3 Serial bus controller [0c80]: NVIDIA Corporation Device 1aed (rev a1)
02:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 2C 2018] (rev 06)
03:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 2C 2018] (rev 06)
03:01.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 2C 2018] (rev 06)
03:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 2C 2018] (rev 06)
04:00.0 System peripheral: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 2C 2018] (rev 06)
3a:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 2C 2018] (rev 06)
3b:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
3d:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
3e:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)

When the hub is connected no device is found.

$ lsusb
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 0bda:0316 Realtek Semiconductor Corp. USB3.0-CRW
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 048d:ce00 Integrated Technology Express, Inc. ITE Device(8291)
Bus 001 Device 004: ID 8087:0029 Intel Corp. 
Bus 001 Device 003: ID 04f2:b68b Chicony Electronics Co., Ltd HD Webcam
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I suppose, there got something wrong with the xhci configuration because when I am trying to shut down the machine it got stuck with:

.
.
.
Reached target Power-Off.
xhci_hcd 0000:3a:00.0: Controller not ready at resume -19
xhci_hcd 0000:3a:00.0: PCI post-resume error -19!
xhci_hcd 0000:3a:00.0: HC died; cleaning up
xhci_hcd 0000:3a:00.0: Host halt failed, -19

Which is also shown in the logs...

$ dmesg | grep xhci
[    2.171250] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    2.171257] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
[    2.172354] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x110 quirks 0x0000000000009810
[    2.172360] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported
[    2.172578] usb usb1: Manufacturer: Linux 5.4.10-arch1-1 xhci-hcd
[    2.176051] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    2.176054] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
[    2.176058] xhci_hcd 0000:00:14.0: Host supports USB 3.1 Enhanced SuperSpeed
[    2.176114] usb usb2: Manufacturer: Linux 5.4.10-arch1-1 xhci-hcd
[    2.177752] xhci_hcd 0000:01:00.2: xHCI Host Controller
[    2.177756] xhci_hcd 0000:01:00.2: new USB bus registered, assigned bus number 3
[    2.178364] xhci_hcd 0000:01:00.2: hcc params 0x0180ff05 hci version 0x110 quirks 0x0000000000000010
[    2.178516] usb usb3: Manufacturer: Linux 5.4.10-arch1-1 xhci-hcd
[    2.178967] xhci_hcd 0000:01:00.2: xHCI Host Controller
[    2.178970] xhci_hcd 0000:01:00.2: new USB bus registered, assigned bus number 4
[    2.178972] xhci_hcd 0000:01:00.2: Host supports USB 3.1 Enhanced SuperSpeed
[    2.179025] usb usb4: Manufacturer: Linux 5.4.10-arch1-1 xhci-hcd
[    2.179792] xhci_hcd 0000:3a:00.0: xHCI Host Controller
[    2.179796] xhci_hcd 0000:3a:00.0: new USB bus registered, assigned bus number 5
[    2.181299] xhci_hcd 0000:3a:00.0: hcc params 0x200077c1 hci version 0x110 quirks 0x0000000200009810
[    2.181604] usb usb5: Manufacturer: Linux 5.4.10-arch1-1 xhci-hcd
[    2.182686] xhci_hcd 0000:3a:00.0: xHCI Host Controller
[    2.182691] xhci_hcd 0000:3a:00.0: new USB bus registered, assigned bus number 6
[    2.182695] xhci_hcd 0000:3a:00.0: Host supports USB 3.1 Enhanced SuperSpeed
[    2.182761] usb usb6: Manufacturer: Linux 5.4.10-arch1-1 xhci-hcd
[    2.503090] usb 1-6: new full-speed USB device number 2 using xhci_hcd
[    2.767238] usb 2-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[    2.910226] usb 1-13: new high-speed USB device number 3 using xhci_hcd
[    3.266892] usb 1-14: new full-speed USB device number 4 using xhci_hcd
[  191.706375] usb 1-9: new full-speed USB device number 5 using xhci_hcd
[  732.366189] xhci_hcd 0000:3a:00.0: Controller not ready at resume -19
[  732.366369] xhci_hcd 0000:3a:00.0: PCI post-resume error -19!
[  732.366376] xhci_hcd 0000:3a:00.0: HC died; cleaning up
$ dmesg | grep error
[   64.344187] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[  732.366369] xhci_hcd 0000:3a:00.0: PCI post-resume error -19!

Google didn´t help me that much. Often related issues seem to ocure due to Kernel update which I did not. I also tried to

$ echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/unbindd: Permdssion denied

Which I do not understand. Why is the permission denied? I tried then to do this with sudo, which got me confused because I do not understand what is going on here:

$ sudo echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
tee: /sys/bus/pci/drivers/xhci_hcd/unbind: Permission denied
[sudo] password for user: 
0000:00:14.0[user@laptop ~]$ 

I would appreciate any support, how to tackle this issue.

Last edited by funkaddict (2020-03-24 08:38:20)

Offline

#2 2020-01-12 22:49:01

Ropid
Member
Registered: 2015-03-09
Posts: 832

Re: [SOLVED] Thunderbolt Dock / USB (xHCI) configuration screwed up

If there was nothing you've touched and this problem is just showing up randomly, maybe it's simply a hardware problem? Something might have just decided to break by itself.

If you ran "pacman -Syu" before the problem showed up, I'd look through the names of the packages that were last updated. The following command line will filter pacman's log file to just the interesting lines:

grep -E '\] (ins|upg|rem)\w+ ' /var/log/pacman.log | less +G

Maybe one of the names there will jump out to you and look suspicious. There's an AUR package with a script named "downgrade" to help with downgrading packages.

About that "permission denied" thing, you need to add the "sudo" to the "tee" part of your command line, not to the echo at the front, like this:

echo -n "0000:00:14.0" | sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind

Also, before you go crazy with experimenting and researching, maybe just run "pacman -Syu" and reboot the computer to make sure you are not in a setup where your system is just half-updated instead of fully updated.

Offline

#3 2020-03-24 08:37:53

funkaddict
Member
Registered: 2018-08-13
Posts: 79

Re: [SOLVED] Thunderbolt Dock / USB (xHCI) configuration screwed up

I am sorry. I completely lost track of this thread. It turned out that indeed there was a hardware issue. For people who might stumble across this: This is called Thunderbolt 3 wear out. It happened that Intel seriously screwed up something on their controllers, practically making their ROMs unusable after a couple of cycles. This happened also to ohter manufacturers using the respective component from Intel, as I had a machine by XMG (bestware). As there was no solution in sight I returned the laptop and got a Dell, which runs perfectly smooth now.

Offline

#4 2020-04-10 19:01:22

deisi
Member
Registered: 2015-10-21
Posts: 66

Re: [SOLVED] Thunderbolt Dock / USB (xHCI) configuration screwed up

I think I'm also affected by this. However It shows up slighlty different for me, so I'd like to keep this here for documentation purpose.

My dmesg log shows:

[malte@mtop ~]$ dmesg | grep 0000:3c:00.0
[   33.564739] pci 0000:3c:00.0: [8086:15c1] type 00 class 0x0c0330
[   33.564781] pci 0000:3c:00.0: reg 0x10: [mem 0xd9f00000-0xd9f0ffff]
[   33.564991] pci 0000:3c:00.0: supports D1 D2
[   33.564993] pci 0000:3c:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[   33.565082] pci 0000:3c:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s x4 link at 0000:05:02.0 (capable of 31.504 Gb/s with 8 GT/s x4 link)
[   33.566828] xhci_hcd 0000:3c:00.0: xHCI Host Controller
[   33.566837] xhci_hcd 0000:3c:00.0: new USB bus registered, assigned bus number 3
[   33.567973] xhci_hcd 0000:3c:00.0: hcc params 0x200077c1 hci version 0x110 quirks 0x0000000000009810
[   33.569988] usb usb3: SerialNumber: 0000:3c:00.0
[   33.571032] xhci_hcd 0000:3c:00.0: xHCI Host Controller
[   33.571037] xhci_hcd 0000:3c:00.0: new USB bus registered, assigned bus number 4
[   33.571041] xhci_hcd 0000:3c:00.0: Host supports USB 3.1 Enhanced SuperSpeed
[   33.571098] usb usb4: SerialNumber: 0000:3c:00.0
[   74.925220] xhci_hcd 0000:3c:00.0: remove, state 4
[   74.925505] xhci_hcd 0000:3c:00.0: USB bus 4 deregistered
[   74.925514] xhci_hcd 0000:3c:00.0: xHCI host controller not responding, assume dead
[   74.925516] xhci_hcd 0000:3c:00.0: remove, state 4
[   74.925764] xhci_hcd 0000:3c:00.0: Host halt failed, -19
[   74.925767] xhci_hcd 0000:3c:00.0: Host not accessible, reset failed.
[   74.925852] xhci_hcd 0000:3c:00.0: USB bus 3 deregistered

So sometimes the device works, but sometimes not. Not an acceptable behaviour I think.

Offline

Board footer

Powered by FluxBB