1

I hope this is the correct group for this question. If not I can redirect the post.

I have developped a BSP for Raspberry Pi 4 2G using Buildroot.

I enabled the rpi-bt-firmware, rpi-firmware and the bluez5 utils and tools, but running the bluetooth is failing.

What I have tried for the moment :

The bluetoothctl command : permits to enter the bluetooth mode

In the bluetooth mode, I try to display the controllers available with the command list but none is displayed:

    #bluetoothctl
    Agent registered
    [bluetooth]# list
    [bluetooth]#

It is confirmed by running the command scan (used to detect available bluetooth devices around) which returns :

[bluetooth]# scan on
No default controller available
[bluetooth]#

I also try the rfkill list command to display all available wireless controllers and it returns a Wireless LAN but no bluetooth

# rfkill list
0: phy0: Wireless LAN
         Soft blocked: no
         Hard blocked: no
#

I searched in the buildroot configuration and in the prompt help it is mentioned that the rpi-bt-firmware package is used for ras pi 3b. Is there another package for ras pi4? I wonder if all firmwares were gathered in rpi-firmware. I installed it but the result is still the same as above : no bluetooth.

Any help or link will be much appreciated. I can provide any extra info needed.

4
  • The bluetoothctl tool requires that D-Bus is up and running to communicate with bluetoothd the Bluetooth daemon. I don't know if it is that one or both of them has not been started. You could try using sudo btmgmt info to see if that can find the Bluetooth controller as that uses a user socket (rather than D-Bus) to communicate with bluetoothd. The hci* set of tools have been deprecated but they are still on RPi so you could try hciconfig to see if that finds the Bluetooth controller as that does not go through bluetoothd
    – ukBaz
    Sep 8 '21 at 6:31
  • Thanks for the reply! I tried sudo btmgmt info but the command is not available in my system (perhaps beacause as an embeeded system, it has limited functionnality). I digged into the D-BUS and bluetoothd and found out the command /usr/libexec/bluetooth/bluetoothd& which outputs D-BUS setup failed:Name already in use. I also found out the command /etc/init.d/S40bluetooth start which outputs starting bluetoothd : FAIL!. As I suspected that bluetoothd was already in use, I tried /etc/init.d/S40bluetooth restart and got stopping bluetoothd : OK & starting bluetoothd :OK
    – honoju
    Sep 9 '21 at 8:02
  • After restarting bluetoothd, I tried hciconfig -a which outputs nothing and rfkill list which still outputs a wireless LAN but no bluetooth. Finally, I also tried /etc/init.d/S30dbus restart which outputs stopping system message bus: done, starting system message bus: done ** and *[1] Done /usr/libexec/bluetooth/bluetoothd. I coninue digging, any extra help will be appreciated ;)
    – honoju
    Sep 9 '21 at 8:19
  • If hciconfig doesn't output anything then I think there is a fundamental problem. There are various discussions about bluetooth.service not starting successfully on github.com/RPi-Distro/pi-bluetooth. Is there anything in the follow that helps you for example? github.com/RPi-Distro/pi-bluetooth/pull/22
    – ukBaz
    Sep 9 '21 at 8:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.