Overview & identity
This generic profile covers the documented QCA UART path only. hci_uart or btqca presence cannot select a specific QCA/WCN chip or board.
This is an explicit class, transport or driver-context profile. It is not an exact numeric product match.
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
hci_qca is a component of hci_uart in this snapshot, while btqca supplies firmware helpers. Device description, controller version and board data refine the setup route.
hci_uart— kernel driver/module candidatebtqca— kernel driver/module candidate
Firmware
Device/revision dependent
The source has chip/version-specific patch and NVM naming branches. These two checked patterns are examples, not universal requirements or a board-file choice.
Checked examples or filename branches, not a complete installation list:
qca/rampatch_*.binqca/nvm_*.bin
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 the controller parent path
readlink -f /sys/class/bluetooth/CONTROLLER/deviceReplace CONTROLLER with the local hci name, such as hci0, found in /sys/class/bluetooth. The path helps distinguish USB, serial and SDIO parents. It does not prove which UART protocol is active. No root privileges are needed.
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 listed rampatch/nvm patterns are examples for one helper branch; other Qualcomm generations use different names. Serial parent visibility does not establish firmware success.
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: hci_qca.c
Reviewed upstream source
- Linux source: btqca.c
Reviewed upstream source
line 831 - Linux source: Kconfig
Reviewed upstream source
line 241 - Linux source: Makefile
Reviewed upstream source
line 48 - BlueZ: bluetoothctl controller queries
Project or distribution documentation
- Linux source: Makefile
Reviewed upstream source
line 52