Skip to content

MT7925 Bluetooth fails on Thelio (0e8d:0717) — WMT command timeout due to SLPPROT #4001

Description

@messinadm

System: Pop!_OS 24.04, Cosmic, kernel 6.18.7-76061807-generic
Hardware: System76 Thelio, MT7925 PCIe combo card (USB ID 0e8d:0717)

Symptom: Bluetooth cannot be enabled. btmgmt info shows 0 controllers.

dmesg:
Bluetooth: hci0: Execution of wmt command timed out
Bluetooth: hci0: Failed to send wmt patch dwnld (-110)
Bluetooth: hci0: Failed to set up firmware (-110)

Root cause: The MT7925 BT core's sleep protection register (0x18011100
bit 1) keeps the BT processor asleep during driver initialization. WMT
commands reach the device (USB Control OUT status=0) but the device never
responds. Additionally, after firmware activation the chip re-enables
sleep protection, blocking the subsequent FUNC_CTRL command.

Fix: In btmtk_usb_setup() for dev_id 0x7925:

  1. Call btmtk_usb_subsys_reset() to clear stuck WMT state
  2. Set 0x18011100 |= BIT(1) before firmware download
  3. Set 0x18011100 |= BIT(1) again before FUNC_CTRL

Status: Patch submitted upstream to linux-bluetooth@vger.kernel.org
on 2026-05-31: "[PATCH] Bluetooth: btmtk: Fix MT7925 WMT command timeout
due to sleep protection"

Requesting backport to the System76 kernel builds.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions