TGViewer
Linux - Reddit Linux - Reddit @r_linux · 1.05K subscribers
Post #42741 68
Fixed CSR8510/Barrot Bluetooth clone dongle failures ("Unbranded CSR clone detected", HCI timeouts) — root cause + patch

Symptom: cheap USB Bluetooth dongles sold as "CSR 4.0/5.0/5.1/5.3 adapter" (lsusb: 0a12:0001 Cambridge Silicon Radio) fail to pair, time out on HCI commands, or hci0 gets stuck until unplug/replug. Kernel log shows:

Bluetooth: hci0: CSR: Unbranded CSR clone detected; adding workarounds...
Bluetooth: hci0: command 0x0401 tx timeout
Bluetooth: hci0: CSR: Couldn't suspend the device for our Barrot 8041a02 receive-issue workaround


Root cause: these are clone chips (Barrot 8041a02 and similar), not genuine CSR8510 hardware. They respond to some HCI init commands with malformed/incomplete data, and the kernel's existing clone-detection workaround doesn't fully compensate for it — so init either fails outright or the controller gets wedged after a timeout, with no automatic recovery.

Fix: patched btusb to handle these malformed responses correctly during init, fixed a fragile USB power-management suspend path that made things worse, and added automatic recovery (USB reset) on init failure/timeout instead of leaving hci0 dead. Only affects the detected clone code path — genuine CSR hardware is untouched.

Result: adapter initializes and pairs normally instead of needing repeated unplug/replug/reset cycles.

Caveat: this covers the specific failure modes I could reproduce and test against; different clone batches use different chips internally (as pointed out in discussions elsewhere), so it may not cover every single fake CSR8510 variant out there.

Repo (patch, DKMS install/rollback instructions): https://github.com/hhsnake/csr8510-fix

Install:

sudo apt install dkms linux-headers-$(uname -r)
git clone https://github.com/hhsnake/csr8510-fix.git
cd csr8510-fix
sudo ./install.sh

Tested on kernels 5.15–7.0+ across several Ubuntu LTS/HWE combinations.

https://redd.it/1v0anuh
@r_linux
GitHub GitHub - hhsnake/csr8510-fix: Fix for fake CSR8510 A10 / Barrot 8041a02 Bluetooth dongle clones (0a12:0001) on Linux — patched… Fix for fake CSR8510 A10 / Barrot 8041a02 Bluetooth dongle clones (0a12:0001) on Linux — patched btusb driver as DKMS, kernels 5.4-7.0+ - hhsnake/csr8510-fix
More from @r_linux
  1. Sep 30, 2026AMD boosting AI/LLM performance for Radeon iGPUs as much as 18~23% with Linux 7.4 https://…
  2. Sep 24, 2026Canonical is speeding up Ubuntu's kernel updates because it's drowning in AI-discovered bu…
  3. Sep 11, 2026I realized something about Linux: Close to no reboots necessary! Under Win$lop I had to re…
  4. Aug 28, 2026postmarketOS Linux booted on iPhone 6S https://redd.it/1w0vkmn @r_linux
  5. Aug 28, 2026How did you first get introduced to linux? What is your story on how you became a linux us…
  6. Aug 27, 2026Linux currently has all time high market share at 7.5%, but what exactly happened in the l…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →