RE: RTL8761B BT USB has been broken for a while (mismatched firmware?)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Arnaud,

Before the 9fd2e294 commit, the btrtl driver loads rtl_bt/rtl8761b_fw.bin for RTL8761B USB only.
After the 9fd2e294 commit, the btrtl driver loads rtl_bt/rtl8761b_fw.bin for RTL8761B UART, and loads rtl_bt/rtl8761bu_fw.bin for RTL8761B USB.

Maybe renaming the USB fw to rtl_bt/rtl8761bu_fw.bin, the UART fw to rtl_bt/rtl8761bt_fw.bin can avoid confusion.

The commit "9fd2e2949b43 Bluetooth: btrtl: rename USB fw for RTL8761" should be work with the commit "64f02a2 rtl_bt: Add rtl8761bu firmware of linux-firmware." for RTL8761B Bluetooth USB controller.

Considering the FW was submitted two years ago, Realtek plans to release a new version to Upstream.
We will verify the behavior on Linux PC. Expect it can resolve the issue.
Thanks.

Regards,
Hilda

-----Original Message-----
From: Arnaud Rebillout <arnaudr@xxxxxxxx> 
Sent: Tuesday, March 14, 2023 10:23 AM
To: linux-bluetooth@xxxxxxxxxxxxxxx
Cc: Hilda Wu <hildawu@xxxxxxxxxxx>; steev@xxxxxxxx
Subject: RTL8761B BT USB has been broken for a while (mismatched firmware?)


External mail.



Hello,

let me forward an issue that was reported on the Kali Linux bugtracker a short while ago. It's about a USB bluetooth 5.0 dongle which uses Realtek RTL8761B chip. When the dongle is plugged in, everything looks good in the kernel logs, however the dongle is not functional at all.

Several users reported the issue on various bug trackers:
- 2021-09: https://bugzilla.kernel.org/show_bug.cgi?id=214287
- 2022-04:
https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1968604
- 2023-03: https://bugs.kali.org/view.php?id=8216

All of them confirm that the wrong firmware is loaded. Let me explain.

So there are two firmware for this chip: rtl8761b and rtl8761bu. They were added to linux-firmware back in 2021-06-09, as can be seen with:

   cd linux-firmware
   gitk -- 'rtl_bt/rtl8761b*' &

However at the time, only the firmware rtl8761b was in use. But it worked.
Then on 2021-06-26, a change made it so that the firmware rtl8761b is used only for UART, and rtl8761bu is used for USB. Cf:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9fd2e294

And since then, we have the bug reports above. Users all agree that it doesn't work, but there is a workaround: if they use the firmware rtl8761b (instead of rtl8761bu), it works.

So I wonder if the two firmware are just reversed. After all, the suffix 'u'
was maybe meant for 'UART' and not 'USB', there's room for confusion.

I'm CC-ing Hilda Wu as they are the last person who updated those firmware, and given their email address ('@realtek.com'), they probably are in a good position to give it a quick check.

For completeness, here are the kernel logs that show up when the dongle is plugged in (taken from the Kali Linux bug report):

   [81435.017653] usb 2-5: new full-speed USB device number 14 using ohci-pci
   [81435.257246] usb 2-5: New USB device found, idVendor=0bda, idProduct=8771, bcdDevice= 2.00
   [81435.257264] usb 2-5: New USB device strings: Mfr=1, Product=2,
SerialNumber=3
   [81435.257272] usb 2-5: Product: Bluetooth Radio
   [81435.257278] usb 2-5: Manufacturer: Realtek
   [81435.257283] usb 2-5: SerialNumber: 00E04C239987
   [81435.267263] Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
   [81435.270241] Bluetooth: hci0: RTL: rom_version status=0 version=1
   [81435.270253] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_fw.bin
   [81435.270391] bluetooth hci0: firmware: direct-loading firmware rtl_bt/rtl8761bu_fw.bin
   [81435.270459] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_config.bin
   [81435.270509] bluetooth hci0: firmware: direct-loading firmware rtl_bt/rtl8761bu_config.bin
   [81435.270567] Bluetooth: hci0: RTL: cfg_sz 25, total sz 29949
   [81435.656295] Bluetooth: hci0: RTL: fw version 0x0ca98a6b
   [81435.795713] Bluetooth: MGMT ver 1.22

Thanks for your attention, please CC me as I'm not subscribed to this list.


--
Arnaud Rebillout / Offensive Security / Kali Linux Developer

------Please consider the environment before printing this e-mail.




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux