Context:
- Linux kernel 5.10.x (5.18.x also)
- Thinkpad X1c (gen7) laptop
Problem:
Sometimes, when I set my system to sleep (suspend to RAM) and then resume, the bluetooth adapter is not found anymore. If I reboot, it works again.
When it works,
here is the (internal) bluetooth adapter as seen from lsusb
:
# lsusb | grep 8087
Bus 001 Device 006: ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
And I'm able to scan, connect & use my bluetooth devices.
When it doesn't work:
- usually after a computer power suspend/resume (not systematically),
lsusb
does not display the above device anymore,- I'm not able to scan, connect or even see my bluetooth adapter.
And kern.log
says:
usb usb1-port10: Cannot enable. Maybe the USB cable is bad?
usb usb1-port10: Cannot enable. Maybe the USB cable is bad?
usb usb1-port10: attempt power cycle
usb 1-10: new low-speed USB device number 71 using xhci_hcd
usb 1-10: Device not responding to setup address.
usb 1-10: Device not responding to setup address.
usb 1-10: device not accepting address 71, error -71
usb 1-10: new low-speed USB device number 72 using xhci_hcd
usb 1-10: Device not responding to setup address.
usb 1-10: Device not responding to setup address.
usb 1-10: device not accepting address 72, error -71
usb usb1-port10: unable to enumerate USB device
Port 10 is the one connected to the bluetooth adapter.
What I already tried (doesn't work):
systemctl restart bluetooth.service
,modprobe -r btusb && modprobe btusb
,bluetoothctl power on
: saysNo default controller available
,rfkill unblock bluetooth
, even if it shows a bluetooth device and accepts the command.
My question
How can I make the Bluetooth work properly again without rebooting the whole computer?