Skip to contentSkip to conversation

New: btmtk: MT7921 (USB 0e8d:e020 / PCI 14c3:7920) Bluetooth broken since 7.0.7 - fix for 0489:e0e2 does not cover this PID

Bug 221552 [email protected] 1 participant 5 messages May 19 – Jun 1 Bluetooth drivers

lore
Share & tools
lore
#0 lore raw

https://bugzilla.kernel.org/show_bug.cgi?id=221552

            Bug ID: 221552
           Summary: btmtk: MT7921 (USB 0e8d:e020 / PCI 14c3:7920)
                    Bluetooth broken since 7.0.7 - fix for 0489:e0e2 does
                    not cover this PID
           Product: Drivers
           Version: 2.5
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: blocking
          Priority: P3
         Component: Bluetooth
          Assignee: [email protected]
          Reporter: [email protected]
        Regression: No

Created attachment 310159
--> https://bugzilla.kernel.org/attachment.cgi?id=310159&action=edit
dmesg kernel (from 7.0.9-hardened1-1-hardened)

Regression: Bluetooth controller fails to initialise on a MediaTek MT7921 (Legion Pro 5 16ADR10, Realtek-branded module) since kernel 7.0.7. Last known good: 7.0.6. Same dmesg symptom as the regression already patched for USB ID 0489:e0e2, but the fix does NOT resolve it for this device (USB 0e8d:e020), which suggests the patch missed a code path or device-ID entry.

Hardware
--------
lspci -nnk:
03:00.0 Network controller [0280]: MEDIATEK Corp. Device [14c3:7920]
DeviceName: Realtek
Subsystem: Lenovo Device [17aa:e020]
Kernel driver in use: mt7921e

lsusb:
Bus 003 Device 006: ID 0e8d:e020 MediaTek Inc. Wireless_Device

Kernels tested
--------------
7.0.6 : Bluetooth works
7.0.8 / 7.0.9 (mainline) : broken
7.0.9-hardened1-1 : broken (linux-hardened — current)
This build includes the backport
https://github.com/anthraxx/linux-hardened/commit/<…81d80fcd09>
which adds the fix for USB ID 0489:e0e2. It does NOT fix 0e8d:e020.

uname -r : 7.0.9-hardened1-1-hardened

dmesg (from kernel 7.0.9, relevant lines)
-----------------------------------------

[   23.898011] Bluetooth: Core ver 2.22
[   23.898032] NET: Registered PF_BLUETOOTH protocol family
[   23.898033] Bluetooth: HCI device and connection manager initialized
[   23.898041] Bluetooth: HCI socket layer initialized
[   23.898043] Bluetooth: L2CAP socket layer initialized
[   23.898045] Bluetooth: SCO socket layer initialized
[   24.800153] Bluetooth: hci0: HW/SW Version: 0x008a008a, Build Time:
20260224111231
[   24.922472] Bluetooth: hci0: Failed to send wmt func ctrl (-22)
[   24.922477] Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection
                command is advertised, but not supported.
[   25.517793] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   25.517796] Bluetooth: BNEP filters: protocol multicast
[   25.517800] Bluetooth: BNEP socket layer initialized

Userspace state
---------------
bluetoothctl list → (no output) bluetoothctl show → No default controller available

Module
------
modinfo btmtk:
filename:
/lib/modules/7.0.9-hardened1-1-hardened/kernel/drivers/bluetooth/btmtk.ko.zst
firmware: mediatek/mt7925/BT_RAM_CODE_MT7925_1_1_hdr.bin
firmware: mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin
firmware: mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin
firmware: mediatek/mt7668pr2h.bin

Versions (Arch Linux)
---------------------
linux-firmware : 20260410-1
linux-firmware-mediatek : 20260410-1
bluez : 5.86-6

Steps to reproduce
------------------
1. Boot kernel >= 7.0.7 on a system with MediaTek 14c3:7920 / USB 0e8d:e020.
2. Bluetooth controller fails to initialise; -EINVAL (-22) on wmt func ctrl.

Expected
--------
Controller comes up, same as on 7.0.6.

Related
-------
- Arch forum thread: https://bbs.archlinux.org/viewtopic.php?id=313552
- Same symptom, different PID 0489:e0d8:
https://bbs.archlinux.org/viewtopic.php?id=313561
- Existing fix that targets 0489:e0e2 only:

https://github.com/anthraxx/linux-hardened/commit/d019930b0049fc2648a6b279893d8ad330596e81
(does not cover USB ID 0e8d:e020 — a second device-ID / code-path entry appears to be needed)

I can test patches.

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.
#1 lore raw

[Bug 221552] btmtk: MT7921 (USB 0e8d:e020 / PCI 14c3:7920) Bluetooth broken since 7.0.7 - fix for 0489:e0e2 does not cover this PID

https://bugzilla.kernel.org/show_bug.cgi?id=221552

Artem S. Tashkinov ([email protected]) changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |NEEDINFO

--- Comment #1 from Artem S. Tashkinov ([email protected]) --- Are you sure this patch doesn't fix it for you?

https://lore.kernel.org/all/770d36b07311bf88210c187923f243fb9f126f04.1777058551.git.pav@iki.fi/

Upcoming Linux 7.0.10 includes it.

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.
#2 lore raw

[Bug 221552] btmtk: MT7921 (USB 0e8d:e020 / PCI 14c3:7920) Bluetooth broken since 7.0.7 - fix for 0489:e0e2 does not cover this PID

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=221552

The Linux kernel's regression tracker (Thorsten Leemhuis) ([email protected]) changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]

--- Comment #2 from The Linux kernel's regression tracker (Thorsten Leemhuis) ([email protected]) --- That might be a side-effect from the security fixes that might or might not be
being fixed. Best to try bisect while applying the fix Artem mentioned to find
the root case -- ideally on mainline (and definitely with a vanilla kernel!)

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.
#3 lore raw

[Bug 221552] btmtk: MT7921 (USB 0e8d:e020 / PCI 14c3:7920) Bluetooth broken since 7.0.7 - fix for 0489:e0e2 does not cover this PID

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=221552

Artem S. Tashkinov ([email protected]) changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEEDINFO                    |RESOLVED
         Resolution|---                         |INSUFFICIENT_DATA
Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.
#4 lore raw

[Bug 221552] btmtk: MT7921 (USB 0e8d:e020 / PCI 14c3:7920) Bluetooth broken since 7.0.7 - fix for 0489:e0e2 does not cover this PID

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=221552

--- Comment #3 from Gunjan Bagayatkar ([email protected]) --- While I cannot speak for OP,

what I can confirm is,

I was facing similar issue as OP on similar machine, and after upgrading to 7.0.10 it is fixed.

Bluetooth works (discovering devices, pairing, listening to music, all work)

My specs:

model: Lenovo LOQ 15AHP10
wifi chip: MediaTek MT7921
OS: openSUSE Tumbleweed
previous known-good kernel: unknown (newly bought machine) kernel with failing bluetooth: 7.0.9
kernel with working bluetooth: 7.0.10
I received new kernel via distribution rolling upgrade

lspci -nnk :
03:00.0 Network controller [0280]: MEDIATEK Corp. Device [14c3:7920]
DeviceName: Realtek
Subsystem: Lenovo Device [17aa:e020]
Kernel driver in use: mt7921e
(same as OP)

lsusb :
Bus 001 Device 004: ID 0e8d:e020 MediaTek Inc. Wireless_Device (same as OP)

modinfo btmtk
filename:
/usr/lib/modules/7.0.10-2-default/kernel/drivers/bluetooth/btmtk.ko.zst

  firmware:       mediatek/mt7925/BT_RAM_CODE_MT7925_1_1_hdr.bin
  firmware:       mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin
  firmware:       mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin
  firmware:       mediatek/mt7668pr2h.bin
  firmware:       mediatek/mt7663pr2h.bin
  firmware:       mediatek/mt7622pr2h.bin

(2 new lines than OP. this is working state)

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.