Bluetooth firmware upload failing after 'suspend'

bluetooth
suspend
kernel416-rt

#1

Resuming my laptop after ‘suspend’ results in the bluetooth device no longer functioning, because the firmware upload failes

Bluetooth: hci0: Bootloader revision 0.0 build 2 week 52 2014
Bluetooth: hci0: Device revision is 5
Bluetooth: hci0: Secure boot is enabled
Bluetooth: hci0: OTP lock is enabled
Bluetooth: hci0: API lock is enabled
Bluetooth: hci0: Debug lock is disabled
Bluetooth: hci0: Minimum firmware build 1 week 10 2014
Bluetooth: hci0: Found device firmware: intel/ibt-11-5.sfi
Bluetooth: hci0: Failed to send firmware data (-38)

Sometimes

Bluetooth: hci0: Failed to send firmware data (-110)

The remedy is to completly disable bluetooth, remove all bt/bluetooth kernel modules and start all over again.

This happens since the update to kernel 4.16-rt, under 4.14-rt there was no problem.

Is there anything I can do, short of codeefying the module removal/adding in a shellscript?


#2

Ah, would this explain my problem as well?

It used to be that when I looked at the Bluetooth device manager, my mouse would always show as “paired” even when I had not turned on my mouse. Now, Manjaro can not remember my bluetooth mouse after suspend and boot (and after usb-suspend (?) during lockscreen). The Bluetooth device manager now always shows my mouse as not paired.


#3

Check with

dmesg | grep Blue

in a shell – it may be a device problem, the web is full from reports of a wide range of causes and remedies for bluetooth related problems


#4

I see

quite often at boot. But not always. That never stopped my Bluetooth mouse from working fine before though.

Edit: yup, it’s also in the log now.


#5

When my bluetooth adapter works, I see the following in the log

Bluetooth: hci0: Waiting for firmware download to complete
Bluetooth: hci0: Firmware loaded in 1448401 usecs

Maybe a subsequent try to load the firmware is successfull in your setup? Or the problem is unrelated to/different from mine – it is consistent in my case, firmare loaded bluetooth OK, firmware not loaded bluetooth not ok


#6

First try at boot fails:
[ 11.009298] Bluetooth: hci0: Failed to send firmware data (-38)

A little later it succeeds:
[ 19.963502] Bluetooth: hci0: Firmware loaded in 1599607 usecs

After suspend it also fails and then works:
[ 3339.187438] Bluetooth: hci0: Failed to send firmware data (-38)
[ 3348.240209] Bluetooth: hci0: Firmware loaded in 1696461 usecs


#7

Further investigating this problem, I found out that indeed in my case also, firmware loading does fail from time to time after a reboot; and further that is is sufficient to unload/load the btusb-module

sudo rmmod btusb
sleep 1
sudo modprobe btusb