Bluetooth pairing issues on Ubuntu and how to fix

I recently bought a cheap but working Bluetooth usb dongle (Konig CSBLUEKEY200) for a refurbished desktop running Ubuntu 16.04.  Connecting to my Nexus 6 Android phone worked seamlessly, so confident about it I hurried to connect my Bose Quietcomfort 35 headphone.   I initially got it detected but pairing was a no go, whatever I tried, clearing the bluetooth devices list in the QC35.  Digging into the bluetooth linux configuration then, which by default has “dual” mode enabled for ControllerMode, which states “both LE and BR/EDR modes”, hmmm.  This seemed ok.

//en.wikipedia.org/wiki/Bluetooth_low_energy

//www.bluetooth.com/what-is-bluetooth-technology/how-it-works/br-edr

The reality was however the pairing started to work when specifically setting ControllerMode to bredr only and restarting the bluetooth service.

/etc/bluetooth/main.conf:

# Restricts all controllers to the specified transport. Default value
# is “dual”, i.e. both BR/EDR and LE enabled (when supported by the HW).
# Possible values: “dual”, “bredr”, “le”
#ControllerMode = dual
ControllerMode = bredr

Restart bluethooth service afterwards: sudo /etc/init.d/bluetooth restart

The root cause of this is still not clear to me, but very  likely a QC35 issue (see the comment in main.conf:  “when supported by the HW”)

After the pairing you can safely put the config back to “dual”.  Only pairing seems to be affected.

So, pairing issues can be related to above setting, but certainly not limited to this only.  Buying a linux supported bluetooth dongle is the first prerequisite… Doing some initial investigation and review readings on the internet can be very helpful. In my case this low budget (10 euros) dongle worked immediately, plug and play on ubuntu 16.04.

13 thoughts on “Bluetooth pairing issues on Ubuntu and how to fix”

  1. Thank you Martin!!!

    Your trick has just put an end to a full day of search and frustration for me.

    I was trying to connect my AirPods to Ubuntu 16.04 thru a “Cambridge Silicon Radio, Ltd Bluetooth Dongle” (ID 0a12:0001).

    The AirPods could connect without any problem to another Ubuntu 16.04 machine, using a different BT adapter. So I knew the AirPods could be used with this version of Ubuntu. The cause was likely the adapter, then.

    The symptom was that the AirPods were correctly found by the Bluetooth discovery process, but then it was absolutely impossible to pair with them. It always failed. Exactly the problem you had.

    So I tried your solution: add the line
    ControllerMode = bredr
    in /etc/bluetooth/main.conf, unplug/plug the BT dongle, and then restart Bluetooth with:
    sudo /etc/init.d/bluetooth restart

    Now the AirPods connect flawlessly.

    I would never have thought of that, so thanks a lot for sharing it with the world!

  2. Hi Thanks, this worked, but now my mouse that uses LE doesn’t work. If I go back to dual then the sound is horrible again??? is there a way to set the headset to always use BR/EDR??

    1. Hi, thx, for the sound, there is another setting for bluetooth audio you need to adapt, if i remember correctly, i just looked it up and it seems to be related to the following settings in /etc/bluetooth/main.conf:

      # Automatically connect both A2DP and HFP/HSP profiles for incoming
      # connections. Some headsets that support both profiles will only connect the
      # other one automatically so the default setting of true is usually a good
      # idea.
      AutoConnect=true

      # and uncomment MultiProfile line
      MultiProfile = multiple

      and then: sudo systemctl restart bluetooth
      I read also that no audio should be playing while performing these things, so maybe a quick system reboot would be best… It’s definitely with these settings you have to tinker…
      You need to be able to set High Fidelity Playback (A2DP) for your device (could also be that you are missing some packages, libraries) otherwise it will be treated as dumb transmitter… The integration in ubuntu is terrible for bluetooth audio… You could try to use ‘Blueman’ instead, google a bit, some people seem to have luck with this tool. Unfortunately the machine where I’ve got everything working at the time is now serving another duty :-). So, not able to check the settings anymore. But, good luck, keep trying and sharing of course.

      On which ubuntu/debian version are you? Upgrading to latest version, if it’s an option, can sometimes help, things are improved all the times, so…

    1. cool! maybe share which distribution you had the issue with? can help other people… if it’s still the case in the latest ubuntu, then i’m wondering, maybe installing the latest ML linux kernel 5.x could also fix the problem… this is usually not a big issue.. only companies are paranoid about breaking stuff… 😉

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.