Hey. I’ve been kinda struggling to figure out some strange issues, can I ask for some advice?
Symptoms: When my PC goes to sleep from the timer (S3), the USB controllers that are soldered to the motherboard malfunction, and input devices do not function. When I boot back up, it only responds to USB hardware plugged into the case instead. Unplugging and plugging back in do not have any effect.
Investigation:
dmesg
I ran sudo dmesg right after it happened, the line kernel: xhci_hcd 0000:05:00.2: xHC error in resume, USBSTS 0x401, Reinit seems relevant.
Context:
...
kernel: ACPI: PM: Restoring platform NVS memory
kernel: Enabling non-boot CPUs ...
kernel: smpboot: Booting Node 0 Processor 1 APIC 0x2
kernel: ACPI: \_PR_.C002: Found 2 idle states
kernel: CPU1 is up
...
// Each CPU core waking up, yadda yadda yadda
...
kernel: CPU11 is up
kernel: ACPI: PM: Waking up from system sleep state S3
kernel: xhci_hcd 0000:01:00.0: xHC error in resume, USBSTS 0x401, Reinit
kernel: usb usb1: root hub lost power or was reset
kernel: usb usb2: root hub lost power or was reset
kernel: serial 00:04: activated
kernel: xhci_hcd 0000:05:00.2: xHC error in resume, USBSTS 0x401, Reinit
kernel: usb usb3: root hub lost power or was reset
kernel: usb usb4: root hub lost power or was reset
kernel: ata9: SATA link down (SStatus 0 SControl 300)
kernel: usb 1-5: reset full-speed USB device number 3 using xhci_hcd
kernel: ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)...
udevadm
Then I looked up those number codes before the xHC errors in udevadm info --tree, and I think those two things are my USB controllers?
udevadm info --tree
A friend I was talking to about this suggested looking at two particular devices:
udevadm info -ap /sys/devices/pci0000:00/0000:00:01.3/0000:01:00.0/usb1/1-2/1-2:1.2/0003:046D:C52B.0003/0003:046D:406D.000B/input/input21
And udevadm info -ap /sys/devices/pci0000:00/0000:00:01.3/0000:01:00.0/usb1/1-2/1-2:1.2/0003:046D:C52B.0003/0003:046D:4004.0010/input/input28
udevadm info -ap on the two faulty devices:
First one
Second one
What next?
So… I’ve narrowed it down to what devices broke, but what do I do about it? Arch Wiki says something about disabling Autosuspend on certain USB devices, but this is the USB controller, it’s a PCI component actually. Can I disable autosuspend on these too?
Arch Wiki > Power Management > USB Autosuspend
Someone did recommend trying a different kernel. I tested it with main branch, LTS, and Zen. No impact.