Persistent Realtek Bluetooth (0bda:4853) Errors: 'Read reg16 failed (-110)' / 'tx timeout' on Fedora 43

Hello Fedora Community,

I’m encountering a persistent issue with my internal Bluetooth adapter on Fedora 43 (Workstation Edition), and I’m hoping to get some assistance from the community. My Bluetooth device (Realtek 0bda:4853) seems to be failing to initialize properly and repeatedly throws errors in =dmesg=, making it impossible to use.

System Information:

Here’s a summary of my system using =fastfetch=:

marcus@thinkcentre

OS: Fedora Linux 43 (Workstation Edition) x86_64
Host: 12RQCTO1WW (ThinkCentre M75q Gen 5)
Kernel: Linux 6.18.12-200.fc43.x86_64
Uptime: 1 day, 38 mins
Packages: 7294 (rpm), 12 (flatpak)
Shell: bash 5.3.0
Display (DELL U3425WE): 3440x1440 in 34", 120 Hz \[External\]
DE: GNOME 49.4
WM: Mutter (Wayland)
WM Theme: adw-gtk3
Theme: adw-gtk3 \[GTK2/3/4\]
Icons: Adwaita \[GTK2/3/4\]
Font: Adwaita Sans (11pt) \[GTK2/3/4\]
Cursor: Adwaita (24px)
Terminal: emacs-pgtk
CPU: AMD Ryzen 7 PRO 8700GE (16) @ 5.18 GHz
GPU: AMD Radeon 780M Graphics \[Integrated\]
Memory: 6.88 GiB / 30.47 GiB (23%)
Swap: 0 B / 8.00 GiB (0%)
Disk (/): 622.59 GiB / 951.27 GiB (65%) - btrfs
Local IP (wlp4s0): 192.168.178.90/24
Locale: en_US.UTF-8

Problem Description & Diagnostics:

The Bluetooth adapter is a Realtek device, identified by =lsusb=:

lsusb | grep -i blue
Bus 001 Device 006: ID 0bda:4853 Realtek Semiconductor Corp. Bluetooth Radio

The core of the issue seems to be evident in the =dmesg= output, which shows a continuous cycle of resets and timeouts for =hci0=:

dmesg | grep -i bluetooth | tail
\[46851.050494\] Bluetooth: hci0: Resetting usb device.
\[46851.050500\] Bluetooth: hci0: RTL: RTL: Read reg16 failed (-110)
\[46853.354265\] Bluetooth: hci0: command 0xfc61 tx timeout
\[46853.354310\] Bluetooth: hci0: RTL: Failed to generate devcoredump
\[46853.354319\] Bluetooth: hci0: Resetting usb device.
\[46853.354319\] Bluetooth: hci0: RTL: RTL: Read reg16 failed (-110)
\[46855.657907\] Bluetooth: hci0: command 0xfc61 tx timeout
\[46855.657922\] Bluetooth: hci0: RTL: Failed to generate devcoredump
\[46855.657927\] Bluetooth: hci0: Resetting usb device.
\[46855.657956\] Bluetooth: hci0: RTL: RTL: Read reg16 failed (-110)

I’ve also checked =rfkill= to ensure that the device isn’t soft or hard blocked:

rfkill list all
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
23883: hci0: Bluetooth
Soft blocked: no
Hard blocked: no

As you can see, the device is not blocked by =rfkill=. The =dmesg= output suggests an underlying communication problem with the hardware, specifically =Read reg16 failed (-110)= indicating a possible I/O error or device unavailability, followed by =command 0xfc61 tx timeout=. This cycle prevents the Bluetooth adapter from functioning.

What I’ve tried so far (beyond basic diagnostics):

  • Ensuring the system is fully updated with =sudo dnf update=.
  • Rebooting the system multiple times.
  • The issue persists across reboots.

Request for Help:

  • Has anyone else experienced similar issues with this specific Realtek Bluetooth adapter (ID 0bda:4853) on Fedora 43 or similar kernel versions?
  • Are there known firmware issues or specific kernel module parameters that might resolve the =Read reg16 failed (-110)= error or the command timeouts?
  • Could this be related to USB power management, and if so, what steps can I take to diagnose or mitigate it?
  • Are there any specific debugging tools or logs beyond =dmesg= that might provide more insight into the =0xfc61= command timeout?

Any guidance, troubleshooting steps, or potential solutions would be highly appreciated.

Thanks!

As you can tell above, using the #+begin_src and #+end_src tags on your text does not give a pleasant nor formatted result. If you simply replace both of those tags with ```. The text will be fully formatted exactly as seen on-screen when you copy and paste text. It also will show something like this to indicate that it is formatted AND should have both vertical and horizontal scroll bars when needed to avoid line wrapping.

$ rfkill list all
0: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no
1: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no

I cannot address the issue directly, but it is known that many realtek devices may have issues in linux, and a quick online search for 0bda:4853 Realtek driver gives many hits about that device.