Ubuntu: Can switch bluetooth profile only after 3 times restarting bluetooth



Question:

I have a August EP650 bluetooth headset and problems with swichting the audio profile.

I switch between telephony (HSP/HFP) and music listening (A2DP) a lot, so this is quite annoying.

Each time I boot my system, I can switch the profile using the GUI:

Switching Dialog

In the syslog I get:

Aug 16 08:59:20 orange pulseaudio[7711]: [pulseaudio] bluez5-util.c:          Transport Acquire() failed for transport      /org/bluez/hci0/dev_00_12_D0_02_90_27/fd0 (Operation Not Authorized)  

I already made the modification as suggested here:

Edit the file:  /etc/pulse/default.pa  and comment out (with an # at the beginning of the line) the following line:  #load-module module-bluetooth-discover  now edit the file:  /usr/bin/start-pulseaudio-x11  and after the lines:     if [ x”$SESSION_MANAGER” != x ] ; then      /usr/bin/pactl load-module module-x11-xsmp “display=$DISPLAY session_manager=$SESSION_MANAGER” > /dev/null      fi  add the following line:      /usr/bin/pactl load-module module-bluetooth-discover  

But the problem persists.

Now if I execute around 3 times sudo service bluetooth restart and my headset switches off, I can reconnect the headset and the switching works flawlessly.

How can I fix that?

edit

pacmd -> list-cards prints

profiles:      headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)      a2dp_sink: Hi-Fi-Wiedergabe (A2DP-Senken) (priority 10, available: yes)      off: Aus (priority 0, available: yes)  

But in the above case I am connected to headset_head_unit - and still cannot change to a2dp_sink

edit2

I found out, that when I remove the module loading from the x11-pulseaudio completely and then load the module after connection the headset manually via

$ pacmd  Welcome to PulseAudio 8.0! Use "help" for usage information.  >>> load-module module-bluetooth-discover  

it works directly - the question is, how can I automate that?


Solution:1

Try it from the command line. You can use pacmd to change audio options. The command for changing the default output sink is

$ sudo pacmd set-default-sink "OUTPUTNAME"  

The command for changing the input is

$ sudo pacmd set-default-source "SOURCENAME"  

I think the problem could be that you may not have sudo privileges. However, I am not sure if pacmd requires root privileges. Try it and tell me if it works.

If you do not know the name of the sink you want, try listing them

$ sudo pacmd list-sinks  

If you need any further help, just let me know in the comments.


Solution:2

I found a Workaround that helped me having the same Problem with a Bose OE Soundlink.

Looks like the module-bluetooth-discover does only work properly when loaded after X11 session is started.

Therefore you can use the following workaround:

In the file /etc/pulse/default.pa comment out the line

load-module module-bluetooth-discover  

so it looks like

#load-module module-bluetooth-discover  

Then add /usr/bin/pactl load-module module-bluetooth-discover in the file /usr/bin/start-pulseaudio-x11 so it looks like this:

set -e    if [ x"$DISPLAY" != x ] ; then        /usr/bin/pactl load-module module-x11-publish "display=$DISPLAY" > /dev/null      /usr/bin/pactl load-module module-x11-bell "display=$DISPLAY" "sample=bell.ogg" > /dev/null      /usr/bin/pactl load-module module-x11-cork-request "display=$DISPLAY" > /dev/null        if [ x"$KDE_FULL_SESSION" = x"true" ]; then         /usr/bin/pactl load-module module-device-manager "do_routing=1" > /dev/null      fi        if [ x"$SESSION_MANAGER" != x ] ; then      /usr/bin/pactl load-module module-x11-xsmp "display=$DISPLAY session_manager=$SESSION_MANAGER" > /dev/null      fi      /usr/bin/pactl load-module module-bluetooth-discover  fi  

Now it is ensured that module-bluetooth-discover is loaded after X11 is started.

Reboot and you should be able to change the profile.


Solution:3

i found that with my plantronics back beat pro headset connecting to a Intel Corporation Wireless 7260 on 16.04 , it will connect at first in HSP mode and will not switch to A2DP unless disconnected and reconnected , then it will allow the switch. I can do this without any real delay using the sound settings control panel applet

This seems to map to the 3 times you have suggested and is consistently repeatable , its not perfect but it does work.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »