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:
and comment out (with an # at the beginning of the line) the following line:
#load-module module-bluetooth-discover
now edit the file:
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
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?


pacmd -> list-cards prints

    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


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?

  • Does waiting have any impact? Based on the Arch Linux modification that you linked (and I quote) "This way the Pulse audio’s Bluetooth modules will not be downloaded at boot time but after x11 is started." To me this means that your X11 session will be running prior to the modification going active. – Elder Geek Sep 3 '16 at 18:21
  • Waiting how long? Recently I connected the head phone maybe 30 minutes after logging in and it worked directly. Next day around 1 minute - and it did not work. – Alex Sep 3 '16 at 20:21
  • I have a very similar problem with a BOHM B-66 headset. In Sound Settings, if I select the headset, then A2DP, I get Nov 4 13:06:27 snafu pulseaudio[2418]: [pulseaudio] bluez5-util.c: Transport Acquire() failed for transport /org/bluez/hci0/dev_FC_58_FA_1B_45_4F/fd1 (Operation Not Authorized) and the sound device reverts to built-in audio. In my case, sudo service bluetooth restart seems to fix the issue (i.e., I can select A2DP and it works). – Reece Nov 4 '16 at 20:09

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.

  • Nope - it is not about the sink - it is about the profile on the sink. Sink shows only the headset. What I am talking about is the profile HSP/HFP vs. A2DP - I don't see where to change that in pactl – Alex Sep 7 '16 at 9:39

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

    if [ x"$SESSION_MANAGER" != x ] ; then
    /usr/bin/pactl load-module module-x11-xsmp "display=$DISPLAY session_manager=$SESSION_MANAGER" > /dev/null
    /usr/bin/pactl load-module module-bluetooth-discover

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

Reboot and you should be able to change the profile.


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.

  • Does not not work for me or solve it. Can you elaborate how this maps to 3 times restarting? Still I hope there is a solution that works directly. – Alex Sep 6 '16 at 6:37
  • 1st time connects as HSP , possibly not allowed by your config , 2nd time disconnects , 3rd time connects as HSP but allows switch. – Amias Sep 6 '16 at 9:05
  • HSP is allowed by my config ... if if works, I can switch between both – Alex Sep 7 '16 at 10:46
  • for me on the first connect it will not be possible to switch to a2dp , i have to disconnect and reconnect it, then it connects as hsp but allows switch to a2dp – Amias Sep 7 '16 at 12:22
  • not all bluetooth chipsets are created equal and quirks abound it seems – Amias Sep 7 '16 at 15:17

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.