You are not logged in.

#1 2024-10-18 22:35:36

elektrocabel
Member
Registered: 2024-09-23
Posts: 2

[SOLVED] xHCI HCD fails on power disconnect (Lenovo ThinkPad A485)

When I disconnect the power cable (or boot without it) from my Lenovo ThinkPad A485, all USB ports stop working. The only message I can see in dmesg is:

xhci_hcd 0000:07:00.3: WARNING: Host System Error

If I try to unbind/bind xhci at this point with:

echo -n "0000:07:00.3" | sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind
echo -n "0000:07:00.3" | sudo tee /sys/bus/pci/drivers/xhci_hcd/bind

I'm getting:

[Oct19 00:14] xhci_hcd 0000:07:00.3: remove, state 4
[  +0.000020] usb usb3: USB disconnect, device number 1
[  +0.000819] xhci_hcd 0000:07:00.3: USB bus 3 deregistered
[  +0.000066] xhci_hcd 0000:07:00.3: WARNING: Host System Error
[  +0.000025] xhci_hcd 0000:07:00.3: remove, state 1
[  +0.000013] usb usb2: USB disconnect, device number 1
[  +0.000006] usb 2-2: USB disconnect, device number 2
[  +0.408204] usb 2-3: USB disconnect, device number 3
[  +0.498918] xhci_hcd 0000:07:00.3: USB bus 2 deregistered
[  +0.031347] xhci_hcd 0000:07:00.3: xHCI Host Controller
[  +0.000018] xhci_hcd 0000:07:00.3: new USB bus registered, assigned bus number 2
[  +0.000262] xhci_hcd 0000:07:00.3: hcc params 0x0270ffe5 hci version 0x110 quirks 0x0000000840000010
[  +0.000955] xhci_hcd 0000:07:00.3: xHCI Host Controller
[  +0.000009] xhci_hcd 0000:07:00.3: new USB bus registered, assigned bus number 3
[  +0.000008] xhci_hcd 0000:07:00.3: Host supports USB 3.1 Enhanced SuperSpeed
[  +0.000154] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.10
[  +0.000007] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[  +0.000006] usb usb2: Product: xHCI Host Controller
[  +0.000004] usb usb2: Manufacturer: Linux 6.10.10-arch1-1 xhci-hcd
[  +0.000004] usb usb2: SerialNumber: 0000:07:00.3
[  +0.000363] hub 2-0:1.0: USB hub found
[  +0.000031] hub 2-0:1.0: 4 ports detected
[  +0.000988] usb usb3: We don't know the algorithms for LPM for this host, disabling LPM.
[  +0.000137] usb usb3: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.10
[  +0.000010] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[  +0.000038] usb usb3: Product: xHCI Host Controller
[  +0.000005] usb usb3: Manufacturer: Linux 6.10.10-arch1-1 xhci-hcd
[  +0.000005] usb usb3: SerialNumber: 0000:07:00.3
[  +0.000905] hub 3-0:1.0: USB hub found
[  +0.000040] hub 3-0:1.0: 4 ports detected
[  +0.249051] usb 2-2: new full-speed USB device number 2 using xhci_hcd
[  +0.163329] usb 2-2: New USB device found, idVendor=0c45, idProduct=7672, bcdDevice= 1.00
[  +0.000017] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  +0.000006] usb 2-2: Product: USB DEVICE
[  +0.000005] usb 2-2: Manufacturer: SONiX
[  +5.083069] xhci_hcd 0000:07:00.3: xHCI host not responding to stop endpoint command
[  +0.000033] xhci_hcd 0000:07:00.3: xHCI host controller not responding, assume dead
[  +0.000012] xhci_hcd 0000:07:00.3: HC died; cleaning up
[  +0.000209] usb 2-2: USB disconnect, device number 2

Connecting power supply:

[ +19.427284] NMI watchdog: Enabled. Permanently consumes one hw-PMU counter.
[  +0.301565] ata1: SATA link down (SStatus 0 SControl 300)
[  +0.096695] r8169 0000:04:00.0 enp4s0f0: Link is Down
[  +0.259901] r8169 0000:06:00.0 enp6s0: Link is Down

With power connected, I can rebind xHCI host controller bringing all USB devices back to life. The dmesg output seems similar, just without the "dead host controller" part.

I don't know if there's anything related to this, but I followed Lenovo ArchWiki to install all packages, update FWs, etc. Regarding power management I tried both TLP and Laptop_Mode_Tools. But nothing seems to help hmm

Any idea what that could be, or what I should try next?

Last edited by elektrocabel (2024-10-20 11:44:08)

Offline

#2 2024-10-20 11:43:48

elektrocabel
Member
Registered: 2024-09-23
Posts: 2

Re: [SOLVED] xHCI HCD fails on power disconnect (Lenovo ThinkPad A485)

solved it in a way, just disabling USB auto-suspend altogether, e.g. for Laptop Mode Tools I did

CONTROL_RUNTIME_AUTOSUSPEND=0

in /etc/laptop-mode/conf.d/runtime-pm.conf
I am not sure disabling this for a laptop is good from the power saving perspective, but idc since I mostly use it connected to power anyway

P.S. I also tried adding xhci_hcd device to the black list in this file (does that even make sense?), but that did not seem to help

Last edited by elektrocabel (2024-10-20 11:45:52)

Offline

Board footer

Powered by FluxBB