[pulseaudio-discuss] High Fidelity Capture A2DP switching fine to Headset Audio Gateway (HSP/HFP) but no IN nor OUT audio on HSP/HFP Profile

development_develissimo development at develissimo.com
Sun Nov 15 13:38:48 UTC 2020


Hello Pulseaudio-Mailing-List, 

as in my answer stated here:
https://askubuntu.com/questions/1261148/how-to-switch-my-phone-to-headset-audio-gateway-hsp-hfp-in-pulseaudio/1292524#1292524


I do think me and many other Ubuntu users do suffer from an issue with
HSP/HFP where one needs to manually change output and input device 

if Ubuntu used as Bluetooth Headset for Phone Calls and Playback. 

Clarification: 

A2DP Working fine: 

A2DP Media Playback from my Android Galaxy S8+ working fine. If i switch
back from phone call to youtube the Profile A2DP gets activated
automatically and audio is played out of my headphones on ubuntu.
perfect. 

HSP/HFP Problem: 

Switching to a phone call results in automatic switch in pulseaudio
(pavucontrol) => Configuration-Tab Device "Galaxy S8+" from "Off" or
"A2DP" to "HSP/HFP" which is expected and perfect. 

But then there is no audio output nor audio input. One can see in
pulseaudio that HSP/HFP gets activated. One can further inspect in
pulseaudio that Input Device and Output Device for "Galaxy S8+" gets
registered and shows as "Port: Phone". 

But audio is not working. 

If I than manually switch (while in a phone call) with the use of
indicator-sound-switcher to:

Input: Headset > FrontMicrophone
Output: Headset > Headphones

then I can send and receive audio in this phone call nicely. Quality in
HSP/HFP is not as good as A2DP but thats another issue I will try to fix
elsewhere... 

So technically everything seems to work fine. But its very annoying
while receiving or doing a phone call that audio input and output have
to be set manually to FrontMicrophone and Headset Headphone.
I do have multiple input and output devices and during a business talk
or in a stressful situation it's not so easy to select the right devices
fast and accurate.

So I was looking for a solution to always set:

Input: Headset > FrontMicrophone
Output: Headset > Headphones

when HSP/HFP gets activated. But I am not aware on how to achieve this.

TESTED SETUP:

 	* OS Ubuntu 20.04 LTS
 	* ofono installed.
 	* Android Galaxy S8+

	* Card #8
Name: bluez_card.88_75_98_9F_C3_35
Driver: module-bluez5-device.c
Owner Module: 145
Properties:
device.description = "Galaxy S8+"
device.string = "88:75:98:9F:C3:35"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "phone"
bluez.path = "/org/bluez/hci0/dev_88_75_98_9F_C3_35"
bluez.class = "0x5a020c"
bluez.alias = "Galaxy S8+"
device.icon_name = "audio-card-bluetooth"
Profiles:
a2dp_source: High Fidelity Capture (A2DP Source) (sinks: 0, sources: 1,
priority: 20, available: yes)
headset_audio_gateway: Headset Audio Gateway (HSP/HFP) (sinks: 1,
sources: 1, priority: 10, available: yes)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: off
Ports:
phone-output: Phone (priority: 0, latency offset: 0 usec)
Part of profile(s): headset_audio_gateway
phone-input: Phone (priority: 0, latency offset: 0 usec)
Part of profile(s): a2dp_source, headset_audio_gateway 

Settings adjusted so far:

sudo vim /etc/pulse/default.pa

.ifexists module-bluetooth-discover.so
#load-module module-bluetooth-discover
load-module module-bluetooth-discover headset=ofono
.endif

sudo useradd -g bluetooth pulse

vim /etc/dbus-1/system.d/ofono.conf

  <policy user="pulse">
    <allow send_destination="org.ofono"/>
  </policy>

Question:

How can one set Input and Output to FrontMicrophone and Headphones
permanently for HSP/HFP Profile?

Thank you in advance for contribution to this issue. 

Kind regards, 

Raphael 

-- 
Development @ develissimo.com [1] 

Links:
------
[1] https://develissimo.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20201115/b2c6a1fc/attachment.htm>


More information about the pulseaudio-discuss mailing list