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

  • 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.

In my case I got an Iogear GBU521 using Ubuntu 14.04

lsusb | grep -i bluetooth
Bus 003 Device 008: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0

I created the *.hcd that you can download from https://www.dropbox.com/s/8md0ygdufn0h9w1/fw-0a5c_21e8.hcd?dl=0 and drop it in your /lib/firmware folder and then reboot.

If you want to build yours here are the steps:

  1. Download the driver from www.iogear.com/support/dm/driver/GBU521 for Windows 8.1
  2. Extract the installer
  3. Go to the folder GBU321_421_521_Win8.1_v12.0.0.8030/Win64
  4. After learning about the PID, VID and hex2hcd, the only problem is finding the name of the correct *.hex to convert to *.hcd
  5. The right direction is looking at the bcbtums-win8x64-brcm.inf in the same folder. There you will search by the last four digits of the PID (21e8). For this case the right file was BCM20702A1_00.002.014.1315.1338.hex (IF YOU TRY TO GUESS IS IMPOSSIBLE)
  6. Convert the file with hex2hcd (see step 4)
  7. Rename the file to fw-0a5c_21e8.hcd and place it in /lib/firmware
  8. Reboot
  9. If it is not working unplug and plug it again
  10. Enjoy!

A combination of actoins finally solved that issue:

  • firmware upgrade to version G2ET86WW (2.06) http://support.lenovo.com/en_US/research/hints-or-tips/detail.page?&DocID=HT073834
  • kernel upgrade to latest stable: 3.5.0-21
  • setup firmware for Broadcom bluetooth chip following https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1065400