You are not logged in.
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
Any idea what that could be, or what I should try next?
Last edited by elektrocabel (2024-10-20 11:44:08)
Offline
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