Bluetooth Headset: HSP/HFP not working

10,292

The problem is solved for me by using pipewire (which is used by default in newer Fedora versions anyways).

Share:
10,292

Related videos on Youtube

Daniel Hauck
Author by

Daniel Hauck

Updated on September 18, 2022

Comments

  • Daniel Hauck
    Daniel Hauck almost 2 years

    I've got a Bluetooth headset (Sony WH-1000XM3) which works perfectly with PulseAudio as long as I only use it as an output device. Changing the Bluetooth profile in pavucontrol works for everything (SBC, LDAC, aptX HD, aptX and AAC) except HSP/HFP. PulseAudio outputs the following error when this happens:

    I: [pulseaudio] protocol-native.c: Application "PulseAudio-Lautstärkeregler" requests card profile change. card = bluez_card.38_18_4C_6D_C9_22, profile = headset_head_unit
    I: [pulseaudio] core.c: default_sink: bluez_sink.38_18_4C_6D_C9_22.a2dp_sink -> alsa_output.usb-BEHRINGER_UMC204HD_192k-00.analog-surround-40
    I: [pulseaudio] source-output.c: Freeing output 3 "Ausschlagsserkennung"
    I: [bluetooth] bluez5-util.c: Transport /org/bluez/hci0/dev_38_18_4C_6D_C9_22/sep5/fd13 released
    I: [pulseaudio] sink.c: Freeing sink 1 "bluez_sink.38_18_4C_6D_C9_22.a2dp_sink"
    I: [pulseaudio] source.c: Freeing source 3 "bluez_sink.38_18_4C_6D_C9_22.a2dp_sink.monitor"
    I: [pulseaudio] backend-native.c: doing connect
    E: [pulseaudio] backend-native.c: connect(): Function not implemented
    

    On start also

    E: [pulseaudio] backend-ofono.c: Failed to register as a handsfree audio agent with ofono: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
    

    appears in the log.

    I'm on Fedora 31 and have the following package versions

    Installed Packages
    NetworkManager-bluetooth.x86_64              1:1.20.10-1.fc31                    @updates               
    bluecurve-cursor-theme.noarch                8.0.2-21.fc31                       @fedora                
    bluecurve-icon-theme.noarch                  8.0.2-21.fc31                       @fedora                
    blueman.x86_64                               1:2.1.2-1.fc31                      @updates               
    bluez-cups.x86_64                            5.54-1.fc31                         @updates               
    bluez-libs.x86_64                            5.54-1.fc31                         @updates               
    bluez-obexd.x86_64                           5.54-1.fc31                         @updates               
    bluez-tools.x86_64                           0.2.0-0.11.git20170912.7cb788c.fc31 @fedora                
    bluez.x86_64                                 5.54-1.fc31                         @updates               
    gnome-bluetooth-libs.x86_64                  1:3.34.1-1.fc31                     @updates               
    gnome-bluetooth.x86_64                       1:3.34.1-1.fc31                     @updates               
    pulseaudio-libs-devel.x86_64                 13.99.1-2.fc31 @updates               
    pulseaudio-libs-glib2.x86_64                 13.99.1-2.fc31 @updates               
    pulseaudio-libs.i686                         13.99.1-2.fc31 @updates               
    pulseaudio-libs.x86_64                       13.99.1-2.fc31 @updates               
    pulseaudio-module-bluetooth-freeworld.x86_64 1.3-4.fc31     @rpmfusion-free-updates
    pulseaudio-module-gsettings.x86_64           13.99.1-2.fc31 @updates               
    pulseaudio-module-jack.x86_64                13.99.1-2.fc31 @updates               
    pulseaudio-module-x11.x86_64                 13.99.1-2.fc31 @updates               
    pulseaudio-utils.x86_64                      13.99.1-2.fc31 @updates               
    pulseaudio.x86_64                            13.99.1-2.fc31 @updates
    

    My bluetooth device

    Bus 001 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
    

    EDIT: No news, yet (ordered a new dongle, but that one has exactly the same ID and name), but this thread reports the same for Ubuntu.

    • Nuno Dio
      Nuno Dio over 4 years
      Just to clarify, when you change your output configuration to "Headset Head Unit (HSP/HFP)" is when you get issues correct? I have your setup and I had issues until I did the update to the most recent Sony's Firmware version. From time to time, I need to remove the device from the Bluetooth devices, to be able to connect again correctly.
    • Daniel Hauck
      Daniel Hauck over 4 years
      Exactly. I'm on the latest update, I just checked, but thanks for the suggestion, woudn't have thought of that! Removing and reconnecting doesn't help ... with "connect again correctly" you mean getting a connection at all? Or the same problem as mine?
    • Nuno Dio
      Nuno Dio over 4 years
      It's simply going to Settings>Bluetooth>Click on the WH-1000 Device> Click on Red Button "Remove Device" then, Disable Bluetooth> Enable Bluetooth > Connect to WH-1000 Device. I know this is not a very advanced solution, but sometimes when I got weird behavior I do this and it comes back to normal. Just to mention... I just realized that you have installed the package pulseaudio-module-bluetooth-freeworld.x86_64 1.3-4.fc31 @rpmfusion-free-update Do you really need this? I don't use anything from rpmfusion at all.
    • Daniel Hauck
      Daniel Hauck over 4 years
      That's would I did, but it didn't change anything. I need pulseaudio-module-bluetooth-freeworld for the LDAC, aptX etc. support.
    • Daniel Hauck
      Daniel Hauck over 4 years
      I just tried without this package and the normal pulseaudio-module-bluetooth instead, but this led to exactly the same behaviour.
    • Daniel Hauck
      Daniel Hauck over 4 years
      It works on my laptop, so could it be that the bluetooth adapter has to support it?
    • batisteo
      batisteo over 4 years
      Does this seem related to this bug?: Sound is not coming out on connected bluetooth device bugzilla.redhat.com/show_bug.cgi?id=1814556
    • Paul Praet
      Paul Praet about 4 years
      I have the same problem in Ubuntu 18.04. Any progress on this ?
    • Daniel Hauck
      Daniel Hauck about 4 years
      It looks like it's my bluetooth adapter. My laptop with exactly the same software versions works as expected.
    • bluppfisk
      bluppfisk about 4 years
      @DanielHauck is there a workaround for it? My brand new XPS 13 (9300) has the same problem.
    • bluppfisk
      bluppfisk about 4 years
      (If it's any help, I've just dualbooted into Windows where I noticed the same problem. However, a new Bluetooth driver was available and after installing that and rebooting, I could use my WH-1000XM3 with the laptop). No luck on Linux yet (despite kernel 5.7 rc5)
    • Daniel Hauck
      Daniel Hauck about 4 years
      @bluppfisk Not that I know of ... I also just got a brand new Bluetooth (a cheap Logitech one), but no luck with that one either :-(
    • bluppfisk
      bluppfisk about 4 years
      Hello all, you may want to check Pali's work on Pulseaudio. I've been able to use his version to use my Bluetooth headset in HSP/HFP mode even if it's not perfect. gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_request‌​s/…
    • paulodiovani
      paulodiovani almost 4 years
      I have a similar issue in Arch Linux. Pavucontrol says HSP/HFP is unavailable for a JBL Live400BT. The headset specs say it has support, although. Tried pulseaudio-hsphfpd from AUR but it didn't work.
    • Daniel Hauck
      Daniel Hauck almost 4 years
      @paulodiovani What bluetooth adapter do you use?
    • paulodiovani
      paulodiovani almost 4 years
      I believe it comes with my Wireless card, listed on lspci as Qualcomm Atheros QCA6174 802.11ac
    • αғsнιη
      αғsнιη about 3 years
    • Daniel Hauck
      Daniel Hauck about 3 years
      The linked page explicitely says "These steps are here for archival purposes only. Firmware errors on Linux regarding the Bluetooth adapter have no impact on Bluetooth functionality in modern Linux distros". And the "new" solution only updates to a newer BlueZ version. The problem is not relvant anymore though as Fedora now uses pipewire and with that it works.