[ How-to ] Install BTD-500 firmware for Linux

Issue

The BTD-500 requires the installation of firmware in order for audio and other features to function. The driver is present in the Linux kernel but the firmware is not. The firmware is not open source and is not included with Linux distributions.

Solution

The firmware is available at the link below:
BTD500 Firmware

Open a terminal window, then extract the files from the ZIP file with the unzip command.

Copy the files with the following commands:

sudo cp rtl8761b_config /usr/lib/firmware/rtl_bt/rtl8761b_config.bin
sudo cp rtl8761b_fw /usr/lib/firmware/rtl_bt/rtl8761b_fw.bin

Next, power off the computer, plug in the BTD-500, then power the computer back on. The BTD-500 should now operate as expected.

Here’s an additional method to install the firmware:

cd /tmp
# Download rtl8761b_config and rtl8761b_fw from https://github.com/Realtek-OpenSourc...rdware_realtek
wget https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_config
wget https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_fw
sudo mv rtl8761b_config /lib/firmware/rtl_bt/rtl8761b_config.bin
sudo mv rtl8761b_fw /lib/firmware/rtl_bt/rtl8761b_fw
sudo modprobe btusb
sudo systemctl start bluetooth.service
hciconfig -a # will show that Bluetooth is up now

When I unzip the firmware it contains rtl8723b_fw and rtl8723b_config, NOT rtl8761b_config and _fw as described. Copying these to /usr/lib/firmware/rtl_bt as rtl8761b… causes errors saying that the firmware is for an 8723b but the device is an 8761b

Can you confirm the correct filenames and also where to get these from please?

Hi Odud,

I’ve just tried following the instructions and the file was the different file name as described. Looks like a newer file was supplied but the instructions haven’t been update to match.

Hi Brian,

I’m using Linux Mint. Installing this firmware and rebooting as described (albeit a slightly different filename). I can open up the bluetooth gui, but it doesn’t find any devices.

I’ve also tried the instructions pulling files from github, with the same result.

It’s difficult to know where the problem lies but any suggestions are appreciated.
I tried installing on a windows device but that also encountered another issue.

The instructions for copying the firmware for the BTD500 are incorrect for standard Linux (the kernel.org version). The firmwares for a USB adapter are named “rtl8671bu_fw.bin” and rtl8671bu_config.bin. The names given in the Kinivo app note are for a UART connected version, not the Kinivo product. The Kinivo firmware works fine, when properly renamed. I suggest keeping the original names and symlinking to them, since the github kernel-firmware tarball will clobber the Kinivo firmware until it gets included there (if it does).

Although the BTD400 adapter (which I also have) is not formally supported on Linux, it also works fine after adding firmware, in this case brcm/BCM20702A1-0a5c-21e8.hcd from winterheart on github, The BTD400 uses a Broadcom chip (obviously). Kinivo might consider adding an app note for that… The Broadcom files in the kernel-firmware tarball have very fussy names and the ones there are not picked up by the Linux Broadcom bluetooth code