Linux bluetooth development
 help / color / mirror / Atom feed
From: Mo <dabiggmoe@gmail.com>
To: linux-bluetooth@vger.kernel.org
Subject: Re: MT7925 (0e8d:0717): HFP microphone unusable — firmware delivers zero-filled (e)SCO frames on sentinel handle 0x0E00
Date: Sat, 31 Oct 2026 22:56:43 +0100	[thread overview]
Message-ID: <6a48a5bd-7a0d-414e-8cde-048b60e46f13@gmail.com> (raw)

Hi,

Independent reproduction of this report on different hardware, a different
headset and newer firmware.

Hardware:  Framework Desktop (AMD Ryzen AI Max 300), BIOS 03.06
            MediaTek MT7925 (RZ717), BT on USB 0e8d:0717
Firmware:  BT_RAM_CODE_MT7925_1_1_hdr.bin build 20260813113236
            (linux-firmware 20261019, newer than the builds tested above)
Kernel:    7.3.0-5-cachyos
Userspace: BlueZ 5.87, PipeWire 1.6.11, WirePlumber 0.5.19
Headset:   Sony WH-1000XM4 (HFP, native backend)

Symptoms match: A2DP is fine; in HFP the microphone stops delivering audio
while the SCO link stays up. The kernel logs the same signatures:

   Bluetooth: hci0: corrupted SCO packet
   Bluetooth: hci0: SCO packet for unknown connection handle 3584

(32 "corrupted SCO packet" and 18 "handle 3584" lines in the current boot.)

Observations that may help:

- Codec-independent here. It fails with mSBC (Transparent) and also after
   pinning CVSD (headset-head-unit-cvsd): the CVSD session failed about two
   minutes after a fresh reconnect, with "corrupted SCO packet" x3 
followed by
   "handle 3584" at the moment the capture went silent. So removing 
mSBC, the
   workaround that helps MT7921 users in bluez#2545, does not avoid it 
on this
   MT7925.

- Two failure shapes seen at capture level (pw-record on the BT source):
   1. Pure zeros (max amplitude 0.000000) for roughly 8-22 s after a
      "corrupted SCO packet", then audio recovered without any reconnect.
   2. A persistent state where speech arrives about 35 dB too low (peaks
      around -45 dBFS vs about -18 dBFS when healthy). No userspace errors
      are logged; a profile switch (mSBC -> CVSD) does not clear it, only a
      full ACL disconnect/connect does.

- Not the headset or userspace: a USB headset on the same machine and the
   same PipeWire/Steam setup works, and the WH-1000XM4 mic is fine on other
   hosts.

I can run a btmon capture of a failing session, test patches against
bluetooth-next or mainline, or try other firmware builds if that helps.

Is anyone from MediaTek looking at the 0x0E00 SCO frames?

Thanks,
Mo

             reply	other threads:[~2026-10-31 21:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-31 21:56 Mo [this message]
  -- strict thread matches above, loose matches on Subject: below --
2026-08-24 19:32 MT7925 (0e8d:0717): HFP microphone unusable — firmware delivers zero-filled (e)SCO frames on sentinel handle 0x0E00 Daniel Minchev
2026-08-24 20:08 ` bluez.test.bot
2026-09-10 19:08 ` bluez.test.bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6a48a5bd-7a0d-414e-8cde-048b60e46f13@gmail.com \
    --to=dabiggmoe@gmail.com \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox