[BUG] btmtk: LE Audio connection failure on MT7925
Arūnas Prokopas
arunas at proko.dev
Tue Sep 23 18:46:00 PDT 2025
Hello,
I have encounter a bug with the btmtk driver on an MT7925 chip, where LE Audio (ISO) connections consistently fail. Classic A2DP audio works correctly.
Setup:
Device: Motherboard with onboard MediaTek MT7925
Kernel: 6.16-8-2-cachyos
BlueZ: 5.84-1
linux-firmware: 1:20250808-1 (provides `mediatek/mt7925/BT_RAM_CODE_MT7925_1_1_hdr.bin`)
Steps to Reproduce:
- Enable and force LE audio in `/etc/bluetooth/main.conf`:
[General]
Experimental = true
KernelExperimental = 6fbaf188-05e0-496a-9885-d6ddfdb4e03e
ControllerMode = le
- Restart the bluetooth service: `systemctl restart bluetooth.service`
- Re-pair the LE audio device
- Attempt to connect
Expected Behavior:
The LE Audio transport should be established successfully, as the hardware advertises support for the necessary features to the host driver.
Observed Behavior:
The device connects, but the audio transport fails to establish. `bluetoothctl` shows a continuous loop of creating and deleting transports. The kernel and bluetoothd logs show a clear failure.
1. The kernel log (`dmesg`) show a few issues:
- The firmware version isn't reported correctly, suggesting an initialization problem.
- A warning is logged that a feature is being advertised but not supported.
- Despite the ISO layer being initialized by kernel successfully, the driver rejects the `LE_SET_CIG_PARAMS` command (Opcode `0x2062`) repeatedly.
[ 36.005161] mt7925e 0000:0b:00.0: enabling device (0000 -> 0002)
[ 36.009348] mt7925e 0000:0b:00.0: ASIC revision: 79250000
[ 36.084024] mt7925e 0000:0b:00.0: HW/SW Version: 0x8a108a10, Build Time: 20250721232852a
[ 36.423286] mt7925e 0000:0b:00.0: WM Firmware Version: ____000000, Build Time: 20250721232943
...
[ 63.633518] Bluetooth: hci1: HW/SW Version: 0x00000000, Build Time: 20250825220109
[ 82.298593] Bluetooth: hci1: Device setup in 18160764 usecs
[ 82.298597] Bluetooth: hci1: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
...
[ 82.515641] Bluetooth: ISO socket layer initialized
...
[ 1272.202995] Bluetooth: hci1: Opcode 0x2062 failed: -95
[ 1272.446987] Bluetooth: hci1: Opcode 0x2062 failed: -95
[ 1272.474975] Bluetooth: hci1: Opcode 0x2062 failed: -95
2. The bluetoothd log (`journalctl`) correctly reports the error from the kernel:
Sep 24 01:58:19 my-pc bluetoothd[17487]: profiles/audio/bap.c:iso_connect_cb() connect to 80:99:E7:F0:37:7E: Operation not supported (95)
Sep 24 01:58:19 my-pc bluetoothd[17487]: profiles/audio/bap.c:iso_connect_cb() connect to 80:99:E7:F0:37:7E: Operation not supported (95)
3. `bluetoothctl` output (sample of the loop):
[CHG] Device 80:99:E7:F0:37:7E Connected: yes
[CHG] LE 80:99:E7:F0:37:7E Connected: yes
[NEW] Transport /org/bluez/hci1/dev_80_99_E7_F0_37_7E/pac_sink0/fd14
[NEW] Transport /org/bluez/hci1/dev_80_99_E7_F0_37_7E/pac_source0/fd15
[CHG] Transport /org/bluez/hci1/dev_80_99_E7_F0_37_7E/pac_sink0/fd14 Links: /org/bluez/hci1/dev_80_99_E7_F0_37_7E/pac_source0/fd15
[CHG] Transport /org/bluez/hci1/dev_80_99_E7_F0_37_7E/pac_source0/fd15 Links: /org/bluez/hci1/dev_80_99_E7_F0_37_7E/pac_sink0/fd14
[DEL] Transport /org/bluez/hci1/dev_80_99_E7_F0_37_7E/pac_sink0/fd14
[DEL] Transport /org/bluez/hci1/dev_80_99_E7_F0_37_7E/pac_source0/fd15
[NEW] Transport /org/bluez/hci1/dev_80_99_E7_F0_37_7E/pac_sink0/fd16
[CHG] Transport /org/bluez/hci1/dev_80_99_E7_F0_37_7E/pac_sink0/fd16 Volume: 0x0066 (102)
[DEL] Transport /org/bluez/hci1/dev_80_99_E7_F0_37_7E/pac_sink0/fd16
Additional Context:
This may indicate an incomplete implementation for this specific chipset, possibly related to the development work discussed in this thread from May 2024:
Link: https://lore.kernel.org/linux-bluetooth/dc0445c08b4a7189388a006765d4c647e6ba0164.camel@mediatek.com/
Please let me know if any further logs, tests, or information are needed.
Thanks,
Arunas Prokopas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 343 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-mediatek/attachments/20250924/df992e67/attachment-0001.sig>
More information about the Linux-mediatek
mailing list