USB Devices
USB device not working
Symptom: some USB devices do not work reliable when TLP activates USB autosuspend mode.
Solution: lookup the corresponding USB device ID with lsusb, add it to USB_DENYLIST and reconnect the device.
Important
All input devices (driver usbhid), libsane-supported scanners and audio devices get excluded by default. It’s therefore unnecessary to put them on the USB_DENYLIST. To circumvent the default for certain devices enter the IDs into USB_ALLOWLIST.
USB devices not working on battery power
Symptoms:
Newly inserted USB devices are not recognized on battery power
Bluetooth, Webcam, and other USB bus devices stop working after switching to battery power
Affected hardware: ThinkPad E595 AMD, T495 AMD, T495s AMD.
Workarounds (please try one by one):
Disable runtime power management for USB3 controllers by adding xhci_hcd to the denylist and reboot
RUNTIME_PM_DRIVER_DENYLIST="mei_me nouveau radeon xhci_hcd"
Disable runtime power management for AHCI devices an execute tlp start
AHCI_RUNTIME_PM_ON_BAT=on
Disable runtime power management for AHCI the disk controllers by adding ahci to the denylist and reboot
RUNTIME_PM_DRIVER_DENYLIST="mei_me nouveau radeon ahci"
USB_EXCLUDE_BTUSB=1 does not disable autosuspend
Symptom: the USB bluetooth device has autosuspend enabled after boot or after suspend/resume. tlp-stat -u shows:
Bus 001 Device 004 ID 8087:0a2b control = auto, autosuspend_delay_ms = 2000 -- Intel Corp. (btusb)
Cause: the btusb kernel driver itself enforces autosuspend (Kconfig CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y).
Solution: add the boot option btusb.enable_autosuspend=0 to your GRUB configuration.
How can I see whether autosuspend is enabled or disabled for a device?
Take a look at the device’s line in the tlp-stat -u output. Examples:
Bus 001 Device 005 ID 05e3:0608 control = auto, autosuspend_delay_ms = 0 -- Genesys Logic, Inc. Hub (hub)
Bus 001 Device 006 ID 046d:c52b control = on, autosuspend_delay_ms = 2000 -- Logitech, Inc. Unifying Receiver (usbhid)
Bus 003 Device 003 ID 8087:0032 control = on, autosuspend_delay_ms = 2000 -- Intel Corp. AX210 Bluetooth (btusb)
The first line of the example shows a hub for which the kernel always activates autosuspend. The second line belongs to an input device (recognizable by the usbhid driver) that TLP disables by default. In the third line is a bluetooth adapter that is disabled due to USB_EXCLUDE_BTUSB=1.
Autosuspend state is expressed as follows:
control = auto – autosuspend is enabled
control = on – autosuspend is disabled
Smartphone does not charge when connected
Solution: exclude the smartphone from autosuspend by configuring
USB_EXLUDE_PHONE=1
Then reconnect the device.
Nvidia Jetson devices not detected in recovery mode
Symptom: the device cannot be flashed with SDK Manager, the error message reads:
Could not detect target hardware. Please make sure the target hardware is
connected and is in recovery mode, click OK and RETRY.
Solution: add the USB device ID to USB_DENYLIST
USB_DENYLIST="0955:7c18"
and reconnect the device. Several Jetson devices with different IDs exist. Lookup the corresponding ID with lsusb | grep '0955' or check the list referenced below.
References: