Repository navigation
Apple Driver Bluetooth
Abdelkader Boudih edited this page Aug 24, 2026
·
2 revisions
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 |
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.
- Start the stack with
service bluetooth start ubt0and 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.