MediaTek MT7925 Bluetooth: what moved, 2026-10-22 to 2026-10-23
New firmware. linux-firmware 585d96e8 (2026-10-20) updates BT_RAM_CODE_MT7925_1_1_hdr.bin to build 20261016233221 (448,367 bytes, sha256 39cab322...2987). MtkBt embeds build 20260813113236 (447,872 bytes). No changelog; whether it changes any quirk we work around (FUNC_CTRL status, Read Clock handle 0, the A2DP stall) is untested.
A lead for the AirPods drop.flxxxxddd/SimpleMtkBtFw hooks the BT device's USB pipes and rewrites the ACL packet-boundary flag from "first automatically flushable" to "first non-flushable", as Linux does for these controllers (57ca3f5c), and asks Read Clock for clock 1 so the controller returns the connection handle (671158fc). That fixed AirPods audio on an MT7921K under 15.8.1. Our A2DP trace (no Number Of Completed Packets after the first media packet) fits a controller choking on flushable ACL. Medium, untested on the MT7925.
A missing id. Linux added MT7925 USB id 13d3:3631 (AzureWave / Mercusys MA37BE) in cbfada3f. MtkBt does not match it yet. High.
A third tested id.0E8D:8C38 works on an HP OMEN 16 with MtkBt 0.2.4, BlueToolFixup 2.7.2 and LegionBtFix 0.2.0 on 25G241 (Game-5040). On 0.2.2 their Bluetooth switched itself off and on with bluetoothd crashing (SIGBUS in TxLoop); 0.2.4 cured it. The SIGBUS site is new to us and not the crash LegionBtFix patches; no crash report was published. Symptom High, cause Unverified.
Linux side: btusb.c is now btusb_main.c (upstream rename). MediaTek posted "btmtk: fix ISO data reception" for MT7925 (bluetooth-next #976); LE Audio only, not A2DP. Two Linux reports of the BT function dropping off the bus after a failed firmware download (dakota #1814, ps5-linux-patches #48) are the same class as the reset trouble 0.2.4 fixed.