All USB no longer working at Linux laptop

While using Zoom on my linux laptop, the USB does not work.
It happens every time and I’ve figured out how to reproduce the symptoms.

If you use the method below, USB will not working.

  1. AMD laptop running Linux (my laptop model is Lenovo S340-14API R5 - Amd 3500u)
  2. Start a meeting with two or more people through Zoom.
  3. Hold the meeting for about 5 minutes or more (mic on)
  4. Unplug the AC power from the laptop and enter battery mode.
  5. All USB devices (e.g. mouse) not working.

It happens not just once, but every time.

kernel cmdline

BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64 root=UUID=5284d176-9812-4a63-9fa4-071c2cf0a7bf rw quiet udev.log_priority=7 loglevel=7 usbcore.autosuspend=-1

my system infomation.

OS: Manjaro Linux x86_64 
Host: 81NB Lenovo IdeaPad S340-14API 
Kernel: 6.6.19-1-MANJARO 
Uptime: 22 mins 
Packages: 1636 (pacman) 
Shell: bash 5.2.26 
Resolution: 1920x1080 
DE: Xfce 4.18 
WM: Xfwm4 
WM Theme: Default 
Theme: Matcha-dark-sea [GTK2/3] 
Icons: Papirus-Dark [GTK2/3] 
Terminal: xfce4-terminal 
Terminal Font: D2Coding ligature 12 
CPU: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (8) @ 2.100GHz 
GPU: AMD ATI Radeon Vega Series / Radeon Vega Mobile Series 
Memory: 3407MiB / 17925MiB 

log

 4μ›” 01 10:06:09 laptop-linux wpa_supplicant[806]: wlp2s0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-60 noise=-95 txrate=6000

//  AC mode to Bettery mode
 4μ›” 01 10:06:50 laptop-linux systemd-udevd[294]: ACAD: Device is queued (SEQNUM=4035, ACTION=change)
 4μ›” 01 10:06:50 laptop-linux systemd-udevd[294]: ACAD: Device ready for processing (SEQNUM=4035, ACTION=change)
 4μ›” 01 10:06:50 laptop-linux systemd-udevd[294]: Successfully forked off '(udev-worker)' as PID 2153.
 4μ›” 01 10:06:50 laptop-linux systemd-udevd[294]: ACAD: Worker [2153] is forked for processing SEQNUM=4035.
 4μ›” 01 10:06:50 laptop-linux (udev-worker)[2153]: ACAD: Processing device (SEQNUM=4035, ACTION=change)
 4μ›” 01 10:06:50 laptop-linux (udev-worker)[2153]: ACAD: /usr/lib/udev/rules.d/85-tlp.rules:7 RUN '/usr/bin/tlp auto'
 4μ›” 01 10:06:50 laptop-linux (udev-worker)[2153]: ACAD: Running command "/usr/bin/tlp auto"
 4μ›” 01 10:06:50 laptop-linux (udev-worker)[2153]: ACAD: Starting '/usr/bin/tlp auto'
 4μ›” 01 10:06:50 laptop-linux (udev-worker)[2153]: Successfully forked off '(spawn)' as PID 2154.
 4μ›” 01 10:06:50 laptop-linux (udev-worker)[2153]: ACAD: Process '/usr/bin/tlp auto' succeeded.
 4μ›” 01 10:06:50 laptop-linux (udev-worker)[2153]: ACAD: Device processed (SEQNUM=4035, ACTION=change)
 4μ›” 01 10:06:50 laptop-linux (udev-worker)[2153]: ACAD: sd-device-monitor(worker): Passed 301 byte to netlink monitor.
 4μ›” 01 10:06:50 laptop-linux systemd-udevd[294]: No events are queued, removing /run/udev/queue.
 4μ›” 01 10:06:51 laptop-linux systemd-udevd[294]: BAT1: Device is queued (SEQNUM=4036, ACTION=change)
 4μ›” 01 10:06:51 laptop-linux systemd-udevd[294]: BAT1: Device ready for processing (SEQNUM=4036, ACTION=change)
 4μ›” 01 10:06:51 laptop-linux systemd-udevd[294]: BAT1: sd-device-monitor(manager): Passed 850 byte to netlink monitor.
 4μ›” 01 10:06:51 laptop-linux (udev-worker)[2153]: BAT1: Processing device (SEQNUM=4036, ACTION=change)
 4μ›” 01 10:06:51 laptop-linux (udev-worker)[2153]: BAT1: /usr/lib/udev/rules.d/85-tlp.rules:7 RUN '/usr/bin/tlp auto'
 4μ›” 01 10:06:51 laptop-linux (udev-worker)[2153]: BAT1: Running command "/usr/bin/tlp auto"
 4μ›” 01 10:06:51 laptop-linux (udev-worker)[2153]: BAT1: Starting '/usr/bin/tlp auto'
 4μ›” 01 10:06:51 laptop-linux (udev-worker)[2153]: Successfully forked off '(spawn)' as PID 2299.
 4μ›” 01 10:06:51 laptop-linux (udev-worker)[2153]: BAT1: Process '/usr/bin/tlp auto' succeeded.
 4μ›” 01 10:06:51 laptop-linux (udev-worker)[2153]: BAT1: Device processed (SEQNUM=4036, ACTION=change)
 4μ›” 01 10:06:51 laptop-linux (udev-worker)[2153]: BAT1: sd-device-monitor(worker): Passed 850 byte to netlink monitor.
 4μ›” 01 10:06:51 laptop-linux systemd-udevd[294]: No events are queued, removing /run/udev/queue.
 4μ›” 01 10:06:54 laptop-linux systemd-udevd[294]: Cleanup idle workers
 4μ›” 01 10:06:54 laptop-linux systemd-udevd[294]: Worker [2153] exited.
 4μ›” 01 10:06:58 laptop-linux systemd-udevd[294]: Cleanup idle workers
 // USB All not work.
 4μ›” 01 10:07:09 laptop-linux kernel: sd 1:0:0:0: [sda] Synchronizing SCSI cache
 4μ›” 01 10:07:09 laptop-linux kernel: sd 1:0:0:0: [sda] Stopping disk
 4μ›” 01 10:07:09 laptop-linux kernel: ata2.00: Entering standby power mode
 4μ›” 01 10:07:09 laptop-linux kernel: xhci_hcd 0000:04:00.3: WARNING: Host System Error

//  Bettery mode to AC mode
 4μ›” 01 10:07:27 laptop-linux wpa_supplicant[806]: wlp2s0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-56 noise=-95 txrate=6000
 4μ›” 01 10:07:33 laptop-linux systemd-udevd[294]: ACAD: Device is queued (SEQNUM=4037, ACTION=change)
 4μ›” 01 10:07:33 laptop-linux systemd-udevd[294]: ACAD: Device ready for processing (SEQNUM=4037, ACTION=change)
 4μ›” 01 10:07:33 laptop-linux systemd-udevd[294]: Successfully forked off '(udev-worker)' as PID 2328.
 4μ›” 01 10:07:33 laptop-linux systemd-udevd[294]: ACAD: Worker [2328] is forked for processing SEQNUM=4037.
 4μ›” 01 10:07:33 laptop-linux (udev-worker)[2328]: ACAD: Processing device (SEQNUM=4037, ACTION=change)
 4μ›” 01 10:07:33 laptop-linux (udev-worker)[2328]: ACAD: /usr/lib/udev/rules.d/85-tlp.rules:7 RUN '/usr/bin/tlp auto'
 4μ›” 01 10:07:33 laptop-linux (udev-worker)[2328]: ACAD: Running command "/usr/bin/tlp auto"
 4μ›” 01 10:07:33 laptop-linux (udev-worker)[2328]: ACAD: Starting '/usr/bin/tlp auto'
 4μ›” 01 10:07:33 laptop-linux (udev-worker)[2328]: Successfully forked off '(spawn)' as PID 2329.
 4μ›” 01 10:07:34 laptop-linux kernel: ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
 4μ›” 01 10:07:34 laptop-linux kernel: ata2.00: Entering active power mode
 4μ›” 01 10:07:34 laptop-linux kernel: ata2.00: supports DRM functions and may not be fully accessible
 4μ›” 01 10:07:34 laptop-linux kernel: ata2.00: supports DRM functions and may not be fully accessible
 4μ›” 01 10:07:34 laptop-linux kernel: ata2.00: configured for UDMA/133
 4μ›” 01 10:07:34 laptop-linux kernel: sd 1:0:0:0: [sda] Starting disk
 4μ›” 01 10:07:34 laptop-linux kernel: ata2.00: Enabling discard_zeroes_data
 4μ›” 01 10:07:34 laptop-linux (udev-worker)[2328]: ACAD: Process '/usr/bin/tlp auto' succeeded.
 4μ›” 01 10:07:34 laptop-linux (udev-worker)[2328]: ACAD: Device processed (SEQNUM=4037, ACTION=change)
 4μ›” 01 10:07:34 laptop-linux (udev-worker)[2328]: ACAD: sd-device-monitor(worker): Passed 301 byte to netlink monitor.
 4μ›” 01 10:07:34 laptop-linux systemd-udevd[294]: No events are queued, removing /run/udev/queue.
 4μ›” 01 10:07:34 laptop-linux systemd-udevd[294]: BAT1: Device is queued (SEQNUM=4038, ACTION=change)
 4μ›” 01 10:07:34 laptop-linux systemd-udevd[294]: BAT1: Device ready for processing (SEQNUM=4038, ACTION=change)
 4μ›” 01 10:07:34 laptop-linux systemd-udevd[294]: BAT1: sd-device-monitor(manager): Passed 847 byte to netlink monitor.
 4μ›” 01 10:07:34 laptop-linux (udev-worker)[2328]: BAT1: Processing device (SEQNUM=4038, ACTION=change)
 4μ›” 01 10:07:34 laptop-linux (udev-worker)[2328]: BAT1: /usr/lib/udev/rules.d/85-tlp.rules:7 RUN '/usr/bin/tlp auto'
 4μ›” 01 10:07:34 laptop-linux (udev-worker)[2328]: BAT1: Running command "/usr/bin/tlp auto"
 4μ›” 01 10:07:34 laptop-linux (udev-worker)[2328]: BAT1: Starting '/usr/bin/tlp auto'
 4μ›” 01 10:07:34 laptop-linux (udev-worker)[2328]: Successfully forked off '(spawn)' as PID 2474.
 4μ›” 01 10:07:34 laptop-linux (udev-worker)[2328]: BAT1: Process '/usr/bin/tlp auto' succeeded.
 4μ›” 01 10:07:34 laptop-linux (udev-worker)[2328]: BAT1: Device processed (SEQNUM=4038, ACTION=change)
 4μ›” 01 10:07:34 laptop-linux (udev-worker)[2328]: BAT1: sd-device-monitor(worker): Passed 847 byte to netlink monitor.
 4μ›” 01 10:07:34 laptop-linux systemd-udevd[294]: No events are queued, removing /run/udev/queue.

Check if your Lenovo laptop has some power settings related to USB in the system’s firmware.

1 Like

I just changed the USB settings.
Always On USB” to β€œEnabled”,
USB hybrid charging mode,
USB legacy mode.

But It was the same.

Check your power settings - including tlp if installed and enabled.

Referring your kernel cmdline - the last part usbcore.autosuspend

There is dozens more searching for [usbcore.autosuspend - sx.nix.dk]

I think tlp is shutting down power to preserve battery.

/usr/lib/udev/rules.d/85-tlp.rules file does not exist.

and I removed tlp, but the same thing happens.

post the output of

systemctl status tlp.service
USB autosuspend

When starting TLP with the default configuration, some USB devices such as audio DACs will be powered down when running on battery due to TLP's autosuspend feature. Some devices such as keyboards and scanners are blacklisted from autosuspend by default.

You may simply want to disable USB autosuspend entirely with the following setting:

/etc/tlp.conf

# Do not suspend USB devices
USB_AUTOSUSPEND=0

Or blacklist specific devices from being auto-suspended. See the TLP documentation on USB devices for details. 

https://wiki.archlinux.org/title/TLP

then you have to post the new log, from what you posted above that is the last thing that happens

I’m sorry.
After removing tlp and rebooting, USB worked fine.

Here is My tlp usb setting…

[laptop-linux etc]# tlp-stat -u
--- TLP 1.6.1 --------------------------------------------

+++ USB
Autosuspend       = disabled
Device allowlist  = (not configured)
Device denylist   = (not configured)
Exclude audio     = enabled
Exclude bluetooth = enabled
Exclude phones    = disabled
Exclude printers  = enabled
Exclude WWAN      = disabled

and the same thing happens.

## AC to BAT mode
 4μ›” 02 11:51:35 laptop-linux kernel: sd 1:0:0:0: [sda] Synchronizing SCSI cache
 4μ›” 02 11:51:35 laptop-linux kernel: sd 1:0:0:0: [sda] Stopping disk
 4μ›” 02 11:51:35 laptop-linux kernel: ata2.00: Entering standby power mode
# USB not worked.
 4μ›” 02 11:51:35 laptop-linux kernel: xhci_hcd 0000:04:00.3: WARNING: Host System Error


# BAT to AC mode. --> USB still doesn't work.
 4μ›” 02 11:51:50 laptop-linux kernel: ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
 4μ›” 02 11:51:50 laptop-linux kernel: ata2.00: Entering active power mode
 4μ›” 02 11:51:50 laptop-linux kernel: ata2.00: supports DRM functions and may not be fully accessible
 4μ›” 02 11:51:50 laptop-linux kernel: ata2.00: supports DRM functions and may not be fully accessible
 4μ›” 02 11:51:50 laptop-linux kernel: ata2.00: configured for UDMA/133
 4μ›” 02 11:51:50 laptop-linux kernel: sd 1:0:0:0: [sda] Starting disk
 4μ›” 02 11:51:50 laptop-linux kernel: ata2.00: Enabling discard_zeroes_data

 4μ›” 02 11:57:05 laptop-linux kernel: hid-generic 0003:24AE:2013.0004: usb_submit_urb(ctrl) failed: -19
 4μ›” 02 11:57:06 laptop-linux kernel: hid-generic 0003:24AE:2013.0004: usb_submit_urb(ctrl) failed: -19

My Kernel cmdline

[laptop-linux rules.d]# cat /proc/cmdline 
BOOT_IMAGE=.. root=... rw usbcore.autosuspend=-1

[laptop-linux ~]# cat /sys/module/usbcore/parameters/autosuspend
-1

and I tried following the link above, but it didn’t work.
[USB autosuspend issue (can’t disable) / Newbie Corner / Arch Linux Forums]

It does - perhaps a network glitch

Perhaps you should try the search link instead - then find the solution working for your case.

Do your homework instead of providing a series of it didn’t work or same thing happens

  • don’t expect the members of this forum to spoonfeed you
  • do some work yourself…
  • you are required to think for yourself
  • learn to search
  • make a note on a piece of paper
  • think and apply relevant configuration
  • if it doesn’t work - revert and think again

You have been provided with ample responses to your issue to be able to work out a solution.

hmm. I tried a lot before writing this post on this forum.
That didn’t work, so I wrote a post on this forum.
usbcore.autosuspend=-1 If you look at the first related article, I wrote about what I’ve already tried.
I also tried changing and removing USB-related options (usb autosuspend, usb sound, usb denylist) in tlp.conf and changing them to laptop_mode_tools, but it didn’t work.
This is what I wrote on this forum.

Thank you.

I think it’s probably been resolved.
The cause was the SATA SSD TLP settings.

Change all USB PWM settings to default
I changed just one SATA SSD setting in tlp.conf and it works fine so far.
Based on the kernel log, I guess it is probably caused by the SATA SSD being recognized as a hard drive and spin off.

dmesg error log

4μ›” 02 11:51:35 laptop-linux kernel: sd 1:0:0:0: [sda] Synchronizing SCSI cache
4μ›” 02 11:51:35 laptop-linux kernel: sd 1:0:0:0: [sda] Stopping disk
4μ›” 02 11:51:35 laptop-linux kernel: ata2.00: Entering standby power mode
# USB not worked.
4μ›” 02 11:51:35 laptop-linux kernel: xhci_hcd 0000:04:00.3: WARNING: Host System Error

The final settings are as follows.

tlp.conf

# remove USB_AUTOSUSPEND=0
#USB_AUTOSUSPEND=0

# Runtime Power Management for NVMe, SATA, ATA and USB disk
# as well as SATA ports: 
#   on=disable, auto=enable.
AHCI_RUNTIME_PM_ON_AC=on                                                        
AHCI_RUNTIME_PM_ON_BAT=on  

GRUB cmdline

...
# remove usbcore.autosuspend=-1 
GRUB_CMDLINE_LINUX_DEFAULT="quiet udev.log_priority=3"
...

usb autosuspend

#  cat /sys/module/usbcore/parameters/autosuspend
2

Thank you to everyone who responded.

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.