Re: [PATCH v4 0/8] Bluetooth: Add MediaTek MT7927 (MT6639) support
From: Luiz Augusto von Dentz
Date: Tue Mar 31 2026 - 09:28:34 EST
Hi Javier,
On Mon, Mar 30, 2026 at 4:39 PM Javier Tia <floss@xxxxxxx> wrote:
>
> combo WiFi 7 + BT 5.4 module. The BT subsystem uses hardware variant
> 0x6639 and connects via USB.
>
> The MT7927 is shipping in motherboards and PCIe add-in cards from ASUS,
> Gigabyte, Lenovo, MSI, and TP-Link since mid-2024. Without these patches,
> users see "Unsupported hardware variant (00006639)" or the BT subsystem
> hangs during firmware download.
>
> The series consists of eight patches:
>
> [1/8] Bluetooth: btmtk: Add MT6639 (MT7927) Bluetooth support
> [2/8] Bluetooth: btmtk: fix ISO interface setup for single alt setting
> [3/8] Bluetooth: btusb: Add MT7927 ID for ASUS ROG Crosshair X870E Hero
> [4/8] Bluetooth: btusb: Add MT7927 ID for Lenovo Legion Pro 7 16ARX9
> [5/8] Bluetooth: btusb: Add MT7927 ID for Gigabyte Z790 AORUS MASTER X
> [6/8] Bluetooth: btusb: Add MT7927 ID for MSI X870E Ace Max
> [7/8] Bluetooth: btusb: Add MT7927 ID for TP-Link Archer TBE550E
> [8/8] Bluetooth: btusb: Add MT7927 ID for ASUS X870E / ProArt X870E-Creator
>
> Three driver changes are needed for MT6639 (patch 1):
>
> 1. CHIPID workaround: On some boards the BT USB MMIO register reads
> 0x0000 for dev_id. Force dev_id to 0x6639 only when the USB VID/PID
> matches a known MT6639 device, avoiding misdetection if a future
> chip also reads zero. This follows the WiFi-side pattern.
>
> 2. Firmware naming: MT6639 uses firmware version prefix "2_1" instead of
> "1_1" used by MT7925 and other variants. The firmware path is
> mediatek/mt7927/BT_RAM_CODE_MT6639_2_1_hdr.bin, using the mt7927
> directory to match the WiFi firmware convention. The filename will
> likely change to use MT7927 once MediaTek submits a dedicated
> Linux firmware binary.
>
> 3. Section filtering: The firmware binary contains 9 sections, but only
> sections with (dlmodecrctype & 0xff) == 0x01 are Bluetooth-related.
> Sending WiFi/other sections causes an irreversible BT subsystem hang.
>
> Patch 2 fixes the ISO interface setup for devices that expose only a
> single alternate setting (alt 0) on the ISO endpoint. Without this fix,
> btmtk_usb_claim_iso_intf() fails with EINVAL, causing ~20 second
> initialization delays on 13d3:3588 devices.
Ok, but on 8/8 it seem to suggest the problem still exists which
trigger the following review:
https://sashiko.dev/#/patchset/20260330-mt7927-bt-support-v4-0-cecc025e7062%40jetm.me
Perhaps we should ajust the commit description if the 19 seconds
doesn't really occurs when 2/8 is applied.
> WBS (Wideband Speech) was verified on MT7927 hardware. The controller
> reports LMP_TRANSPARENT, LMP_ERR_DATA_REPORTING, and mSBC codec support.
> A btmon capture confirms eSCO links establish with Transparent air mode
> (mSBC) and 60-byte frames. BTUSB_WIDEBAND_SPEECH is correct for this
> controller family.
>
> Tested on:
> - ASUS ROG Crosshair X870E Hero (USB 0489:e13a)
> - ASUS ROG STRIX X870E-E (USB 13d3:3588)
> - ASUS ROG STRIX B850-E GAMING WIFI (USB 0489:e13a)
> - Gigabyte Z790 AORUS MASTER X (USB 0489:e10f)
> - Lenovo Legion Pro 7 16ARX9 (USB 0489:e0fa)
>
> Changes in v4:
> - Pass dev_id as parameter to btmtk_setup_firmware_79xx instead of
> using hci_get_priv, which is not available in btmtksdio
> (suggested by Luiz Augusto von Dentz)
> - Skip post-reset CHIPID validation for 0x6639 in
> btmtk_usb_subsys_reset since the register always returns 0x0000
> on affected boards
>
> Link to v3: https://lore.kernel.org/linux-bluetooth/20260326-mt7927-bt-support-v3-0-fa7ebd424323@xxxxxxx/
>
> Signed-off-by: Javier Tia <floss@xxxxxxx>
> ---
> Javier Tia (8):
> Bluetooth: btmtk: Add MT6639 (MT7927) Bluetooth support
> Bluetooth: btmtk: fix ISO interface setup for single alt setting
> Bluetooth: btusb: Add MT7927 ID for ASUS ROG Crosshair X870E Hero
> Bluetooth: btusb: Add MT7927 ID for Lenovo Legion Pro 7 16ARX9
> Bluetooth: btusb: Add MT7927 ID for Gigabyte Z790 AORUS MASTER X
> Bluetooth: btusb: Add MT7927 ID for MSI X870E Ace Max
> Bluetooth: btusb: Add MT7927 ID for TP-Link Archer TBE550E
> Bluetooth: btusb: Add MT7927 ID for ASUS X870E / ProArt X870E-Creator
>
> drivers/bluetooth/btmtk.c | 63 ++++++++++++++++++++++++++++++++++++++-----
> drivers/bluetooth/btmtk.h | 7 +++--
> drivers/bluetooth/btmtksdio.c | 2 +-
> drivers/bluetooth/btusb.c | 12 +++++++++
> 4 files changed, 75 insertions(+), 9 deletions(-)
> ---
> base-commit: 7f9446b23ac77f46d356b354ea8da49113e8000d
> change-id: 20260305-mt7927-bt-support-6589a50c961f
>
> Best regards,
> --
> Javier Tia <floss@xxxxxxx>
>
--
Luiz Augusto von Dentz