From: Arka Bhuiyan <arkabhuiyancsedu@gmail.com>
To: linux-bluetooth@vger.kernel.org
Subject: Re: Sony WF-1000XM6 call audio fails on Linux: first eSCO setup gets 0x1f, then ACL timeout
Date: Fri, 6 Nov 2026 05:37:14 +0600 [thread overview]
Message-ID: <59040dbf-3a11-41d5-b696-3d6536b1e706@gmail.com> (raw)
In-Reply-To: <ebfb1f3b-99f4-42bc-b79a-5085af6824ae@gmail.com>
Hi,
This is an update to my earlier report. I need to correct the versions I
sent: the report said pipewire 1:1.6.8-1.2 and wireplumber 0.5.15-1,
which were stale.
Current versions on my system:
- BlueZ 5.87-2.1
- PipeWire 1:1.6.10-1
- WirePlumber / libwireplumber 0.5.18-1.1
- Kernel 7.3.1-1-cachyos
Finding: with WirePlumber 0.5.15-1 and the same PipeWire version,
LC3-SWB calls work on this device. With WirePlumber 0.5.18-1.1, the
autoswitch to the headset-head-unit (LC3-SWB) profile sets the profile,
the transport goes inactive right after that, and the output node goes
to error. There is no speaker or microphone audio. mSBC still works on
0.5.18.
I have not yet determined whether the fault is in BlueZ, PipeWire or
WirePlumber. The transport goes inactive immediately after the profile
is set on the WirePlumber side, so I am reporting the WirePlumber side
upstream as well:
[https://gitlab.freedesktop.org/pipewire/wireplumber/-/work_items/1058].
On 11/6/26 3:30 AM, Arka Bhuiyan wrote:
> Hi,
>
> My Sony WF-1000XM6 does not carry call audio on Linux. I'm sending
> this to report the failure and the evidence I have. I don't know
> whether the bug is in PipeWire, BlueZ, the kernel, or the device, so
> I'm asking here.
>
> My setup
>
> - HP Victus laptop and a personal workstation, both with Intel AX201
> (8087:0026).
> - Kernel 7.3.1-1-cachyos (linux-cachyos 7.3.1-1), bluez 5.87-2.1,
> pipewire 1:1.6.8-1.2, wireplumber 0.5.15-1, linux-firmware
> 1:20261019-1. PipeWire and WirePlumber are pinned, so these are the
> versions running.
> - Firmware loaded: intel/ibt-19-0-4.sfi, Firmware Version 83-7.26.
> - Earbuds: Sony WF-1000XM6. I haven't checked its firmware version yet.
> - I also have other Sony headsets and see the same failure with them.
> I haven't captured those yet.
>
> What happens
>
> When a call starts, the host sends an Enhanced Setup Synchronous
> Connection command. The controller accepts it (Command Status:
> Success), but no Synchronous Connect Complete follows. Later, an SCO
> Connect Complete arrives with Unspecified Error (0x1f) and handle
> 0xFFFF. About 1 ms after that, the ACL link drops with Connection
> Timeout (0x08). In every failing capture I have, there is no codec
> exchange (+BCS or AT+BCS) between connect and that first setup.
>
> How to reproduce
>
> 1. Pair and connect the WF-1000XM6.
> 2. Start a call in Teams for Linux, with nothing else changed.
> 3. Capture with sudo btmon.
>
> Evidence (btmon times, in seconds)
>
> - Cold run: setups at 26.02 and 50.12 are accepted with no completion.
> SCO Connect Complete with 0x1f at 46.345 and 62.114, each followed by
> ACL Disconnect with 0x08.
> - Debug run: Enhanced Setup at 83.73 has no completion. SCO failure
> with 0x1f at 104.078, then ACL 0x08 at 104.079. Another failure at
> 123.558. Before the first setup, the only HFP message is +CIEV: 2,1.
> - Call capture: Enhanced Setup at 76.276, no completion. SCO 0x1f at
> 96.628, ACL 0x08 at 96.629. The first codec exchange comes after the
> reconnect.
>
> Workaround
>
> If I force the codec exchange first, the setup succeeds. Before the
> call, I run two short capture streams: one on mSBC, then one on
> LC3-SWB. In the primed capture, +BCS: 2 and AT+BCS=2 come before the
> mSBC setup at 23.733, which succeeds at 24.19 (eSCO, Transparent). The
> LC3-SWB setup comes after +BCS: 3 and AT+BCS=3, and it also succeeds.
>
> In a real call with the workaround, the mSBC setup at 43.23 succeeded
> at 43.63, and the LC3-SWB setup at 52.22 succeeded at 53.28. Audio
> worked. There was a brief drop of about 1.2 seconds while the link
> switched.
>
> What I ruled out or haven't checked
>
> - Duplicate device records: there is only one record.
> - Multipoint: it still fails with the phone's Bluetooth off.
> - Wi-Fi coexistence: not tested properly.
> - Firmware: not confirmed as the cause. I haven't compared it with the
> September update.
> - CVE-2026-90255 and commit 0f00cd322d22: I haven't checked them
> against the 7.3.1-1 source.
>
> Questions
>
> 1. Is it expected that a controller accepts Enhanced Setup Synchronous
> Connection and never completes it, with no earlier error?
> 2. Should the host time out sooner than the ACL supervision timeout?
> 3. Should the codec selection before the first setup come from the
> userspace implementation (PipeWire here) or from BlueZ?
>
> I can send redacted btmon excerpts on request. I won't attach raw
> .snoop files or /var/lib/bluetooth info files, since they contain link
> keys.
>
--
Best Regards,
*Arka Bhuiyan*
prev parent reply other threads:[~2026-11-05 23:37 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-05 21:30 Sony WF-1000XM6 call audio fails on Linux: first eSCO setup gets 0x1f, then ACL timeout Arka Bhuiyan
2026-11-05 23:37 ` Arka Bhuiyan [this message]
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=59040dbf-3a11-41d5-b696-3d6536b1e706@gmail.com \
--to=arkabhuiyancsedu@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