Re: Firmware for MT7922 missing in initrd; bluetooth disabled after update

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux