Ubuntu – Bluetooth headset A2DP works, HSP/HFP not (no sound/no mic)

12.04bluetoothsound

My Philips SBH9001 headset pairs fine using Ubuntu 12.04. In the audio settings it's properly detected as A2DP device and as HSP/HFP device.

Hardware: Thinkpad X230, Ubuntu 12.04 64bit, Kernel 3.6.0-030600rc3-generic (build from Ubuntu mainline repo), Bluetooth device is USB-Id 0a5c:21e6 from Broadcom, Headset is a Philips SBH9001.

Note: Kernel 3.6 rc3 is used because of a fix for audio on the dockingstation that is not in any previous branches.

Playing audio in A2DP works just fine out of the box, but when switching the headset to HSP/HSP mode there is no sound nor does the microphone work.

When connecting the headset, /var/log/syslog shows:

Aug 25 21:32:47 x230 bluetoothd[735]: Badly formated or unrecognized command: AT+CSRSF=1,1,1,1,1,7
Aug 25 21:32:49 x230 rtkit-daemon[1879]: Successfully made thread 17091 of process 14713 (n/a) owned by '1000' RT at priority 5.
Aug 25 21:32:49 x230 rtkit-daemon[1879]: Supervising 4 threads of 1 processes of 1 users.
Aug 25 21:32:50 x230 kernel: [ 4860.627585] input: 00:1E:7C:01:73:E1 as /devices/virtual/input/input17

When switching from A2DP (standard profile) to HSP/HFP:

Aug 25 21:34:36 x230 bluetoothd[735]: /org/bluez/735/hci0/dev_00_1E_7C_01_73_E1/fd3: fd(34) ready
Aug 25 21:34:36 x230 rtkit-daemon[1879]: Successfully made thread 17309 of process 14713 (n/a) owned by '1000' RT at priority 5.
Aug 25 21:34:36 x230 rtkit-daemon[1879]: Supervising 4 threads of 1 processes of 1 users.
Aug 25 21:34:41 x230 bluetoothd[735]: Audio connection got disconnected

Any hints how to get HSP/HFP working here?

Best Answer

  • This is a known bug in bluez with the new Broadcom BCM20702A0 series adapters; yours is one of those. (see bug report)
  • The bug is rated "high", but it has not yet been fixed. You may want to add yourself to the list of people affected by the bug, and maybe post a message asking if there is any timeline on a fix.

Other possible solutions:

  • Edit /etc/bluetooth/audio.conf and under [General], add the line Enable=Socket. Restart blueoothd with sudo rfkill block bluetooth && sudo rfkill unblock bluetooth and see if it helps.