Thread (2 messages) flat view 2 messages, 2 authors, 2025-10-15

[BUG] btmtk: LE Audio connection failure on MT7925

From: Arūnas Prokopas <hidden>
Date: 2025-09-24 01:46:13
Also in: linux-mediatek

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/ (local)


Please let me know if any further logs, tests, or information are needed.

Thanks,
Arunas Prokopas

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help