Skip to content

Apple Driver Bluetooth

Abdelkader Boudih edited this page Aug 24, 2026 · 2 revisions

Bluetooth

Upstream status: yes, with a firmware gap. FreeBSD Bluetooth on Macs uses the netgraph HCI stack with ng_ubt(4). All Apple Bluetooth radios are Broadcom USB devices (often on the same module as WiFi).

Piece Driver Status
USB HCI transport ng_ubt(4) upstream, attaches on every Intel Mac
Ancient BCM2033 firmware load ubtbcmfw(4) upstream, museum hardware only
BCM20702/4360-era patchram none the gap: radio runs the ROM firmware without patches
T2-era BCM4364 combo untested radio is USB, should reach ng_ubt

The patchram gap

Modern Broadcom radios boot a ROM firmware and expect the host to upload a patchram (.hcd file) at attach, like Linux btbcm does. FreeBSD has no patchram loader, so the radio works with ROM behavior: basic pairing and classic profiles usually function, LE reliability and newer features suffer. A patchram loader is a well-scoped future driver project, and the .hcd extraction path from macOS or linux-firmware is well documented.

Practical notes

  • Start the stack with service bluetooth start ubt0 and use hccontrol/bthidd; this is standard FreeBSD, nothing Apple-specific.
  • Apple wireless keyboards, mice, and trackpads pair as standard HID over Bluetooth and work with bthidd; the Magic Trackpad multitouch surface degrades to a plain mouse.
  • On combo modules, Bluetooth is independent of WiFi driver state: the BT function enumerates over USB even where WiFi has no driver at all.

Back to Apple Hardware.

Clone this wiki locally