After upgrading to newest kernel, firmware for the usb bluetooth fails to load.
[ 3.457128] usb 1-5.4: Product: Bluetooth Radio
[ 3.467018] Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
[ 3.467995] Bluetooth: hci0: RTL: rom_version status=0 version=1
[ 3.467997] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_fw.bin
[ 3.468355] bluetooth hci0: Direct firmware load for rtl_bt/rtl8761bu_fw.bin failed with error -2
[ 3.468356] Bluetooth: hci0: RTL: firmware file rtl_bt/rtl8761bu_fw.bin not found
Bus 001 Device 009: ID 0bda:2550 Realtek Semiconductor Corp. Bluetooth Radio.
The firmware is built into the kernel (with a few others). It loaded successfuly in kernel 5.13. The other firmware files (intel microcode, amd poalris) still loads fine. Config file and firmware path hasn't changed from previous version.
I finaly got some time to look into this more. After bisecting the kernel I learned that after tripple checking the spelling I should quadruple check it too.
I tracked the problem down to this commit:
9fd2e2949b43dea869f7fce0f8f51df44f635d59 is the first bad commit
Author: Joakim Tjernlund <Joakim.Tjernlund@infinera.com>
Date: Fri May 28 17:26:44 2021 +0200
Bluetooth: btrtl: rename USB fw for RTL8761
According Realteks own BT drivers firmware RTL8761B is for UART
and RTL8761BU is for USB.
Change existing 8761B to UART and add an 8761BU entry for USB
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@infinera.com>
Signed-off-by: Marcel Holtmann <firstname.lastname@example.org>
So after changing the name of the firmware blob to be built into the kernel from rtl8761b_fw.bin to rtl8761bu_fw.bin everything works again as expected.