[SRU][J/K/L:linux-firmware][PULL] rtl8761b usb bluetooth doesn't work following reboot until unplug/replug (LP: #1968604)

Juerg Haefliger juerg.haefliger at canonical.com
Thu May 11 10:27:15 UTC 2023


BugLink: https://bugs.launchpad.net/bugs/1968604

I have usb bluetooth 5.0 dongle which uses Realtek RTL8761B chip.
0bda:8771 Realtek Semiconductor Corp. Bluetooth Radio

USB adapter very often stops working, can't connect or find other bluetooth devices. The adapter can't work even after reboots.

The following entries appear in the log:
апр 11 13:47:14 desktop kernel: Bluetooth: hci0: command 0x2005 tx timeout
апр 11 13:47:16 desktop kernel: Bluetooth: hci0: command 0x2041 tx timeout
апр 11 13:47:18 desktop kernel: Bluetooth: hci0: command 0x2042 tx timeout

Firmware loaded correctly, but something is not working.
апр 11 13:46:54 desktop kernel: Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
апр 11 13:46:54 desktop kernel: Bluetooth: hci0: RTL: rom_version status=0 version=1
апр 11 13:46:54 desktop kernel: Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_fw.bin
апр 11 13:46:54 desktop kernel: Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_config.bin
апр 11 13:46:54 desktop kernel: Bluetooth: hci0: RTL: cfg_sz 6, total sz 27814

1) I use:
Description:    Ubuntu Jammy Jellyfish (development branch)
Release:        22.04
2) linux-firmware: 20220329.git681281e4-0ubuntu1
3) What you expected to happen? I expect a well working bluetooth adapter.
4) What happened instead? My bluetooth adapter may work, may not. The adapter may stop finding and connecting to other devices.

I've found the same bug https://bugzilla.kernel.org/show_bug.cgi?id=214111#c1
I've downloaded Windows's archive http://download.windowsupdate.com/d/msdownload/update/driver/drvs/2021/05/ca0e770c-6a5d-4de0-b37a-f4b91cccd8c3_7778831d2b9d721cf94d5a8d8c0676ff1b96c874.cab
I've unpacked file rtl8761b_mp_chip_bt40_fw_asic_rom_patch_new.dll and replaced /usr/lib/firmware/rtl_bt/rtl8761bu_fw.bin and deleted rtl8761bu_config.bin
After I changed firmware my usb dongle work fine.

Could you change firmware rtl8761bu_fw.bin rtl8761bu_config.bin to other correct version?
Could you move Realtek's rtl_bt firmware or RTL8761B's firmware into separate packages. I will remove the RTL8761B firmware package and put them manually.

bluetoothctl --version
bluetoothctl: 5.64

hci0:   Type: Primary  Bus: USB
        BD Address: 00:E0:4C:FC:E2:03  ACL MTU: 1021:6  SCO MTU: 255:12
        UP RUNNING
        RX bytes:5751 acl:49 sco:0 events:489 errors:0
        TX bytes:219114 acl:398 sco:0 commands:83 errors:0
        Features: 0xff 0xff 0xff 0xfe 0xdb 0xfd 0x7b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH HOLD SNIFF PARK
        Link mode: PERIPHERAL ACCEPT
        Name: 'desktop'
        Class: 0x7c0104
        Service Classes: Rendering, Capturing, Object Transfer, Audio, Telephony
        Device Class: Computer, Desktop workstation
        HCI Version: 5.1 (0xa)  Revision: 0x97b
        LMP Version: 5.1 (0xa)  Subversion: 0xec43
        Manufacturer: Realtek Semiconductor Corporation (93)

rfkill list
0: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no

Realtek's worker updated these bad firmware.
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=45dc5f0b8e2f2d43312d22511cb26658b9ee2c80

Signed-off-by: Juerg Haefliger <juerg.haefliger at canonical.com>

--------

The following changes since commit ad66fa319881c1faac692dce835638804c98c8a1:

  UBUNTU: Ubuntu-20230323.gitbcdcfbcf-0ubuntu1.1 (2023-05-05 11:57:05 +0200)

are available in the Git repository at:

  https://git.launchpad.net/~juergh/+git/linux-firmware lp1968604/lunar

for you to fetch changes up to d161f1f8bf9c90ef32987ed99a3d4fc55c422c1c:

  rtl_bt: Update RTL8761B BT USB firmware to 0xDFC6_D922 (2023-05-11 11:25:16 +0200)

----------------------------------------------------------------
Hilda Wu (2):
      rtl_bt: Update RTL8761B BT UART firmware to 0x9DC6_D922
      rtl_bt: Update RTL8761B BT USB firmware to 0xDFC6_D922

 rtl_bt/rtl8761b_fw.bin  | Bin 44204 -> 45444 bytes
 rtl_bt/rtl8761bu_fw.bin | Bin 42088 -> 44484 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)



More information about the kernel-team mailing list