2

I want to use an external Bluetooth 5.1 USB adapter on Pi4. The chip on the adapter is Realtek RTL8671b. I googled how to get an external BT work and most of the tutorials suggest disabling the onboard BT.

I disabled the onboard BT by editing the config file. The external adapter gets detected properly with lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub 
Bus 001 Device 003: ID 0bda:a725 Realtek Semiconductor Corp. Bluetooth 5.1 Radio 
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

However, when I check the status I get the following:

pi@raspberrypi:~ $ sudo service bluetooth status 
bluetooth.service - Bluetooth service   
Loaded: loaded  (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)   Active: inactive (dead)   
Docs: man:bluetoothd(8)

After starting the BT service:

pi@raspberrypi:~ $ sudo systemctl status bluetooth ● bluetooth.service

- Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enab>
     Active: active (running) since Mon 2022-06-13 12:55:19 BST; 6min ago
       Docs: man:bluetoothd(8)    Main PID: 5696 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 4915)
        CPU: 121ms
     CGroup: /system.slice/bluetooth.service
             └─5696 /usr/libexec/bluetooth/bluetoothd

Jun 13 12:55:19 raspberrypi systemd[1]: Starting Bluetooth service... Jun 13 12:55:19 raspberrypi bluetoothd[5696]: Bluetooth daemon 5.55 Jun 13 12:55:19 raspberrypi systemd[1]: Started Bluetooth service. Jun 13 12:55:19 raspberrypi bluetoothd[5696]: Starting SDP server Jun 13 12:55:19 raspberrypi bluetoothd[5696]: Bluetooth management interface
1.21 initia> lines 1-16/16 (END)

so I suppose the BT service is running properly now. However when I try to list or show the BT devices I get

pi@raspberrypi:~ $ bluetoothctl Agent registered [bluetooth]# list [bluetooth]# show No default controller available

I have tried installing the driver files as mentioned Here with one difference. Instead of rtl8761b I have used the rtl8761bu_firware and rtl8761bu_config as my adapter has bu version of the chip.

Using dmesg | grep Bluetooth before driver installation used to mention rtl8761bu firmware not found but Now it returns nothing. I believe there is no issue with the driver.

I am a total novice when it comes to Linux OS and after several hours of searching the solution online I am stuck as bluetoothctl doesn't see my adapter. I re-enabled the onboard BT and bluetoothctl can only see the onboard BT. lsusb always detects the adapter correctly.

Could you please suggest what could be the problem and how to fix it? Thanks

1
  • Did you ever get this working? I have the same problem with the same hardware and even tried to use the same drivers from your link. In my case the it is still trying to download the rtl8761a firmware and not the 'b' version, and the HCI download times out.
    – Freeman
    Commented Mar 16, 2023 at 0:01

1 Answer 1

0

I've just resolved this with solution from this thread by Sergey_B.

cd /lib/firmware/rtl_bt
sudo mv rtl8761bu_config.bin backup_rtl8761bu_config.bin
sudo mv rtl8761bu_fw.bin backup_rtl8761bu_fw.bin
sudo ln -s rtl8761b_config.bin rtl8761bu_config.bin
sudo ln -s rtl8761b_fw.bin rtl8761bu_fw.bin

Reboot and have a good day.

Tested on Fedora 40 with kernel 6.8.9-300.fc40.x86_64. I guess that wrong module is loaded for bluetooth usb stick with VID:PID 0bda:a725, these symlinks are mitigating that.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .