Overview & identity
0cf3:3004 is in the AR3012 loading and patch/sysconfig tables. It is distinct from QCA ROME USB IDs, even though both use Atheros/Qualcomm vendor identities.
- Curated identifiers
usb 0cf3:3004
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
ath3k chooses AthrBT and ramps filenames using ROM version and clock data. btusb also marks this identity for the AR3012 handoff rather than treating it as a generic ready controller.
ath3k— kernel driver/module candidatebtusb— kernel driver/module candidate
Firmware
Host-loaded firmware required
The source generates patch names from ROM version and sysconfig names from ROM version plus reference clock. Exact values require the device’s initialization data.
Checked examples or filename branches, not a complete installation list:
ar3k/AthrBT_0x*.dfuar3k/ramps_0x*_*.dfu
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 -tFind 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 listThis 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-pagerRead 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
The two patterns are complementary loading components, not interchangeable patches. A controller visible to BlueZ only proves a later stage became visible.
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.
- Linux source: ath3k.c
Reviewed upstream source
line 88 - Linux source: btusb.c
Reviewed upstream source
line 240 - BlueZ: bluetoothctl controller queries
Project or distribution documentation
- Linux source: Makefile
Reviewed upstream source
line 52