I installed Tumbleweed on my laptop for the first time.
And after a kernel update, I noticed that my Bluetooth stopped working.
I got an error like this:
Direct firmware load for mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin failed error code -2
After a lot of research, I discovered that the problem was in the initrd files, but after recreating them nothing changed.
So I began my research again. Then I recreated the initrd using:
dracut -f --omit bluetooth --regenerate-all
Now my Bluetooth works again.
I’m a Linux noob, just wanted to know if there was another way to solve this and make a topic to help someone with the same problem.
Probably because it was not extracted. .xz is a compression format, similar to .gzip or .bzip2. Maybe just extracting it might have solved it. But anyways you solved your issue, so that’s good.
Mar 04 12:34:45 andromeda kernel: bluetooth hci0: Direct firmware load for mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin failed with error -2
Mar 04 12:34:45 andromeda kernel: Bluetooth: hci0: Failed to load firmware file (-2)
Mar 04 12:34:45 andromeda kernel: Bluetooth: hci0: Failed to set up firmware (-2)
Any ideas/help, please?
andrea /usr/lib/firmware/mediatek ll
total 7.5M
-rw-r--r-- 1 root root 502K Feb 23 17:25 BT_RAM_CODE_MT7922_1_1_hdr.bin.xz
-rw-r--r-- 1 root root 336K Feb 23 17:25 BT_RAM_CODE_MT7961_1_2_hdr.bin.xz
-rw-r--r-- 1 root root 135K Feb 23 17:25 WIFI_MT7922_patch_mcu_1_1_hdr.bin.xz
-rw-r--r-- 1 root root 43K Feb 23 17:25 WIFI_MT7961_patch_mcu_1_2_hdr.bin.xz
[...]
The intention is to include bluetooth modules in initrd if bluetooth keyboard is present and this is bluetooth keyboard. So I expect this problem to happen with every kernel update as long as this device is present during dracut invocation.
As a workaround you may permanently disable dracut bluetooth module
echo 'omit_dracutmodules+=" bluetooth "' > /etc/dracut.conf.d/disable_bluetooth.conf
Thanks for this explanation, now everything makes sense. I got that keyboard quite recently, but I’ve linked this problem with TW snapshots because it started happening after an update…How hard it can be to troubleshoot stuff if you don’t know everything!
My understanding is that the intention for that behavior, is to allow to use BT keyboards to be used before reaching the user session, to allow for example selecting previous snapshots in grub as well as typing in LUKS passwords.
Since it seems quite an important feature to have, where should I report the bug?
Use https://bugzilla.opensuse.org/ (the same user/password as here). Open bug against openSUSE Tumbleweed, component Basesystem. It would be quite helpful to include full output of
journalctl -b --no-pager --full
with the stock initrd where problem was observed as well as the content of /var/lib/bluetooth.
It is useful if you post link to the bug report here.