Re: [PATCH] Bluetooth: btusb: treat 0bda:0002 as a generic HCI device

Paul Menzel <[email protected]>
Newsgroups org.kernel.vger.linux-bluetooth,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Dear Andrew,


Thank you for your patch.

Am 15.08.26 um 05:33 schrieb Andrew Bille:
> The 0bda:0002 Bluetooth controller reports itself as "CSR BS8510"
> and exposes a standard Bluetooth USB interface.

Where did you find this controller?

> It currently matches the vendor-wide Realtek quirk and is therefore
> initialized through btrtl. The controller does not respond to the
> Realtek-specific register access and initialization fails with:
> 
>      Bluetooth: hci0: RTL: RTL: Read reg16 failed (-110)
> 
> No Bluetooth controller is then available to userspace.
> 
> Add an exact match for 0bda:0002 before the generic Realtek entry so
> that the device is handled as a generic USB HCI controller.

Does the device need any firmware?

> With this change the controller registers successfully. Scanning,
> pairing and A2DP audio have been tested successfully.

Please include relevant output of `/sys/kernel/debug/usb/devices`.

> Fixes: a2698a9bf9b0 ("Bluetooth: btusb: Add Realtek 8723A/8723B/8761A/8821A support")
> Cc: [email protected]
> Assisted-by: ChatGPT:GPT-5.6-Sol
> Signed-off-by: Andrew Bille <[email protected]>
> ---
>   drivers/bluetooth/btusb.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> index 184e95c1625e..fb9fdf90a3b9 100644
> --- a/drivers/bluetooth/btusb.c
> +++ b/drivers/bluetooth/btusb.c
> @@ -615,6 +615,9 @@ static const struct usb_device_id quirks_table[] = {
>   	{ USB_DEVICE(0x0489, 0xe130), .driver_info = BTUSB_REALTEK |
>   						     BTUSB_WIDEBAND_SPEECH },
>   
> +	/* CSR BS8510 device using a Realtek USB vendor ID */
> +	{ USB_DEVICE(0x0bda, 0x0002) },
> +

Could some sort of message be logged, as we don’t know if there actual 
Realtek devices out there, that would regress? (More info in the commit 
message regarding regression potential would be useful.)

>   	/* Realtek Bluetooth devices */
>   	{ USB_VENDOR_AND_INTERFACE_INFO(0x0bda, 0xe0, 0x01, 0x01),
>   	  .driver_info = BTUSB_REALTEK },

With my comments addressed:

Reviewed-by: Paul Menzel <[email protected]>


Kind regards,

Paul
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.