You are not logged in.

#1 2023-03-13 16:06:08

JoeAnto
Member
Registered: 2020-04-02
Posts: 14

Getting a fake/clone CSR8510 A10 to work

So, I bought a CSR8510 A10 equipped Bluetooth 4.0 dongle, hoping to throw it into HID mode, hard-pair my Bluetooth keyboard to it, and use it like a 2.4Ghz dongle like the ones you get with "wireless" peripherals. However, after I got it, I discovered that it was a fake/clone and that this issue is so rampant that the kernel has mitigations and workarounds specifically for CSR clones.

Here's the output of several related commands:

dmesg

[  +7.033488] usb 2-1.1: new full-speed USB device number 18 using ehci-pci
[  +0.102689] usb 2-1.1: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=25.20
[  +0.000006] usb 2-1.1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[  +0.000001] usb 2-1.1: Product: CSR8510 A10
[  +0.002783] Bluetooth: hci0: CSR: Setting up dongle with HCI ver=9 rev=3120
[  +0.000004] Bluetooth: hci0: LMP ver=9 subver=22bb; manufacturer=10
[  +0.000001] Bluetooth: hci0: CSR: Unbranded CSR clone detected; adding workarounds and force-suspending once...
[  +0.000002] Bluetooth: hci0: CSR: Couldn't suspend the device for our Barrot 8041a02 receive-issue workaround
[  +0.000023] Bluetooth: hci0: HCI Delete Stored Link Key command is advertised, but not supported.
[  +0.000002] Bluetooth: hci0: HCI Read Default Erroneous Data Reporting command is advertised, but not supported.
[  +0.000001] Bluetooth: hci0: HCI Set Event Filter command not supported.
[  +0.042963] Bluetooth: hci0: unexpected cc 0x0c25 length: 2 < 3
[  +0.000011] Bluetooth: hci0: Opcode 0x c25 failed: -38

hciconfig dev

hci0:	Type: Primary  Bus: USB
	BD Address: 00:1A:7D:DA:71:10  ACL MTU: 310:4  SCO MTU: 64:8
	DOWN
	RX bytes:448 acl:0 sco:0 events:14 errors:0
	TX bytes:285 acl:0 sco:0 commands:14 errors:0

And since it's marked as "down", I tried to pull it up:

hciconfig hci0 up

Can't init device hci0: Function not implemented (38)

bccmd spread
bccmd pslist

Can't read version info for hci0: Network is down (100)

And of course bluetoothctl does not display any interfaces.

There was a popular kernel patch at some point, but it got merged in 5.9

I'm running both linux and linux-lts kernels.

I also have a working windows driver. It's working through something called "CSR Harmony Bluetooth Stack". Doesn't even work with the native Microsoft Bluetooth stack.

I took apart the dongle hoping the chip could provide some hint

CSR8510 clone

CSR8510 clone

Offline

Board footer

Powered by FluxBB