The Tallest Dwarf

RSSEmailTwitterGitHubDribbbleLinkedInFacebookInstagramYouTubePinterestReddit icon

Fixing bluetooth issues on Raspberry Pi

Posted at — Sep 17, 2020 by Abishek Muthian

I had trouble pairing Colmi P8 watch with [Raspberry Pi 3B running Arch Linux]() via bluetooth and I had to resort to following actions to resolve it. If you are facing bluetooth issues with newer Raspberry Pi, these fixes may work but I haven’t tested them for newer RPi.

Do Nothing

First try connecting to the bluetooth device with bluetoothctl to check if it was just user error.

Install the user level packages - bluez, bluez-utils (If you are trying to use any old bluetooth related software or program, you might need bluez-utils-compat instead).

Restart and enable bluetooth service.

$ systemctl restart bluetooth.service && systemctl enable bluetooth.service

Execute the following bluetoothctl commands to pair with the bluetooth device.

$ bluetoothctl
$ bluetoothctl select [MAC ADDRESS OF THE CONTROLLER]
$ bluetoothctl power on
$ bluetoothctl agent on
$ bluetoothctl discoverable on
$ bluetoothctl scan on
$ bluetoothctl pairable on
$ bluetoothctl devices
$ bluetoothctl info [MAC ADDRESS OF THE DEVICE]
$ bluetoothctl connect [MAC ADDRESS OF THE DEVICE]
$ bluetoothctl pair [MAC ADDRESS OF THE DEVICE]

If the pairing was successful, then everything was working as it should, there is nothing further to do, enjoy your bluetooth device.

HID2HCI

Changing the bluetooth profile from HID to HCI helped fix bluetooth issues for some.

Install bluez-hid2hci.

Restart and enable bluetooth service.

$ systemctl restart bluetooth.service && systemctl enable bluetooth.service

Try the Do Nothing once again.

Adding device tree node

If HID2HCI didn’t work, try this as the last resort.

Follow the instructions by Shengaoyang to add the node to the device tree, which will inform the kernel about the bluetooth. This is needed only for non-mainline kernel.

Try the Do Nothing once again.