You are not logged in.

#1 2025-10-21 18:18:33

spacetrvlr
Member
Registered: 2025-10-21
Posts: 1

Fix for Realtek USB Bluetooth Dongles rtl8761b(u)

Hello world,
this is my first contribution to the Arch Linux Community.
Please move this post if i posted in the wrong spot (:

I worked around an annoying bug that haunted me for months.

I don't know which kernel or firmware upgrade started this behaviour but these realtek bluetooth chips were always a PITA.
The dongle wouldn't connect to anything unless a pairing scan is performed, the dongle crashes and linux resets the dongle until it works...
This would look like this:

[   12.464213] Bluetooth: Core ver 2.22
[   12.464233] Bluetooth: HCI device and connection manager initialized
[   12.464238] Bluetooth: HCI socket layer initialized
[   12.464240] Bluetooth: L2CAP socket layer initialized
[   12.464244] Bluetooth: SCO socket layer initialized
[   12.534900] Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
[   12.536895] Bluetooth: hci0: RTL: rom_version status=0 version=1
[   12.536900] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_fw.bin
[   12.538650] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_config.bin
[   12.538729] Bluetooth: hci0: RTL: cfg_sz 6, total sz 30210
[   12.805898] Bluetooth: hci0: RTL: fw version 0xdfc6d922
[   13.136784] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   13.136788] Bluetooth: BNEP filters: protocol multicast
[   13.136792] Bluetooth: BNEP socket layer initialized
[   13.137573] Bluetooth: MGMT ver 1.23
[   15.733082] Bluetooth: RFCOMM TTY layer initialized
[   15.733090] Bluetooth: RFCOMM socket layer initialized
[   15.733093] Bluetooth: RFCOMM ver 1.11
[   25.177365] Bluetooth: hci0: command 0x2005 tx timeout
[   25.177372] Bluetooth: hci0: Opcode 0x2005 failed: -110
[   25.177376] Bluetooth: hci0: Resetting usb device.
[   27.225367] Bluetooth: hci0: command 0x2005 tx timeout
[   27.225369] Bluetooth: hci0: Opcode 0x2041 failed: -110
[   27.225377] Bluetooth: hci0: Resetting usb device.
[   29.529364] Bluetooth: hci1: command 0xfc61 tx timeout
[   29.529372] Bluetooth: hci1: RTL: Failed to generate devcoredump
[   29.529375] Bluetooth: hci1: Resetting usb device.
[   29.529386] Bluetooth: hci1: RTL: RTL: Read reg16 failed (-110)
[   29.785894] Bluetooth: hci1: RTL: Failed to generate devcoredump
[   29.787905] Bluetooth: hci1: unexpected event for opcode 0xfc61
[   29.788923] Bluetooth: hci1: RTL: examining hci_ver=0a hci_rev=dfc6 lmp_ver=0a lmp_subver=d922
[   40.473654] Bluetooth: hci1: RTL: RTL: Read reg16 failed (-110)
[   40.728927] Bluetooth: hci1: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
[   40.730929] Bluetooth: hci1: RTL: rom_version status=0 version=1
[   40.730933] Bluetooth: hci1: RTL: loading rtl_bt/rtl8761bu_fw.bin
[   40.731141] Bluetooth: hci1: RTL: loading rtl_bt/rtl8761bu_config.bin
[   40.731188] Bluetooth: hci1: RTL: cfg_sz 6, total sz 30210
[   40.998921] Bluetooth: hci1: RTL: fw version 0xdfc6d922
[   41.098050] Bluetooth: MGMT ver 1.23

I was tired of waiting for a fix because i have quite a few of these dongles in use.
So i wrote a systemd service that initiates a pairing scan after bluetooth.service is up, triggering the usb device reset cycle automatically.
bluetooth-rtl-fix.service

[Unit]
Description=Trigger Bluetooth scan to initialize Realtek dongle
After=bluetooth.service
Wants=bluetooth.service

[Service]
Type=oneshot
ExecStart=/bin/bash -c 'sleep 10s; echo "scan on" | bluetoothctl'
RemainAfterExit=no

[Install]
WantedBy=multi-user.target

Works like a charm for now.
Hope there's a real fix some day smile

Last edited by spacetrvlr (2025-10-21 18:21:03)

Offline

Board footer

Powered by FluxBB