Bluetooth - No default controller available

My bluetooth stopped working either after the kernel or linux-firmware update or both. I’ve got a Lenovo ThinkBook 14 G4 ABA.

The bluetooth service is up and running.

bluetooth.service - Bluetooth service
Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: disabled)
Active: active (running) since Sun 2024-05-19 14:59:23 CDT; 8min ago
Docs: man:bluetoothd(8)
Main PID: 765 (bluetoothd)
Status: “Running”
Tasks: 1 (limit: 16565)
Memory: 2.1M (peak: 2.6M)
CPU: 28ms
CGroup: /system.slice/bluetooth.service
└─765 /usr/lib/bluetooth/bluetoothd

The rfkill returns the following:

rfkill list
0: ideapad_wlan: Wireless LAN
Soft blocked: no
Hard blocked: no
1: ideapad_bluetooth: Bluetooth
Soft blocked: no
Hard blocked: no
2: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
3: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no

I’ve installed bluez-hid2hci but it did not help. Any idea what could cause the problem?

Test booting with a different kernel and see if it makes a difference. I would recommend testing the LTS kernel if you aren’t already running it.

sudo pacman -S linux-lts linux-lts-headers

After digging deeper, I found out the firmware is the issue.

bluetooth hci0: Direct firmware load for mediatek/BT_RAM_CODE_MT7961_1a_2_hdr.bin failed with error -2

Either wait for an updated kernel or do as BluishHumility suggest.

There is an explanation of what is wrong here:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/tree/queue-6.9/bluetooth-btusb-fix-the-patch-for-mt7920-the-affected-to-mt7921.patch

I’ve downgraded to linux-6.8.8 and the Bluetooth is working again.