[SRU][R][PATCH 0/1] Bluetooth does not work on MediaTek MT7920 because its firmware is not packaged

Ivan Hu ivan.hu at canonical.com
Thu Sep 10 08:49:10 UTC 2026


BugLink: https://bugs.launchpad.net/bugs/2166944

[Impact]

Bluetooth does not work with a MediaTek MT7920 Wi-Fi/Bluetooth running on Ubuntu Core 26.
The driver asks for a firmware file that is not on the image:
bluetooth hci0: Direct firmware load for mediatek/BT_RAM_CODE_MT7961_1a_2_hdr.bin failed with error -2
Bluetooth: hci0: Failed to load firmware file (-2)
Bluetooth: hci0: Failed to set up firmware (-2)

Classic Ubuntu images are not affected. They install the whole linux-firmware
package, so the file is always on disk. The pc-kernel snap only ships firmware
that modules declare with MODULE_FIRMWARE(), so the file is dropped there.

[Fix]

btmtk builds the MT7920 firmware name at runtime in btmtk_fw_get_filename() and
never declares it. The patch adds a MODULE_FIRMWARE() entry for it, so tools
that pick firmware from module metadata (modinfo -F firmware) keep the file.

Upstream commit in bluetooth-next:
Bluetooth: btmtk: Declare MT7920 (MT7961 1a) Bluetooth firmware

[Test Plan]

The patch only adds a firmware name to module metadata, so the check is on the
btmtk module.

Install the kernel from -proposed, reboot, then run:

$ modinfo -F firmware btmtk | grep BT_RAM_CODE_MT7961_1a_2

Without patch: no output
With patch: mediatek/BT_RAM_CODE_MT7961_1a_2_hdr.bin

[Where problems could occur]
The patch only adds a firmware name to module metadata. It does not change any
code path.

Ivan Hu (1):
  Bluetooth: btmtk: Declare MT7920 (MT7961 1a) Bluetooth firmware

 drivers/bluetooth/btmtk.c | 1 +
 drivers/bluetooth/btmtk.h | 1 +
 2 files changed, 2 insertions(+)

-- 
2.53.0




More information about the kernel-team mailing list