2020-10-28 21:37:45

by David Zakarias

[permalink] [raw]
Subject: [PATCH] Bluetooth: btusb: Add support for 0cb5:c547 Realtek 8822CE device

My Redmibook 16 AMD laptop contains the RTL8822CE chip having the USB
identifier 0cb5:c547. This patch adds this Id to btusb.c's blacklist
table, enabling the loading of the Realtek firmware.
This, together with another patch by Edward Vear (hci_core: Fix
attempting to set RPA timeout when unsupported, see
https://marc.info/?l=linux-bluetooth&m=160378222632366&w=2) makes my
bluetooth mouse work.

Signed-off-by: David Zakarias <[email protected]>
---
--- bluetooth/drivers/bluetooth/btusb.c.orig 2020-10-27 21:24:51.331035974 +0100
+++ bluetooth/drivers/bluetooth/btusb.c 2020-10-27 21:21:46.000000000 +0100
@@ -386,6 +386,7 @@ static const struct usb_device_id blackl

/* Additional Realtek 8822CE Bluetooth devices */
{ USB_DEVICE(0x04ca, 0x4005), .driver_info = BTUSB_REALTEK },
+ { USB_DEVICE(0x0cb5, 0xc547), .driver_info = BTUSB_REALTEK },

/* Silicon Wave based devices */
{ USB_DEVICE(0x0c10, 0x0000), .driver_info = BTUSB_SWAVE },


2020-10-28 21:42:16

by An, Tedd

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: btusb: Add support for 0cb5:c547 Realtek 8822CE device

Hi David

On Tue, 2020-10-27 at 21:52 +0100, David Zakarias wrote:
> My Redmibook 16 AMD laptop contains the RTL8822CE chip having the USB
> identifier 0cb5:c547. This patch adds this Id to btusb.c's blacklist
> table, enabling the loading of the Realtek firmware.
> This, together with another patch by Edward Vear (hci_core: Fix
> attempting to set RPA timeout when unsupported, see
> https://marc.info/?l=linux-bluetooth&m=160378222632366&w=2) makes my
> bluetooth mouse work.
>
> Signed-off-by: David Zakarias <[email protected]>
> ---
> --- bluetooth/drivers/bluetooth/btusb.c.orig 2020-10-27 21:24:51.331035974
> +0100
> +++ bluetooth/drivers/bluetooth/btusb.c 2020-10-27 21:21:46.000000000 +0100
> @@ -386,6 +386,7 @@ static const struct usb_device_id blackl
>
> /* Additional Realtek 8822CE Bluetooth devices */
> { USB_DEVICE(0x04ca, 0x4005), .driver_info = BTUSB_REALTEK },
> + { USB_DEVICE(0x0cb5, 0xc547), .driver_info = BTUSB_REALTEK },
>
> /* Silicon Wave based devices */
> { USB_DEVICE(0x0c10, 0x0000), .driver_info = BTUSB_SWAVE },

Please include the content of /sys/kernel/debug/usb/devices for this device in
the commit message.

Regards,

Tedd Ho-Jeong An

2020-10-29 08:50:43

by Tedd Ho-Jeong An

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: btusb: Add support for 0cb5:c547 Realtek 8822CE device

Hi David,

On Tue, 2020-10-27 at 21:52 +0100, David Zakarias wrote:
> My Redmibook 16 AMD laptop contains the RTL8822CE chip having the USB
> identifier 0cb5:c547. This patch adds this Id to btusb.c's blacklist
> table, enabling the loading of the Realtek firmware.
> This, together with another patch by Edward Vear (hci_core: Fix
> attempting to set RPA timeout when unsupported, see
> https://marc.info/?l=linux-bluetooth&m=160378222632366&w=2) makes my
> bluetooth mouse work.
>
> Signed-off-by: David Zakarias <[email protected]>
> ---
> --- bluetooth/drivers/bluetooth/btusb.c.orig 2020-10-27 21:24:51.331035974
> +0100
> +++ bluetooth/drivers/bluetooth/btusb.c 2020-10-27 21:21:46.000000000 +0100
> @@ -386,6 +386,7 @@ static const struct usb_device_id blackl
>
> /* Additional Realtek 8822CE Bluetooth devices */
> { USB_DEVICE(0x04ca, 0x4005), .driver_info = BTUSB_REALTEK },
> + { USB_DEVICE(0x0cb5, 0xc547), .driver_info = BTUSB_REALTEK },
>
> /* Silicon Wave based devices */
> { USB_DEVICE(0x0c10, 0x0000), .driver_info = BTUSB_SWAVE },

Please include the content of /sys/kernel/debug/usb/devices for this device in
the commit message.

Regards,

Tedd Ho-Jeong An

2020-10-29 17:00:06

by David Zakarias

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: btusb: Add support for 0cb5:c547 Realtek 8822CE device

Hi Tedd,

Is this what you are looking for?


T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 4
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev= 5.09
S: Manufacturer=Linux 5.9.1 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:02:00.3
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0cb5 ProdID=c547 Rev= 0.00
S: Manufacturer=Realtek
S: Product=Bluetooth Radio
S: SerialNumber=00e04c000001
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=10000 MxCh= 2
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 3.10 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev= 5.09
S: Manufacturer=Linux 5.9.1 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:02:00.3
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 4
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev= 5.09
S: Manufacturer=Linux 5.9.1 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:02:00.4
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

T: Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=10000 MxCh= 2
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 3.10 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev= 5.09
S: Manufacturer=Linux 5.9.1 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:02:00.4
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

An, Tedd <[email protected]> ezt írta (időpont: 2020. okt. 28., Sze, 22:26):
>
> Hi David
>
> On Tue, 2020-10-27 at 21:52 +0100, David Zakarias wrote:
> > My Redmibook 16 AMD laptop contains the RTL8822CE chip having the USB
> > identifier 0cb5:c547. This patch adds this Id to btusb.c's blacklist
> > table, enabling the loading of the Realtek firmware.
> > This, together with another patch by Edward Vear (hci_core: Fix
> > attempting to set RPA timeout when unsupported, see
> > https://marc.info/?l=linux-bluetooth&m=160378222632366&w=2) makes my
> > bluetooth mouse work.
> >
> > Signed-off-by: David Zakarias <[email protected]>
> > ---
> > --- bluetooth/drivers/bluetooth/btusb.c.orig 2020-10-27 21:24:51.331035974
> > +0100
> > +++ bluetooth/drivers/bluetooth/btusb.c 2020-10-27 21:21:46.000000000 +0100
> > @@ -386,6 +386,7 @@ static const struct usb_device_id blackl
> >
> > /* Additional Realtek 8822CE Bluetooth devices */
> > { USB_DEVICE(0x04ca, 0x4005), .driver_info = BTUSB_REALTEK },
> > + { USB_DEVICE(0x0cb5, 0xc547), .driver_info = BTUSB_REALTEK },
> >
> > /* Silicon Wave based devices */
> > { USB_DEVICE(0x0c10, 0x0000), .driver_info = BTUSB_SWAVE },
>
> Please include the content of /sys/kernel/debug/usb/devices for this device in
> the commit message.
>
> Regards,
>
> Tedd Ho-Jeong An

2020-10-29 20:25:59

by Tedd Ho-Jeong An

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: btusb: Add support for 0cb5:c547 Realtek 8822CE device

Hi David,

On 2020-10-29 at 17:57:49 +0100, David Zakarias wrote:
> Hi Tedd,
>
> Is this what you are looking for?
>
>
> T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 4
> B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
> D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
> P: Vendor=1d6b ProdID=0002 Rev= 5.09
> S: Manufacturer=Linux 5.9.1 xhci-hcd
> S: Product=xHCI Host Controller
> S: SerialNumber=0000:02:00.3
> C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
> I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
> E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms
>
> T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
> D: Ver= 1.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
> P: Vendor=0cb5 ProdID=c547 Rev= 0.00
> S: Manufacturer=Realtek
> S: Product=Bluetooth Radio
> S: SerialNumber=00e04c000001
> C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
> I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
> E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
> E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
> I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
> E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
> I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
> E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
> I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
> E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
> I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
> E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
> I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
> E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
>

This seems the right device and you just need to include this device
info only.

> T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=10000 MxCh= 2
> B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
> D: Ver= 3.10 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
> P: Vendor=1d6b ProdID=0003 Rev= 5.09
> S: Manufacturer=Linux 5.9.1 xhci-hcd
> S: Product=xHCI Host Controller
> S: SerialNumber=0000:02:00.3
> C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
> I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
> E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms
>
> T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 4
> B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
> D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
> P: Vendor=1d6b ProdID=0002 Rev= 5.09
> S: Manufacturer=Linux 5.9.1 xhci-hcd
> S: Product=xHCI Host Controller
> S: SerialNumber=0000:02:00.4
> C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
> I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
> E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms
>
> T: Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=10000 MxCh= 2
> B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
> D: Ver= 3.10 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
> P: Vendor=1d6b ProdID=0003 Rev= 5.09
> S: Manufacturer=Linux 5.9.1 xhci-hcd
> S: Product=xHCI Host Controller
> S: SerialNumber=0000:02:00.4
> C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
> I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
> E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms
>
> An, Tedd <[email protected]> ezt írta (időpont: 2020. okt. 28., Sze, 22:26):
> >
> > Hi David
> >
> > On Tue, 2020-10-27 at 21:52 +0100, David Zakarias wrote:
> > > My Redmibook 16 AMD laptop contains the RTL8822CE chip having the USB
> > > identifier 0cb5:c547. This patch adds this Id to btusb.c's blacklist
> > > table, enabling the loading of the Realtek firmware.
> > > This, together with another patch by Edward Vear (hci_core: Fix
> > > attempting to set RPA timeout when unsupported, see
> > > https://marc.info/?l=linux-bluetooth&m=160378222632366&w=2) makes my
> > > bluetooth mouse work.
> > >
> > > Signed-off-by: David Zakarias <[email protected]>
> > > ---
> > > --- bluetooth/drivers/bluetooth/btusb.c.orig 2020-10-27 21:24:51.331035974
> > > +0100
> > > +++ bluetooth/drivers/bluetooth/btusb.c 2020-10-27 21:21:46.000000000 +0100
> > > @@ -386,6 +386,7 @@ static const struct usb_device_id blackl
> > >
> > > /* Additional Realtek 8822CE Bluetooth devices */
> > > { USB_DEVICE(0x04ca, 0x4005), .driver_info = BTUSB_REALTEK },
> > > + { USB_DEVICE(0x0cb5, 0xc547), .driver_info = BTUSB_REALTEK },
> > >
> > > /* Silicon Wave based devices */
> > > { USB_DEVICE(0x0c10, 0x0000), .driver_info = BTUSB_SWAVE },
> >
> > Please include the content of /sys/kernel/debug/usb/devices for this device in
> > the commit message.
> >
> > Regards,
> >
> > Tedd Ho-Jeong An

Regards,

Tedd