USB stop working on Librem13v3

Hello ,
USB suddenly stopped working on my Librem 13v3.

I tried new kernels. It didn’t help. Is there a solution or is it a device defect? My search for a solution was unsuccessful.

Kernel-Message:
[ 11.149034] xhci_hcd 0000:00:14.0: can’t setup: -110
[ 11.149143] xhci_hcd 0000:00:14.0: USB bus 1 deregistered
[ 11.149230] xhci_hcd 0000:00:14.0: init 0000:00:14.0 fail, -110
[ 11.149243] xhci_hcd: probe of 0000:00:14.0 failed with error -110

lsusb:
root@puri:/# lsusb
root@puri:/#

lspci:
root@puri:/# lspci
00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 520 (rev 07)
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 08)
00:08.0 System peripheral: Intel Corporation Skylake Gaussian Mixture Model
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
00:1f.5 Non-VGA unclassified device: Intel Corporation Device 9d24 (rev 21)
01:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961

root@puri:/# cat /proc/version
Linux version 5.6.0-0.bpo.2-amd64 (debian-kernel@lists.debian.org) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 5.6.14-2~bpo10+1 (2020-06-09)

root@puri:/# cat /etc/issue
Debian GNU/Linux 10 \n \l

I’m grateful for possible solutions.
Harald

What did you have plugged in? It looks like error -110 is “power exceeded.”

Nothing is connected. e.g. When I connect my USB ethernet adapter. Then the power LED of the adapter lights up. Energy appears to be present.

Suspend and power off don’t work either.
Power off command leaves the computer switched on and the computer does not longer come up from the suspend. This does not look good.

What was the thing you plugged in when you first noticed it wasn’t working? It sounds like it drew too much power from your USB port.

I had never changed anything there.
A mouse on one port and a USB ethernet adapter on the other. These devices are working on other devices.

Assuming that error -110 indeed is “power exceeded” (found it in an arch forum, you may find different results) it sounds like one of your devices (and I have seen a mouse’s USB dongle do this) murdered your USB port or controller by drawing too much power. I don’t know if its the laptops fault for having a faulty port(s) or if its the mouse dongle’s fault or if its the Ethernet dongle’s fault. Perhaps the laptop since your devices work on another machine, but it may just be that the other machine is more tolerant of excess power draw.

That’s the best I can give you with the information I have.

Anyway, thanks for the answer.
I’ll open the device. Hope is the last to die.

For future reference, I’m fairly sure that’s not what that means. The kernel has an idiom of reusing negative-valued versions of errno constants internally to encode reasons for failure. -110 corresponds to -ETIMEDOUT, which means exactly what it sounds like: the PCI device responsible for the XHCI controller didn’t respond within a set amount of time. On the 4.4.240 kernel I’m using on my device, where this issue happened, then un-happened, then re-happened, the timeout is 10 seconds, which I can reliably replicate by removing then re-inserting the xhci_pci module:

[ 1860.322870] xhci_hcd 0000:00:14.0: xHCI Host Controller
[ 1860.323004] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
[ 1870.324200] xhci_hcd 0000:00:14.0: can't setup: -110
[ 1870.324211] xhci_hcd 0000:00:14.0: USB bus 1 deregistered
[ 1870.324381] xhci_hcd 0000:00:14.0: init 0000:00:14.0 fail, -110
[ 1870.324405] xhci_hcd: probe of 0000:00:14.0 failed with error -110

I think this problem is happening even before Coreboot runs on system boot. I would hack the kernel to wait longer than this out of curiosity, in case the PCI device eventually responds, but I haven’t found exactly where the timeout counter is yet.