You are not logged in.

#1 2025-02-14 20:15:15

Wispy
Member
Registered: 2021-04-02
Posts: 35

Pipewire Bluetooth Headset Profile Switching Issue

I have this issue, where I have next wireless profiles available for my Bluetooth headset: A2DP (AAC, SBC, SBC-XQ) and HFP (mSBC. CVSD). Switching between A2DP codecs works without issues. However, once I switch to any HFP profile, I cannot switch to any other profile, including a different HFP codec. The switching technically works, however sound is not being transmitted and journatctl does throw error. I am not sure how to fix this issue so I am hoping someone smarter than me would know what's going on. Thanks in advance!

02:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01)
	Subsystem: Lenovo Device 3218
	Flags: bus master, fast devsel, latency 0, IRQ 37
	Memory at f0800000 (64-bit, non-prefetchable) [size=512K]
	Expansion ROM at f0880000 [disabled] [size=64K]
	Capabilities: [40] Power Management version 2
	Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
	Capabilities: [70] Express Endpoint, IntMsgNum 0
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Virtual Channel
	Capabilities: [160] Device Serial Number 00-00-00-00-00-00-00-00
	Kernel driver in use: ath9k
	Kernel modules: ath9k

pipewire 1:1.2.7-1
pipewire-audio 1:1.2.7-1
pipewire-media-session 1:0.4.2-3
pipewire-pulse 1:1.2.7-1
bluez 5.79-1

Switching from mSBC to CVSD (sound is glitched, looping endlessly):

Feb 14 22:44:39 wispy-laptop pipewire[770]: 0x623ce88881e0: mix port-id:1 freeing leaked buffers
Feb 14 22:44:55 wispy-laptop pipewire-media-session[98589]: pw.node: (bluez_output.74_45_CE_14_55_CE.headset-head-unit-59) graph xrun not-triggered (0 suppressed)
Feb 14 22:44:55 wispy-laptop pipewire-media-session[98589]: pw.node: (-59) xrun state:0x7e0ad4000008 pending:5/6 s:45505329867153 a:45505330155498 f:45505330223042 waiting:288345 process:67544 status:triggered
Feb 14 22:44:55 wispy-laptop pipewire-media-session[98589]: pw.node: (-88) xrun state:0x7e0acff1c008 pending:0/1 s:45505335203269 a:45505329984110 f:45505330035966 waiting:18446744073704332457 process:51856 status:triggered
Feb 14 22:44:55 wispy-laptop pipewire-media-session[98589]: pw.node: (-165) xrun state:0x7e0acd2c6008 pending:0/1 s:45505335203269 a:45505330040543 f:45505330057434 waiting:18446744073704388890 process:16891 status:triggered
Feb 14 22:44:55 wispy-laptop pipewire-media-session[98589]: pw.node: (-148) xrun state:0x7e0acd2c3008 pending:0/1 s:45505335203269 a:45505330061048 f:45505330077448 waiting:18446744073704409395 process:16400 status:triggered
Feb 14 22:44:55 wispy-laptop pipewire-media-session[98589]: pw.node: (bluez_input.74_45_CE_14_55_CE.headset-head-unit-110) graph xrun not-triggered (0 suppressed)
Feb 14 22:44:55 wispy-laptop pipewire-media-session[98589]: pw.node: (-110) xrun state:0x7e0ad4673008 pending:2/3 s:45505329921272 a:45505330120340 f:45505330124850 waiting:199068 process:4510 status:triggered
Feb 14 22:44:55 wispy-laptop pipewire-media-session[98589]: pw.node: (-112) xrun state:0x7e0acff1a008 pending:0/1 s:45505335270518 a:45505330078262 f:45505330091594 waiting:18446744073704359360 process:13332 status:triggered
Feb 14 22:44:55 wispy-laptop pipewire-media-session[98589]: pw.node: (-119) xrun state:0x7e0acd2c5008 pending:0/1 s:45505335270518 a:45505330092682 f:45505330101945 waiting:18446744073704373780 process:9263 status:triggered
Feb 14 22:44:55 wispy-laptop pipewire-media-session[98589]: spa.audioconvert: 0x5a34c885b050: (0 suppressed) out of buffers on port 0 1
Feb 14 22:44:58 wispy-laptop pipewire-media-session[98589]: pw.node: (bluez_output.74_45_CE_14_55_CE.headset-head-unit-59) graph xrun not-triggered (28 suppressed)
Feb 14 22:44:58 wispy-laptop pipewire-media-session[98589]: pw.node: (-59) xrun state:0x7e0ad4000008 pending:0/6 s:45508257845788 a:45508258079158 f:45508258107521 waiting:233370 process:28363 status:triggered

Switching from mSBC to AAC:

Feb 14 22:46:03 wispy-laptop dbus-daemon[513]: [system] Rejected send message, 0 matched rules; type="method_return", sender=":1.582" (uid=1000 pid=98589 comm="/usr/bin/pipewire-media-session") interface="(unset)" member="(unset)" error name="(unset)" requested_reply="0" destination=":1.862" (uid=0 pid=183675 comm="/usr/lib/bluetooth/bluetoothd")
Feb 14 22:46:03 wispy-laptop pipewire-pulse[1727]: spa.audioadapter: was started
Feb 14 22:46:03 wispy-laptop pipewire-pulse[1727]: mod.client-node: node 0x61ee73266120: set_param Spa:Enum:ParamId:PortConfig (11) 0x61ee74bc4488: Input/output error
Feb 14 22:46:03 wispy-laptop pipewire[770]: pw.core: 0x623ce86a6140: error -5 for resource 53: node_set_param(Spa:Enum:ParamId:PortConfig) failed: Input/output error
Feb 14 22:46:03 wispy-laptop pipewire[770]: mod.client-node: 0x623ce872c5d0: error seq:94084 -5 (node_set_param(Spa:Enum:ParamId:PortConfig) failed: Input/output error)
Feb 14 22:46:03 wispy-laptop pipewire[770]: pw.node: (auto_null-101) graph xrun not-triggered (0 suppressed)
Feb 14 22:46:03 wispy-laptop pipewire[770]: pw.node: (auto_null-101) xrun state:0x7de0842f0008 pending:2/3 s:0 a:0 f:0 waiting:0 process:0 status:triggered
Feb 14 22:46:04 wispy-laptop pipewire[770]: pw.node: (Dummy-Driver-29) graph xrun not-triggered (0 suppressed)
Feb 14 22:46:04 wispy-laptop pipewire[770]: pw.node: (Dummy-Driver-29) xrun state:0x7de0844af008 pending:3/6 s:45573961752443 a:45573962071027 f:45573962075429 waiting:318584 process:4402 status:triggered
Feb 14 22:46:04 wispy-laptop bluetoothd[183675]: /org/bluez/hci0/dev_74_45_CE_14_55_CE/sep2/fd5: fd(37) ready
Feb 14 22:46:07 wispy-laptop kernel: input: WH-CH510 (AVRCP) as /devices/virtual/input/input42
Feb 14 22:46:07 wispy-laptop systemd-logind[515]: Watching system buttons on /dev/input/event14 (WH-CH510 (AVRCP))

Offline

#2 2025-03-27 15:42:21

coordinatio
Member
Registered: 2022-10-25
Posts: 2

Re: Pipewire Bluetooth Headset Profile Switching Issue

I have exactly the same issue. It's a regression: it used to work right some time ago.
As a workaround, I reconnect the headphones every time I need to switch back to AAC codec after mSBC.

Offline

Board footer

Powered by FluxBB