How can I further investigate random bluetooth crashes?
I have Fedora 28 installed on my ThinkPad X220 laptop and recently upgraded my bluetooth daughter card to one supporting BT 4.0 Low Energy so I can use my Dell KM717 keyboard/mouse set with it.
lsusb
shows it as Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
and for the most part it's working as expected, but sometimes the bluetooth just cuts out completely, the bluetooth indicator in the GNOME status bar disappears for a short time only to reappear several seconds later indicating that both the keyboard and the mouse are reconnected, when in fact none of them would work anymore. I can get them working again by turning bluetooth off and in again in the GNOME status bar and reconnecting the devices using bluetoothctl
. Since that is really tedious, I tried automating that bit and found that rfkill block 0 && sleep 1 && rfkill unblock 0 && sleep 1 && echo -e 'connect [keyboard MAC]\nconnect [mouse MAC]\nquit' | bluetoothctl
also succeeds in reconnecting them for real.
As stated in the title, these crashes are rather random in nature and sometimes I have to issue the command line several times within a few minutes time, reaching over to my laptop's keyboard every time.
UPDATE: After installing the firmware patch as suggested in this answer, the crashes still occur, but I don't have to manually block/unblock the radio for my mose/keyboard to reconnect. Now sudo journalctl -b | grep -i bluetooth
shows the following after a crash:
Aug 29 17:11:27 myhostname systemd[1]: bluetooth.target: Unit not needed anymore. Stopping.
Aug 29 17:11:27 myhostname systemd[1]: Stopped target Bluetooth.
Aug 29 17:11:27 myhostname bluetoothd[1683]: Endpoint unregistered: sender=:1.72 path=/MediaEndpoint/A2DPSource
Aug 29 17:11:27 myhostname bluetoothd[1683]: Endpoint unregistered: sender=:1.72 path=/MediaEndpoint/A2DPSink
Aug 29 17:11:28 myhostname systemd[1]: Reached target Bluetooth.
Aug 29 17:11:28 myhostname kernel: Bluetooth: hci0: BCM: chip id 63
Aug 29 17:11:28 myhostname kernel: Bluetooth: hci0: BCM: features 0x07
Aug 29 17:11:28 myhostname kernel: Bluetooth: hci0: myhostname
Aug 29 17:11:28 myhostname kernel: Bluetooth: hci0: BCM20702A1 (001.002.014) build 1757
Aug 29 17:11:29 myhostname kernel: Bluetooth: hci0: BCM20702A1 (001.002.014) build 1757
Aug 29 17:11:29 myhostname kernel: Bluetooth: hci0: Broadcom Bluetooth Device
Aug 29 17:11:29 myhostname bluetoothd[1683]: Endpoint registered: sender=:1.72 path=/MediaEndpoint/A2DPSource
Aug 29 17:11:29 myhostname bluetoothd[1683]: Endpoint registered: sender=:1.72 path=/MediaEndpoint/A2DPSink
Aug 29 17:11:30 myhostname kernel: hid-generic 0005:413C:301E.000A: input,hidraw0: BLUETOOTH HID v0.01 Mouse [Dell WM527 Mouse] on [bluetooth MAC]
Aug 29 17:11:34 myhostname kernel: hid-generic 0005:413C:2114.000B: input,hidraw1: BLUETOOTH HID v0.01 Keyboard [Dell WK717Keyboard] on [bluetooth MAC]
Output of dmesg -l err
:
[16978.700637] ACPI: \_SB_.PCI0.LPC_.EC__.BAT1: Unable to dock!
[16981.219162] cdc_wdm ...
what
$ dmesg -l err
says? it usually reports hardware related issues,