I have a bluetooth headset that has worked perfectly on an older Ubuntu system and still works perfectly on my Android phone. On a newer system, though, A2DP profiles work perfectly, but HSP/HFP profiles don't work at all.

  • Nixos-16.09
  • Pulseaudio 9.0-rebootstrapped
  • bluez 5.40

When set to HSP/HFP, I will see one of two behaviors:

1) The headset vibrates, attempting to switch profiles. After a few seconds, the headset completely disappears from pavucontrol 2) The headset remains visible in pavucontrol, and appears to have switched, however the microphone does not appear to detect any actual sound input, and sound output is only an intermittent crackling.

In dmesg, I see a steady stream of messages like so:

[ 1679.524964] Bluetooth: hci0 SCO packet for unknown connection handle 65509 [ 1679.524969] Bluetooth: hci0 SCO packet for unknown connection handle 0 [ 1679.524970] Bluetooth: hci0 SCO packet for unknown connection handle 0

Numbering apparently a hundred or so per second.


Behavior is consistent between NixOS-16.09 and Ubuntu-16.04 live CD. However, the problem goes away if I use an external bluetooth dongle. So maybe an incompatibility with my laptop's chipset?

  • I am not familiar with Nixos, but I can tell you on a few distros, especially with 4.4+ kernels, I have had issues with this, but using Blueman has gotten it to change profiles better than in PulseAudio. Also when switching profiles it is sometimes beneficial to power cycle the device. One thing I have seen when dealing with Bluetooth and Linux, reboot when you have issues, it seems counter-intuitive with Linux and rarely helps with some issues, but in BT it often helps. – acejavelin Dec 11 '16 at 21:20
  • Unfortunately, can't reboot when switching profiles. But I tried setting up different devices with dedicated profiles, and still no good, even doing things through blueman and even powering on with the desired profile. – Savanni D'Gerinel Dec 11 '16 at 21:42
  • The only thing I've found about this is bugs.freedesktop.org/show_bug.cgi?id=73325, which describes a nearly identical problem which has been around for over two years now. – Savanni D'Gerinel Dec 11 '16 at 21:43
  • I can tell you I have 2 headsets, one is an Ausdom AH2 and the other a Plantronics Voyager Legend, both are able to switch profiles with Blueman but the Ausdom requires a little fiddling once in a while. I can't get either to switch profiles cleanly with any consistency in PulseAudio control app, but they generally work if I do it in Blueman. – acejavelin Dec 11 '16 at 23:43

My Solution:

I just found my solution in Fedora 26, using Plantronics Legend and Pluggable Bluetooth USB, after a lot of searching.

I am going back through my history, and updating threads with my solution where I can. This worked for me, direct from Plugable (which is the USB module I am using).

See this post: plugable-usb-bluetooth-adapter-solving-hfphsp-profile-issues-on-linux

Command Summary per Above Link:

wget https://s3.amazonaws.com/plugable/bin/fw-0a5c_21e8.hcd

sudo mkdir /lib/firmware/brcm

sudo mv fw-0a5c_21e8.hcd /lib/firmware/brcm/BCM20702A0-0a5c-21e8.hcd

sudo cp /lib/firmware/brcm/BCM20702A0-0a5c-21e8.hcd /lib/firmware/brcm/BCM20702A1-0a5c-21e8.hcd

Then reboot.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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