USB broken after last update

At first I thought that my USB bus was dying after mouse & keyboard stopped working soon after logging in, or even at the lightdm screen, but after trying Windows & this old Manjaro Budgie install without problems, I think it’s a problem with my Manjaro Cinnamon.

I managed to find an old PS/2 keyboard, but I’m fairly sure I don’t have a PS/2 mouse around. Before I thought of that, I used manjaro-chroot to try installing a newer kernel (5.15 — 5.10 was the previous, also tried 5.4), but the result was the same. Manjaro Budgie is on kernel 5.4. This suggests it’s not directly related to the kernel version.

When I’ve managed to get into my main installation, lsusb has only shown the USB hubs; no devices.

Any suggestions about how I might go about diagnosing this?

Hi @Moilleadoir,

I doubt if I’ll be able to help you with this, but for anyone trying to help, please see How to provide good information and, if applicable, [HowTo] post screenshots and links

Also, please probide the output of the lsusb command you tried there. And just for shirts and giggles, make it the output right before as well as right after you have plugged the devices in/out.

I hope you manage!

Might take me some time. After wasting the afternoon trying a million different things, I have to go out now.

2 Likes

I too had the same issue, non of my usb peripherals worked (kb, mouse, sd reader etc) tried booting with an older version but still the same. when i did manage to get access by unplugging all my usb3 devices and rebooting, i found this error in the journal:
kernel: xhci_hcd 0000:00:14.0: Abort failed to stop command ring: -110
kernel: xhci_hcd 0000:00:14.0: xHCI host controller not responding, assume dead
kernel: usb 3-6: device not accepting address 2, error -108

it seems this is due to a patch as per …bbs.archlinux.org/viewtopic.php?id=270795
All of the kernels i have installed have had an update and all of them give the same error.
new versions are: v4.14.255-1, v5.4.159-1, v5.10.79-1.
I have fixed this by reinstalling v 5.4.150 from the cache and booting this via grub
Hope this helps.
Graham.

3 Likes

Thanks! That’s given me a few things to try. I did see that error message at some stage.

Tried a few options:

  • 5.16 - no nvidia
  • 5.15.4 - not available
  • 5.10.70 - LightDm failed. Couldn’t check very well on USB as I couldn’t get to single user login either*
  • 5.4.150 - works, but now CUPS is disabled for some reason

*When testing, editing GRUB to get to a TTY login prompt (adding a 3) only worked for 5.15, not 5.10 or 5.4. My guess is that this is an NVIDIA problem and the output was just going through the MB video which was also producing a resolution not compatible with my monitor.

I’m surprised more people aren’t affected by this. I didn’t think there was anything particularly ‘special’ about my system.

I have the same issue. All external USB drives are dead. Should be fixed in Kernel 5.15.4 according to https://bbs.archlinux.org/viewtopic.php?pid=2005432#p2005432

Update: With Kernel 5.16.0-1-MANJARO I got my USB drives back.

1 Like

Looks like I have the same issue. For now I’m running 5.10.70-1 which I reverted back to with Timeshift after I had the issue with update. However, after the update the keyboard and mouse do not work in login screen (light dm) unless I boot with fallback initramfs option.

Any suggestions how to proceed? When checking possible kernel versions in Manjaro’ settings menu, the newest experimental version is 5.15.rc3.21092.g5816b3e-1 so I don’t have option for 5.16 version and I’m hesitant on installing experimental kernels…

I was running Kernel 5.16.0-1-MANJARO for a few hours but had lots of issues with USB disconnects of my keyboard. Now I’m back on 5.14.18-1-MANJARO and everything is working again so far.

I managed to get the ports work again by rebooting A LOT of times.
At the time, lsusb returned hubs only, now it shows devices as well.
I have kept the computer on and the peripherals connected, and I have no idea what may be causing this behaviour.
Kernel is 5.15.2-2, i3 version.

Today I encountered this problem on my brother’s PC. Plasma + LTS kernel 5.4 … neither the USB mouse nor the USB keyboard worked after the last stable update.
Fixed with manjaro-chroot, changing branch to testing, and updating.

I fixed it by switching to the “testing” package branch and switching the kernel to 5.14.21-2.

Versions 5.10.83-1 and 5.15.6-1 didn’t work.

I think I had this issue from beginning of October, on only one of my two Manjaro laptops.

Diagnosing the issue

Run sudo dmesq -w to show kernel logs.

For me, the issue wouldn’t trigger when I attached a pendrive, but attaching a USB keyboard or a Yubikey (which also acts as a keyboard, really) would trigger it, hanging something in the kernel.

USB and Bluetooth (which is internally connected with USB) wouldn’t work afterwards, and the system wouldn’t be able to finish shutdown or going into sleep.

An example of logs from dmesg showing the issue:

[  150.759720] usb 3-2: new full-speed USB device number 3 using xhci_hcd
[  150.922057] usb 3-2: New USB device found, idVendor=1050, idProduct=0407, bcdDevice= 5.26
[  150.922061] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  150.922064] usb 3-2: Product: YubiKey OTP+FIDO+CCID
[  150.922066] usb 3-2: Manufacturer: Yubico
[  176.782632] xhci_hcd 0000:03:00.4: xHCI host not responding to stop endpoint command.
[  176.782636] xhci_hcd 0000:03:00.4: USBSTS: HCHalted HSE PCD
[  176.782655] xhci_hcd 0000:03:00.4: xHCI host controller not responding, assume dead
[  176.782669] xhci_hcd 0000:03:00.4: HC died; cleaning up
[  176.782778] usb 3-1: USB disconnect, device number 2
[  176.819741] usb 3-2: USB disconnect, device number 3
[  245.472767] INFO: task kworker/u33:0:147 blocked for more than 122 seconds.
[  245.472774]       Tainted: G           OE     5.10.79-1-MANJARO #1
[  245.472776] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  245.472779] task:kworker/u33:0   state:D stack:    0 pid:  147 ppid:     2 flags:0x00004000
[  245.472811] Workqueue: hci0 hci_power_on [bluetooth]
[  245.472814] Call Trace:
[  245.472822]  __schedule+0x288/0x800
[  245.472826]  schedule+0x5b/0xc0
[  245.472830]  rpm_resume+0x160/0x7d0
[  245.472835]  ? add_wait_queue_exclusive+0x70/0x70
[  245.472838]  rpm_resume+0x2e1/0x7d0
[  245.472842]  __pm_runtime_resume+0x3b/0x60
[  245.472847]  usb_autopm_get_interface+0x18/0x40
[  245.472852]  btusb_open+0x29/0x280 [btusb]
[  245.472873]  hci_dev_do_open+0x70/0x7b0 [bluetooth]
[  245.472877]  ? __switch_to_asm+0x42/0x70
[  245.472897]  hci_power_on+0x4f/0x250 [bluetooth]
[  245.472902]  process_one_work+0x1ad/0x370
[  245.472905]  worker_thread+0x50/0x3b0
[  245.472908]  ? rescuer_thread+0x380/0x380
[  245.472911]  kthread+0x133/0x150
[  245.472914]  ? kthread_associate_blkcg+0xc0/0xc0
[  245.472916]  ret_from_fork+0x22/0x30
[  245.472923] INFO: task kworker/6:3:232 blocked for more than 122 seconds.
[  245.472925]       Tainted: G           OE     5.10.79-1-MANJARO #1
[  245.472926] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  245.472928] task:kworker/6:3     state:D stack:    0 pid:  232 ppid:     2 flags:0x00004000
[  245.472932] Workqueue: pm pm_runtime_work
[  245.472934] Call Trace:
[  245.472937]  __schedule+0x288/0x800
(...)

EDIT (2021-12-05): I got the same problem again after a few days. I didn’t touch any packages (I checked the pacman log to make sure of that), it just started happening again… This is bad. Any help or a link to an issue tracker with this bug are welcome.

new dmesg error
[ 1326.881951] usb 3-2: new full-speed USB device number 3 using xhci_hcd
[ 1327.047412] usb 3-2: New USB device found, idVendor=056a, idProduct=037b, bcdDevice= 1.00
[ 1327.047419] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1327.047422] usb 3-2: Product: CTL-672
[ 1327.047424] usb 3-2: Manufacturer: Wacom Co.,Ltd.
[ 1327.047426] usb 3-2: SerialNumber: 9LE00M1013338
[ 1377.825022] audit: type=1130 audit(1638720016.062:548): pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=pamac-daemon comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 1473.943544] INFO: task kworker/7:2:210 blocked for more than 122 seconds.
[ 1473.943555]       Tainted: G        W  OE     5.14.21-2-MANJARO #1
[ 1473.943559] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 1473.943562] task:kworker/7:2     state:D stack:    0 pid:  210 ppid:     2 flags:0x00004000
[ 1473.943570] Workqueue: usb_hub_wq hub_event
[ 1473.943579] Call Trace:
[ 1473.943582]  <TASK>
[ 1473.943586]  __schedule+0x316/0x940
[ 1473.943596]  schedule+0x59/0xc0
[ 1473.943601]  schedule_timeout+0x119/0x150
[ 1473.943608]  wait_for_completion+0xa3/0x100
[ 1473.943614]  xhci_endpoint_reset+0x1bf/0x3c0
[ 1473.943622]  usb_enable_interface+0x94/0xe0
[ 1473.943629]  usb_set_configuration+0x263/0x820
[ 1473.943636]  usb_generic_driver_probe+0x4c/0x70
[ 1473.943642]  usb_probe_device+0x36/0xf0
[ 1473.943648]  really_probe+0x1f5/0x3f0
[ 1473.943655]  __driver_probe_device+0xfe/0x180
[ 1473.943660]  driver_probe_device+0x1e/0x90
[ 1473.943665]  __device_attach_driver+0x72/0xe0
[ 1473.943670]  ? driver_allows_async_probing+0x50/0x50
[ 1473.943675]  ? driver_allows_async_probing+0x50/0x50
[ 1473.943680]  bus_for_each_drv+0x8f/0xd0
[ 1473.943685]  __device_attach+0xe9/0x1f0
[ 1473.943690]  bus_probe_device+0x8e/0xa0
[ 1473.943694]  device_add+0x3d2/0x970
[ 1473.943698]  ? _dev_info+0x7b/0x92
[ 1473.943705]  usb_new_device.cold+0xd0/0x2d9
[ 1473.943712]  hub_event+0x1142/0x17f0
[ 1473.943719]  ? __pm_runtime_suspend+0x51/0x100
[ 1473.943725]  process_one_work+0x1e3/0x3b0
[ 1473.943732]  worker_thread+0x50/0x3b0
[ 1473.943736]  ? process_one_work+0x3b0/0x3b0
[ 1473.943740]  kthread+0x132/0x160
[ 1473.943744]  ? set_kthread_struct+0x40/0x40
[ 1473.943748]  ret_from_fork+0x22/0x30
[ 1473.943757]  </TASK>

EDIT 2 (2021-12-05): Ok, USB works after I plug-in the power cable to the laptop. So for me, USB works only when the kernel is 5.14.21-2 and when the charger is plugged-in.

Ok, I’ve done some more testing and switching to “testing” repos and using the kernels from there has no effect. The only thing that matters, for me at least, is that the power is connected.

Still, I don’t know if other people are having the same root issue. Hopefully that can be determined by looking at the dmesg output on connecting the first USB device.

I’m having exactly the same problem as described by @butla, with my laptop. It started with a kernel upgrade last October.
Besides the messages

tux kernel: xhci_hcd 0000:04:00.4: xHCI host not responding to stop endpoint command.
tux kernel: xhci_hcd 0000:04:00.4: USBSTS: HCHalted HSE PCD
tux kernel: xhci_hcd 0000:04:00.4: xHCI host controller not responding, assume dead
tux kernel: xhci_hcd 0000:04:00.4: HC died; cleaning up

journalctl reports (during boot) tux kernel: usb: port power management may be unreliable.

I tried “DENYLISTING” usb devices ID in tlp.conf believing this could be related to the tlp package (see archlinux.org wiki on TLP). However, the problem persists.

Apparently, for me, the problem is somehow related to TLP package. Neither “denylisting” the usb devices in tlp.conf nor disabling tlp.service in systemctl worked.

Disabling tlp.service was a solution until I suspended or hibernated my laptop. After resume from suspend the usb devices where gone with the HC died message.

However, after removing the TLP package (sudo pacman -R tlp) the problem was solved(!?).

1 Like

An alternative to removing TLP is explained in:

Removing tlp fixed it for me as well. Thank you so much, @rogerd!

Weirdly my problem just went away and I settled on 5.10 for the sake of a quiet life. I use a desktop computer, not a laptop, so tlp wasn’t involved.

5.16.0-1 didn’t fix it for me, so I’ve just stayed on 5.10 since. Maybe time to give 5.15 a go.

[Edit: 5.15.16 is working for me]

Hmm… Even after removing tlp it looks like one of my USB ports just doesn’t work if the system boots without a charger connected. Nothing appears in dmesg if plug something in.

So removing tlp made it so that one out of 2 USB ports on my laptop works when the device isn’t powered.

Does anybody have that?