2019-07-29 03:24:44

by Andrii Batyiev

[permalink] [raw]
Subject: Yet another counterfeit CSR device?

Hello everyone,

I have nontdescript usb bluetooth dongle with "V5.0" marking on it.
It claims to be CSR (0a12:0001) bluetooth dongle, but it has
nonfunctional "delete stored link key" command, so I think it is
counterfeit.

Futhermore, Linux kernel doesn't detect it as counterfeit
(in`btusb_setup_csr`), because the dongle reports following:

- From USB enumeration:
bcdDevice = 0x8891

- From Read Local Version HCI command:
Manufacturer = 0x000a (CSR)
HCI ver. = 4.0
HCI rev. = 2064
LMP ver. = 4.0
LMP subver. = 4114

So, Linux kernel fails to power up this dongle. Ok, so I've hacked
`btusb_setup_csr` routine to include this device too (it powers up
now), however GATT communication doesn't work (btmon should nothing =
no ATT exchanges except MTU setup).

Any ideas on what should I check to make this device work?

Thanks,
Andrey


2019-07-30 11:22:44

by Marcel Holtmann

[permalink] [raw]
Subject: Re: Yet another counterfeit CSR device?

Hi Andrey,

> I have nontdescript usb bluetooth dongle with "V5.0" marking on it.
> It claims to be CSR (0a12:0001) bluetooth dongle, but it has
> nonfunctional "delete stored link key" command, so I think it is
> counterfeit.
>
> Futhermore, Linux kernel doesn't detect it as counterfeit
> (in`btusb_setup_csr`), because the dongle reports following:
>
> - From USB enumeration:
> bcdDevice = 0x8891
>
> - From Read Local Version HCI command:
> Manufacturer = 0x000a (CSR)
> HCI ver. = 4.0
> HCI rev. = 2064
> LMP ver. = 4.0
> LMP subver. = 4114
>
> So, Linux kernel fails to power up this dongle. Ok, so I've hacked
> `btusb_setup_csr` routine to include this device too (it powers up
> now), however GATT communication doesn't work (btmon should nothing =
> no ATT exchanges except MTU setup).
>
> Any ideas on what should I check to make this device work?

please post a btmon -w trace.log from the init procedure. You might need to blacklist btusb.ko module and then manually load it to capture the whole sequence with btmon.

Regards

Marcel