[Bug 221837] New: Bluetooth (RTL8852BU, 0bda:b853) never initializes. Opcode 0xfcf0

[email protected]
Newsgroups org.kernel.vger.linux-bluetooth
Message-ID <[email protected]/>
https://bugzilla.kernel.org/show_bug.cgi?id=221837

            Bug ID: 221837
           Summary: Bluetooth (RTL8852BU, 0bda:b853) never initializes.
                    Opcode 0xfcf0
           Product: Drivers
           Version: 2.5
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: blocking
          Priority: P3
         Component: Bluetooth
          Assignee: [email protected]
          Reporter: [email protected]
        Regression: No

## System information
- Distro: Linux Mint 22.3 (zena), Ubuntu 24.04 base
- Kernel: 6.11.0-17-generic (#17~24.04.2-Ubuntu SMP PREEMPT_DYNAMIC)
- linux-firmware package: 20240318.git3b128b60-0ubuntu2.27
- Laptop: Lenovo LOQ 15AHP11
- Bluetooth controller: Realtek RTL8852BU, USB ID 0bda:b853 (Bus 001 Device
004)
- WiFi: Realtek RTL8852BE, PCI ID 10ec:b852, driver rtw89_8852be

## Problem
hci0 never comes up. BD Address stays 00:00:00:00:00:00, state DOWN,
`bluetoothctl show` reports "No default controller available". Reproduces on
every boot.

## dmesg (current state, after updating rtl8852bu_fw.bin)
```
[    2.491778] Bluetooth: hci0: RTL: examining hci_ver=0b hci_rev=000b
lmp_ver=0b lmp_subver=8852
[    2.494811] Bluetooth: hci0: RTL: rom_version status=0 version=3
[    2.494818] Bluetooth: hci0: RTL: loading rtl_bt/rtl8852bu_fw.bin
[    2.495778] Bluetooth: hci0: RTL: loading rtl_bt/rtl8852bu_config.bin
[    2.503791] Bluetooth: hci0: Opcode 0xfcf0 failed: -16
[    2.507788] Bluetooth: hci0: AOSP extensions version v0.96
[    2.507793] Bluetooth: hci0: AOSP quality report is not supported
```

## What I've tried

1. Confirmed rfkill is not blocking (`Soft blocked: no`, `Hard blocked: no` for
both `ideapad_bluetooth` and `hci0`).
2. Confirmed Bluetooth works fine from Windows on the same physical hardware
(dual-boot). (fast-boot is disabled)
3. The distro-packaged `rtl8852bu_fw.bin` (linux-firmware 20240318 snapshot)
additionally logged `Bluetooth: hci0: RTL: didn't find patch for chip id 3`
before the Opcode failure i.e. this chip's rom_version (2, reported as "chip id
3") had no matching entry in that firmware build's internal patch table.
4. Replaced `/usr/lib/firmware/rtl_bt/rtl8852bu_fw.bin` with the current
upstream linux-firmware HEAD build (fetched from git.kernel.org, 129733 bytes,
md5 c97273d1bf9a715c46e4fc73eb0283b3, valid `RTBTCore` header). This resolved
the "didn't find patch" message but `Opcode 0xfcf0 failed: -16` still occurs
immediately after.
5. Confirmed via linux-firmware's WHENCE manifest that
`rtl_bt/rtl8852bu_config.bin -> rtl8761bu_config.bin` is the correct,
intentional upstream mapping — ruled out using the wrong config file.
6. Full reboot
7. Attempted to isolate a WiFi/Bluetooth coexistence conflict (RTL8852B is a
combo WiFi+BT chip) by unloading the rtw89 WiFi stack before reloading btusb.
`rtw89_8852be`/`rtw89_8852b`/`rtw89_8852b_common` unloaded, but
`rtw89_pci`/`rtw89_core` stayed loaded (rmmod dependency-order limitation).
8. Set `usbcore.autosuspend=-1` as a kernel boot parameter.

The firmware's patch table now recognizes this chip's rom_version, but the
controller still returns "Command Disallowed" on the vendor download-config
opcode 0xfcf0. This looks like it needs additional handling in btrtl.c/btusb.c
for this specific RTL8852BU chip stepping (rom_version=2). Is there a known
driver-side fix in progress, or would a btmon/HCI trace help narrow this down
further?

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.