Setup Bluetooth Adapter on Linux

— 2 minute read

I have a desk­top with Linux in­stalled on it and i would like to add blue­tooth adapter for it. This is my Linux ver­sion

➜ uname -v -r   
5.8.0-55-generic #62~20.04.1-Ubuntu SMP Wed Jun 2 08:55:04 UTC 2021

So i de­cided to bought this ORICO BTA508 USB Bluetooth 5.0 Dongle BTA 508 BTA-508 Adapter - Hitam” from Tokopedia. But, the only of­fi­cial dri­ver/​firmware is for Windows.

Then, how about Linux ? To solve this ques­tion, we need to know which chip the blue­tooth uses and in­stall a cus­tom firmware/​dri­ver.

Use this com­mand to check what chips the blue­tooth adapter use

dmesg | grep -i Bluetooth

The out­put should looks like this

[    1.810236] usb 1-4.2: Product: Bluetooth Radio
...
[    3.546498] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761b_fw.bin
[    3.551034] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761b_config.bin
...

This line hci0: RTL: loading rtl_bt/rtl8761b_fw.bin shows us, that the chip is rtl8761b and it need rtl8761b_fw firmware/​dri­ver. So i google rtl8761b_fw and found an ar­ti­cle from rasp­berry fo­rum with the same ques­tion.

But, to be sure i look up to it once again and found this arch linux post. After i read from arch linux post, i de­cided to fol­low it. So, i down­load the dri­ver from the source men­tion in the ar­ti­cle and fol­low the steps from the rasp­berry fo­rum ar­ti­cle as fol­lows:

  1. Extract the dri­ver
  2. Copy the dri­vers
sudo cp -iv 20201202_LINUX_BT_DRIVER/rtkbt-firmware/lib/firmware/rtlbt/rtl8761b_fw /lib/firmware/rtl_bt/rtl8761b_fw.bin

sudo cp -iv 20201202_LINUX_BT_DRIVER/rtkbt-firmware/lib/firmware/rtlbt/rtl8761b_config /lib/firmware/rtl_bt/rtl8761b_config.bin
  1. Reboot

Thats it, when i check on blue­tooth man­ager, it works