Bluetooth

Broadcom BCM20702B0-class USB Bluetooth

A Broadcom USB family with PatchRAM setup. Board and USB product details can influence the HCD filename chosen after controller identification.

On this page
  1. Overview & identity
  2. Driver & binding
  3. Firmware
  4. Read-only diagnostics
  5. Limitations & related issues
  6. References

Overview & identity

19ff:0239 is explicitly grouped as BCM20702B0 in btusb. It is a controller-family candidate, not a promise of a unique enclosure or Bluetooth feature set.

Curated identifiers
usb 19ff:0239

A numeric match establishes a candidate family within the reviewed evidence. Marketing names, board variants, subsystem conditions and successful operation remain separate questions.

Driver & binding

btusb carries USB traffic and btbcm reads controller subversion and product information before trying HCD patch names. Board-suffixed and fallback names are distinct attempts.

  • btusb — kernel driver/module candidate
  • btbcm — kernel driver/module candidate

Detected, bound, operational: learn the difference

Firmware

Conditional firmware path

The helper constructs a list from the detected hardware name, USB product and optional board name. The exact requested HCD names and outcome must be read from the host log.

Checked examples or filename branches, not a complete installation list:

  • brcm/*.hcd

Inspect firmware packaging on your distribution

Read-only diagnostics

Run one displayed command at a time. Replace uppercase placeholders with the affected device, interface or module from your own output. Commands are never executed here. Read-only output can still contain private identifiers.

Read USB transport binding

lsusb -t

Find the controller’s port and interface in the USB tree. Driver=btusb is transport binding, not proof that firmware setup or audio profiles succeeded. This query normally needs no root privileges.

Read controllers visible to BlueZ

bluetoothctl list

This asks the BlueZ daemon for known controllers without discovery or pairing. An empty response can mean daemon or D-Bus access problems as well as absent controllers; compare kernel enumeration. Normally no root privileges are needed.

Read controller initialization

journalctl -k -b --no-pager

Read the current boot’s kernel messages for the controller, requested firmware and setup result. Journal visibility depends on local permissions; an unreadable log is not evidence of no errors. This command does not change the device.

Limitations & related issues

A PatchRAM candidate is not evidence that an HCD patch was found. A generic brcm/*.hcd example must not be used to pick a file for another board or controller.

These guides are linked for relevant observations, not as known defects of every device in this family.

Choose a hardware diagnostic workflow · Inspect a log excerpt in Fix Lab

References

Source review records a checked implementation or document, not a reproduced hardware test. Version-specific tables do not establish a minimum kernel or guaranteed operation.