As a work around, one can use the phono plug to microUSB cable that came with the headset and use the built in audio.
Edit:
By the way, what is your Bluetooth hardware in your system? Mine is an integral USB device by Intel. VID=8087 PID=07DC
Not that I think it matters, the main audio device is an Intel PCI device:
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
I think the fault lies in the driver for the USB Bluetooth device.
]]>Otherwise you probably have to open a bug report, start capturing bluetooth traffic like e.g. here: https://gitlab.freedesktop.org/pipewire … ssues/1827
Edit: Or maybe there is some firmware file or update for your bluetooth device missing?
Edit: Maybe deleting the pairing (and bluez cache files for that device in /var/lib/blueooth) before reconnecting might also help if there is wrong data in the cache?
But, it would be nice to be able to use it for Zoom and Teams. As I stated, I use those on my Android tablet (Samsung Galaxy Tab A) and on my Android phone (Pixel 4a) and the headset seems to work seamlessly. But, I cannot prove what mode it is using for video conferencing vs multimedia.
I also have a completely worthless, locked down, under powered Windows 10 Laptop that belongs to IT at $DAYJOB. The headset works with it -- I think. It might actually be using the built in microphone, but it does use a low fidelity connection that is persistent after a video call. If I force the connection to high definition, it sounds better, but subsequent video calls won't work. I don't care and won't spend an iota of my time diagnosing that pig; I was just hoping to get some intelligence as to how Windows handled this headset. The answer is -- badly.
Which brings me back to this laptop. The High Fidelity connection works, but has no reverse channel as would Faststream. If I put it into one of the Headset modes, it used to disconnect after a few moments. Your suggestion of locking down hsp_ag and hfp_ag looked promising, but did not pan out in the end. After doing that, I was able to select a HSP/HFS mode in mSBC and not have the headset disconnect. Even more promising, an input for the microphone appeared in PaVuControl. But the streams seem dead. Outbound audio vanishes into the aether, and recording functions attaching to the input stream receive nary a byte.
Tangentially, this headset does have a cable with uUSB on one end, and a phono jack with stereo and mic on the other end that permits use as an analog headset I can use in a pinch, but that is not the point, is it?
]]>By the way, does that headset maybe support AptX LL or FastStream? In that case there should be an option for bidirectional A2DP in the profile selection with a recent pipewire version.
It have not seen a bidirectional A2DP profile, but I have been experimenting with config files. Let me look into this and see what I find (perhaps going back to the default configuration)
]]>Thanks. Missed that (obviously)
]]>% systemctl --user status "pipewire*"
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-01-15 17:02:51 CET; 3h 1min ago
TriggeredBy: ● pipewire.socket
Main PID: 2093 (pipewire)
Tasks: 2 (limit: 18852)
Memory: 8.0M
CPU: 51.005s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
└─2093 /usr/bin/pipewire
Jan 15 17:02:51 archspectre systemd[2079]: Started PipeWire Multimedia Service.
● pipewire-pulse.socket - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.socket; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-01-15 17:02:51 CET; 3h 1min ago
Until: Sat 2022-01-15 17:02:51 CET; 3h 1min ago
Triggers: ● pipewire-pulse.service
Listen: /run/user/1000/pulse/native (Stream)
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire-pulse.socket
Jan 15 17:02:51 archspectre systemd[2079]: Listening on PipeWire PulseAudio.
● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-01-15 17:02:51 CET; 3h 1min ago
TriggeredBy: ● pipewire-pulse.socket
Main PID: 2096 (pipewire-pulse)
Tasks: 2 (limit: 18852)
Memory: 16.5M
CPU: 1min 7.795s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
└─2096 /usr/bin/pipewire-pulse
Jan 15 17:02:51 archspectre systemd[2079]: Started PipeWire PulseAudio.
● pipewire.socket - PipeWire Multimedia System Socket
Loaded: loaded (/usr/lib/systemd/user/pipewire.socket; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-01-15 17:02:51 CET; 3h 1min ago
Until: Sat 2022-01-15 17:02:51 CET; 3h 1min ago
Triggers: ● pipewire.service
Listen: /run/user/1000/pipewire-0 (Stream)
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire.socket
Jan 15 17:02:51 archspectre systemd[2079]: Listening on PipeWire Multimedia System Socket.
Edit: There is also a wireplumber service that is not included in this output. (Or pipewire-media-session if you use that)
Edit: By the way, someone else with HFP/HSP problems with different earbuds: https://gitlab.freedesktop.org/pipewire … ssues/1817
]]>I am now trying pipewire and am working my way through https://wiki.archlinux.org/title/PipeWire#Audio_2 . The headphones work in high def mode and sound great; love using them on airplanes to watch movies. But, no headset mode will work.
I am, however in my natural state -- confused. That article talks of pipewire being a systemd service and the need to restart it after changing configuration files. But, on my system, it is most definitely not a service. What am I missing? It seems to be using pipwire:
ewaller@odin/home/ewaller % pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 75
Tile Size: 65472
User Name: ewaller
Host Name: odin
Server Name: PulseAudio (on PipeWire 0.3.43)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
Default Source: alsa_input.pci-0000_00_1b.0.analog-stereo
Cookie: d04f:9cc7
ewaller@odin/home/ewaller %
It looks the collective opinion around the internet is that it may be related to the Linux firmware package and not using the proper USB endpoint. Could all be noise, but that is jest of what I am seeing. Still investigating.
]]>It also works with the microphone to talk to Google assistant while listening to hi-def audio (Not quite sure how that works)
I'd guess it switches from A2DP to HFP with the 16kHz mSBC codec (which is currently not supported by pulseaudio)
This merge request and the others mentioned in the comments discuss different ways that could be implemented.
https://gitlab.freedesktop.org/pulseaud … quests/254
You could also try to replace pulseaudio with pipewire and try its implementations https://gitlab.freedesktop.org/pipewire … issues/249 (Edit: It seems to be incomplete)
]]>I have SONY WH-1000XM3. I did everything you've mentioned (explored stale threads, read wiki pages, checked pulseaudio website, ...). What I've never tried was to install ofono (personally, I think that phonesim is definitely overkill). So, someone might have to look down the rabbit hole... For me this moment was not so important, because I have prioritized audio quality and the microphone in my laptop is still working. So, I decided not to waste time at that moment and settled on just playing audio. But the engineering mind demands an answer!
I watched the issues in this repo a year+ ago (it is mentioned in wiki's page). Especially interesting (and promising) one was Add HFP support ?. But I lost context 1.5 years ago and so need a refresh.
Personally, I checked author posts once in awhile (like this one). Because author has similar setup (in terms of headset). But it looks like the issue has not been resolved. And maybe all these things (and my words) are not related with your problem at all.
]]>