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.
Update:
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?
Best Answer
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.