[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