On Sat, 12 Aug 2023 11:02:04 +0200, Paul Menzel wrote: > > [Cc: +Qu, +Chris] > > Dear Jürgen, > > > Am 10.08.23 um 22:24 schrieb Jürgen Hofmann: > > > I updated openSuse Tumbleweed 20230806 with a bluetooth keyboard > > attached to the PC. After the update to 20230808 and rebooting > > bluetooth was disabled and it was impossible to enable it > > again. Before the update bluetooth was working fine. > > Sorry, I do not know what software versions changed updating to > openSUSE Tumbleweed. Could you please mention that for the Linux > kernel and BlueZ and the initrd generator? > > > The attached bluetooth keyboard caused the bluetooth module being > > added to initrd. However, the corresponding firmware for MT7922 is > > not added. > > > > dmesg shows: > > > > [ 4.368031] bluetooth hci0: Direct firmware load for mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin failed with error -2 > > > > In fact the file is present on the system > > > > ls -l /usr/lib/firmware/mediatek/BT_RAM_CODE* > > -rw-r--r-- 1 root root 512104 3. Aug 17:36 /usr/lib/firmware/mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin.xz > > -rw-r--r-- 1 root root 343052 3. Aug 17:36 /usr/lib/firmware/mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin.xz > > > > but missing in initrd > > > > lsinitrd | grep BT_RAM_CODE > > -rw-r--r-- 1 root root 343052 Aug 3 17:36 usr/lib/firmware/mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin.xz > > > > Manually adding the file to initrd makes bluetooth work again. > > > > I reported the bug here > > https://bugzilla.suse.com/show_bug.cgi?id=1214133 > > and was requested to report here. > > > > If I can be of any help or you need further information please let me > > know. > From Qu’s answer in the thread *[PATCH v3 1/2] Bluetooth: btusb: Add > new VID/PID 0489/e102 for MT7922* [1] it sounds to me, support for > chip was only added recently, and is going to be in Linux v6.6. The problem is rather the lack of MODULE_FIRMWARE() declarations for the corresponding device. The device itself already works fine as is with the current upstream kernel as long as the firmware file is present on the system. But as dracut puts only the firmware file listed in MODULE_FIRMWARE() into initrd, it starts failing once when you build an initrd containing the BT. thanks, Takashi