---
name: "rtlbtfw"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/rtlbtfw"
---

# rtlbtfw(8)

load firmware for Realtek 87XX/88XX Bluetooth USB devices

## NAME

**rtlbtfw** – load firmware for Realtek 87XX/88XX Bluetooth USB devices

## SYNOPSIS

**rtlbtfw** **-d** *device\_name* **-f** *firmware\_path*

**rtlbtfw** **-h**

## DESCRIPTION

The **rtlbtfw** utility downloads the specified firmware file to the specified [ugen(4)](/ugen/4.md) device.

This utility will *only* work with Realtek 87XX/88XX chip based Bluetooth USB devices and some of their successors. The identification is currently based on USB vendor ID/product ID pair and interface class. For Realtek devices the vendor ID should be 0x0bda (USB\_VENDOR\_REALTEK) and the 0-th interface class/subclass/protocol should be a Bluetooth RF Wireless Controller. Non-Realtek devices are identified based on USB vendor ID/product ID pair.

Firmware files are available in the *comms/rtlbt-firmware* port.

The **rtlbtfw** utility will query the device to determine which firmware image and board configuration to load in at runtime.

The options are as follows:

- **-D**

  Enable verbose debugging.

- **-d** *device\_name*

  Specify [ugen(4)](/ugen/4.md) device name.

- **-I**

  Enable informational debugging.

- **-f** *firmware\_path*

  Specify the directory containing the firmware files to search and upload.

- **-h**

  Display usage message and exit.

## EXIT STATUS

The **rtlbtfw** utility exits 0 on success, and \>0 if an error occurs.

## SEE ALSO

[libusb(3)](/libusb/3.md), [ng\_ubt(4)](/ng_ubt/4.md), [ugen(4)](/ugen/4.md), [devd(8)](/devd/8.md)

## AUTHORS

**rtlbtfw** is based on [ath3kfw(8)](/ath3kfw/8.md) utility used as firmware downloader template and on Linux btrtl driver source code. It is written by Vladimir Kondratyev ⟨*wulf@FreeBSD.org*⟩ under sponsorship from Future Crew LLC.

## BUGS

Most likely. Please report if found.
