Dear Maintainer,
After upgrading wireplumber/libwireplumber-0.5-0 from 0.5.15-1 to 0.5.17-1
(2026-09-15), using the built-in mic on Bluetooth headphones (HFP/HSP,
mSBC codec) became unreliable:
- Sometimes after switching the input source to the Bluetooth headset's
microphone, neither playback nor the mic works.
- Sometimes playback works but the microphone does not (nobody can hear
me), until I manually switch the Bluetooth profile/codec from mSBC to
CVSD and back to mSBC, which "kicks" it back into a working state.
Downgrading wireplumber and libwireplumber-0.5-0 back to 0.5.15-1
fixes the issue completely.
I have since held both packages at 0.5.15-1 to work around this.
How to reproduce:
1. Pair/connect Bluetooth headphones that support HFP/HSP + mSBC.
2. Start or join an audio/video call (or just switch the default source
to the Bluetooth "headset-head-unit" mic).
3. Talk / listen. Fairly often either the mic or the playback
direction (or both) silently stops working, with no obvious UI
indication other than remote party or you not hearing anything.
Relevant journal output when this happens (MAC device redacted):
wireplumber[3490]: pw.node: (bluez_output.xx_xx_xx_xx_xx_xx.1-300) running -> error (Received error event)
wireplumber[3490]: spa.bluez5: Failure in Bluetooth audio transport /org/bluez/hci0/dev_xx_xx_xx_xx_xx_xx/sep7/fd0
pipewire[3483]: pw.node: (bluez_output.xx_xx_xx_xx_xx_xx.1-300) running -> error (Received error event)
gsd-media-keys[3966]: Unable to get default sink
...
wireplumber[3490]: pw.node: (bluez_input.xx_xx_xx_xx_xx_xx.0-300) running -> error (Received error event)
wireplumber[3490]: spa.bluez5: Failure in Bluetooth audio transport /org/bluez/hci0/dev_xx_xx_xx_xx_xx_xx/fd52
pipewire[3483]: pw.link: 0x5585970c26b0: one of the nodes is in error out:suspended in:error
kernel: Bluetooth: hci0: SCO packet for unknown connection handle 257
kernel: Bluetooth: hci0: corrupted SCO packet
(repeated many times)
Hardware:
- Bluetooth adapter: Intel Corp, USB ID 8087:0037, hci0, HCI 5.4
- Headset: Bluetooth device xx:xx:xx:xx:xx:xx (HFP/HSP profile,
mSBC codec by default)
Workaround: hold wireplumber and libwireplumber-0.5-0 at 0.5.15-1
(apt-mark hold), or force bluez5.codecs = [ cvsd ] in wireplumber's
bluez monitor config to avoid mSBC negotiation entirely.