I am running Fedora 24 with Gnome Shell. I try to pair my new Bose QuietComfort 35 over Bluetooth.

I started using the Gnome interface. Unfortunately, the connection seems not to hold. It appears as constantly connecting/disconnecting:

https://youtu.be/eUZ9D9rGUZY

My next step was to perform some checks using the command-line. First, I checked that the bluetooth service is running:

$ sudo systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since dim. 2016-06-26 11:19:24 CEST; 14min ago
     Docs: man:bluetoothd(8)
 Main PID: 932 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 512)
   Memory: 2.1M
      CPU: 222ms
   CGroup: /system.slice/bluetooth.service
           └─932 /usr/libexec/bluetooth/bluetoothd

juin 26 11:19:24 leonard systemd[1]: Starting Bluetooth service...
juin 26 11:19:24 leonard bluetoothd[932]: Bluetooth daemon 5.40
juin 26 11:19:24 leonard bluetoothd[932]: Starting SDP server
juin 26 11:19:24 leonard bluetoothd[932]: Bluetooth management interface 1.11 initialized
juin 26 11:19:24 leonard bluetoothd[932]: Failed to obtain handles for "Service Changed" characteristic
juin 26 11:19:24 leonard systemd[1]: Started Bluetooth service.
juin 26 11:19:37 leonard bluetoothd[932]: Endpoint registered: sender=:1.68 path=/MediaEndpoint/A2DPSource
juin 26 11:19:37 leonard bluetoothd[932]: Endpoint registered: sender=:1.68 path=/MediaEndpoint/A2DPSink
juin 26 11:20:26 leonard bluetoothd[932]: No cache for 08:DF:1F:DB:A7:8A

Then, I have tried to follow some explanations from Archlinux wiki with no success. The pairing is failing Failed to pair: org.bluez.Error.AuthenticationFailed:

$ sudo bluetoothctl 
[NEW] Controller 00:1A:7D:DA:71:05 leonard [default]
[NEW] Device 08:DF:1F:DB:A7:8A Bose QuietComfort 35
[NEW] Device 40:EF:4C:8A:AF:C6 EDIFIER Luna Eclipse
[bluetooth]# agent on
Agent registered
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:1A:7D:DA:71:05 Discovering: yes
[CHG] Device 08:DF:1F:DB:A7:8A RSSI: -77
[CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000febe-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:1F:DB:A7:8A RSSI: -69
[CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000febe-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000110d-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000110f-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 00001130-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000112e-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000111e-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 00001108-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 00001131-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 00000000-deca-fade-deca-deafdecacaff
[bluetooth]# devices
Device 08:DF:1F:DB:A7:8A Bose QuietComfort 35
Device 40:EF:4C:8A:AF:C6 EDIFIER Luna Eclipse
[CHG] Device 08:DF:1F:DB:A7:8A RSSI: -82
[CHG] Device 08:DF:1F:DB:A7:8A RSSI: -68
[CHG] Device 08:DF:1F:DB:A7:8A RSSI: -79
[bluetooth]# trust 08:DF:1F:DB:A7:8A
Changing 08:DF:1F:DB:A7:8A trust succeeded
[bluetooth]# pair 08:DF:1F:DB:A7:8A
Attempting to pair with 08:DF:1F:DB:A7:8A
[CHG] Device 08:DF:1F:DB:A7:8A Connected: yes
Failed to pair: org.bluez.Error.AuthenticationFailed
[CHG] Device 08:DF:1F:DB:A7:8A Connected: no

I tried to disable SSPMode but it seems to have no effect:

$ sudo hciconfig hci0 sspmode 0

When I use bluetoothctl, journalctl logs the following:

juin 26 11:37:21 leonard sudo[4348]: lpellegr : TTY=pts/2 ; PWD=/home/lpellegr ; USER=root ; COMMAND=/bin/bluetoothctl
juin 26 11:37:21 leonard audit[4348]: USER_CMD pid=4348 uid=1000 auid=4294967295 ses=4294967295 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='cwd="/home/lpellegr" cmd="bluetoothctl" terminal=pt
juin 26 11:37:21 leonard audit[4348]: CRED_REFR pid=4348 uid=0 auid=4294967295 ses=4294967295 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_env,pam_fprintd acct="roo
juin 26 11:37:21 leonard sudo[4348]: pam_systemd(sudo:session): Cannot create session: Already occupied by a session
juin 26 11:37:21 leonard audit[4348]: USER_START pid=4348 uid=0 auid=4294967295 ses=4294967295 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_keyinit,pam_limits,
juin 26 11:37:21 leonard sudo[4348]: pam_unix(sudo:session): session opened for user root by (uid=0)
juin 26 11:38:06 leonard bluetoothd[932]: No cache for 08:DF:1F:DB:A7:8A

Unfortunately, I don't understand the output. Any idea or help is welcome. I am pretty lost.

The bluetooth receiver I use is a USB dongle from CSL-Computer. Bluetoothctl version is 5.40. I am running kernel 4.5.7-300.fc24.x86_64.

Below are the features supported by my bluetooth adapter:

hciconfig -a hci0 features
hci0:   Type: BR/EDR  Bus: USB
    BD Address: 00:1A:7D:DA:71:05  ACL MTU: 310:10  SCO MTU: 64:8
    Features page 0: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x5b 0x87
        <3-slot packets> <5-slot packets> <encryption> <slot offset> 
        <timing accuracy> <role switch> <hold mode> <sniff mode> 
        <park state> <RSSI> <channel quality> <SCO link> <HV2 packets> 
        <HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme> 
        <power control> <transparent SCO> <broadcast encrypt> 
        <EDR ACL 2 Mbps> <EDR ACL 3 Mbps> <enhanced iscan> 
        <interlaced iscan> <interlaced pscan> <inquiry with RSSI> 
        <extended SCO> <EV4 packets> <EV5 packets> <AFH cap. slave> 
        <AFH class. slave> <LE support> <3-slot EDR ACL> 
        <5-slot EDR ACL> <sniff subrating> <pause encryption> 
        <AFH cap. master> <AFH class. master> <EDR eSCO 2 Mbps> 
        <EDR eSCO 3 Mbps> <3-slot EDR eSCO> <extended inquiry> 
        <LE and BR/EDR> <simple pairing> <encapsulated PDU> 
        <non-flush flag> <LSTO> <inquiry TX power> <EPC> 
        <extended features> 
    Features page 1: 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0x00

The pairing works well with EDIFIER Luna Eclipse speakers. I suspect the issue is really related to the headset I am trying to configure.

up vote 26 down vote accepted
+50

I have these headphones as well, along with a handy laptop running Fedora 24. After chatting with one of the Bluez developers on IRC, I have things working. Below is what I've found. (Note that I know very little about Bluetooth so I may be using incorrect terminology for some of this.)

The headphones support (or at least say they support) bluetooth LE but don't support LE for pairing. Bluez does not yet support this and has no way to set the supported BT mode except statically in the configuration file. You can use the headphones over regular bluetooth just fine, though. This happens to be the reason Bluez 4 works; it doesn't really support LE.

So, create /etc/bluetooth/main.conf. Fedora 24 doesn't come with this file so either fetch a copy from Upstream, find the line containing

#ControllerMode = dual

and change it to:

ControllerMode = bredr

or create a new file containing just:

[General]
ControllerMode = bredr

Then restart bluetooth and pair. (I did this manually via bluetoothctl, but just using the bluetooth manager should work.)

Now, this got things working for me, though if you don't force pulseaudio to use the A2DP-Sink protocol, the headphones will announce that you have an incoming call for some reason. However, my mouse requires Bluetooth LE, so I went in and removed the ControllerMode line. And... the headphones still work, as well as the mouse. I guess that once they are paired everything is OK.

  • I have added the line you mention in the specified file but when I restart bluetooth daemon I get "Parsing /etc/bluetooth/main.conf failed: Key file does not start with a group". Are you using version 5.40 of bluetooth daemon? do you have a single line in /etc/bluetooth/main.conf? – Laurent Jul 5 '16 at 17:56
  • 1
    I had to add the group [General] on the line before. After restarting everything is working smoothly. Thank you a lot! – Laurent Jul 5 '16 at 18:01
  • Ah, sorry, Fedora didn't come with that file at all so I pulled it straight from upstream git and changed the one line. I didn't even think to look closely for ther context that needed to be there; it just looked like a sea of comments. I'll edit the answer. – Jason Tibbitts Jul 5 '16 at 18:51
  • This worked for me, I'm on Xubuntu 16.04 – thrau Oct 31 '16 at 11:51
  • Also worked for me on Fedora 23, still my issue is the volume, it's too much lower than compared to my phone, any of you had that? I also had to change the audio mode to A2DP sink, other than that I was having weird interference on my headphone. I appreciate any help on that, maybe @JasonTibbitts has something about that – Renato Mefi Dec 5 '16 at 9:42

I read up on your specific headphones, and they use Near Field Communication (NFC) to facilitate pairing, and this was mentioned as specifically added in Bluez 5.3, although, it mentioned on at least one blog "NFC comes built in to the new keyboard, but unfortunately Gnu/Linux doesn’t support NFC well yet. Although NFC support is built in to the Linux Kernel, neither Gnome nor KDE have any support for it, and the number of NFC enabled apps in my Fedora 20 repository is princely zero. NFC won’t help me out pairing my device, so we need to do it the old fashioned way instead..." So then, that puts us back to your approach.

However, Bluez 5.3 did not have support for pairing with devices (such as Bose your headphones) that use a PIN code for pairing.
There is a bug report from the previous verions, on another distribution. So although this is not specifically reported on Fedora, the official Bluez site does not specifically mention a fix, at least from what I can see.

So this feature is not supported; and at least for now that is the answer.

As well, as you suspected, there could be other issues, like needing a specific proprietary drvier, unless you have already ruled that out (i.e. by testing the headphones class-compliant on OSX or Windows or whatever they support). I really highly suspect that is the case, or it gives you or another something to springboard off of.

  • So, some other answers here have verified at least one working setup, on an older OS and/or backported versions of bluez (4.99), which may also contain packages from the non-default "non-free" Debian repos. You can try this on Fedora here, in Fedora-land that was 4 years ago :) – forgotstackxpassword Jul 2 '16 at 15:55
  • downgrading to the version you mention seems to be a nightmare. I tried to downgrade to 5.39-1.fc24 using sudo dnf downgrade bluez --allowerasing but it changes nothing. – Laurent Jul 5 '16 at 17:48
  • I had just mentioned that because it was mentioned below that on Debian 4.99 was compatible; I wouldn't otherwise really recommend that at all, like you said Fedora is completely different. I stick by that it would only work if manually paired, plus I don't have the right hardware handy (like these headphones), and NFC and other blobs of this may be unsupported. – forgotstackxpassword Jul 5 '16 at 18:21
  • Ah this is great Jason Tibbitts answer, above, glad you got it working & he had the headphones & system nearby. – forgotstackxpassword Jul 5 '16 at 18:21

I have also bought Bose QC 35 few days ago. After some initial problems, I managed to make it work on Debian, with ALSA and bluez 4.x

apt-get install bluetooth
apt-get install bluez-alsa
apt-get install blueman

after installing these packages, it still did not work. The problem was with dbus permissions. I solved it by adding my user (uid 1000) to group bluetooth, ie:

usermod -a -G bluetooth martin

after that everything works, and the headset automatically pairs with my laptop on every start

  • It pairs, but does the connection also stay for a long time? – phk Jul 2 '16 at 13:35
  • @phk - yes. It works like a charm – Martin Vegter Jul 2 '16 at 13:46
  • can you list which GUI you are using, also your version number of bluez (for example in jessie [current stable] it is 5.23-2+b1. it might help port the solution over to his fedora setup – forgotstackxpassword Jul 2 '16 at 14:15
  • @forgotstackxpassword - as I said in my original post, i am using bluez 4.x (specifically version 4.99) and blueman as a gui. – Martin Vegter Jul 2 '16 at 14:48
  • 4.99 is a bit more specific, thanks. that was default on Wheezy so also I guess you are on old stable. – forgotstackxpassword Jul 2 '16 at 15:45

If this could be of help for someone, after try practicly everything described above in my ubuntu 16.04, at last, it was so easy as connect through the "Bose Connect App" (in my case for Android). I used blueman to do it, and finally I was able to pair the headsets.

In my case, I've got bluez 5.37v, blueman 2.0.4, and finally I haven't needed to make any change to the default /etc/bluetooth/main.conf, with the default "ControllerMode" set to dual it worked.

The steps that worked for me were:

1.- Open the app and select the option connect a new device or similar. (I don't remember exactly the name) 2.- From blueman search for a new device. 3.- Once the headsets have been found, I was able to pair them without any problem and select the working mode.

Without the first step, I was not able to pair them.

I took me a lot the way to find how doing it, but once you know how to do it, it quite easy to do it.

For all linux users, I hope this help them.

  • This is the method that worked for me. I'm using Arch Linux, with blueman and PulseAudio/pavucontrol. I followed the normal step in the Arch wiki to install and troubleshoot, and your technique made it for me. Thank you ! – DjebbZ Dec 12 '17 at 14:10

I also had the same problem with QC35 on Fedora 24. I tried a customized bluez package here: https://copr.fedorainfracloud.org/coprs/npmccallum/jelling/packages/:

# dnf copr enable npmccallum/jelling
# dnf install bluez-5.37-1.gatt.fc24

After downgrading from 5.40 to the modified 5.37-1 version, I could succeed to pair the headset manually by bluetoothctl (unfortunately GNOME bluetooth setting does not work):

$ bluetoothctl
[bluetooth]# devices
Device 08:DF:xx:xx:xx:xx QC35
[bluetooth]# trust 08:DF:xx:xx:xx:xx 
[CHG] Device 08:DF:xx:xx:xx:xx Trusted: yes
Changing 08:DF:xx:xx:xx:xx trust succeede
[bluetooth]# pair 08:DF:xx:xx:xx:xx 
Attempting to pair with 08:DF:xx:xx:xx:xx
[CHG] Device 08:DF:xx:xx:xx:xx UUIDs: 00000000-deca-fade-deca-deafdecacaff
[CHG] Device 08:DF:xx:xx:xx:xx UUIDs: 00001101-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:xx:xx:xx:xx UUIDs: 00001108-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:xx:xx:xx:xx UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:xx:xx:xx:xx UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:xx:xx:xx:xx UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:xx:xx:xx:xx UUIDs: 0000111e-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:xx:xx:xx:xx UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:xx:xx:xx:xx UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:xx:xx:xx:xx UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:xx:xx:xx:xx UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:xx:xx:xx:xx UUIDs: 0000febe-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:xx:xx:xx:xx Paired: yes
Pairing successful
[bluetooth]# connect 08:DF:xx:xx:xx:xx 
Attempting to connect to 08:DF:xx:xx:xx:xx
Connection successful
[QC35]# connect 08:DF:xx:xx:xx:xx 
Attempting to connect to 08:DF:xx:xx:xx:xx
[CHG] Device 08:DF:xx:xx:xx:xx RSSI is nil
Connection successful
[QC35]# info 08:DF:xx:xx:xx:xx 
Device 08:DF:xx:xx:xx:xx
    Name: QC35
    Alias: QC35
    Class: 0x240418
    Icon: audio-card
    Paired: yes
    Trusted: yes
    Blocked: no
    Connected: yes
    LegacyPairing: no
    UUID: Vendor specific           (00000000-deca-fade-deca-deafdecacaff)
    UUID: Serial Port               (00001101-0000-1000-8000-00805f9b34fb)
    UUID: Headset                   (00001108-0000-1000-8000-00805f9b34fb)
    UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
    UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb)
    UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
    UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
    UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
    UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
    UUID: Bose Corporation          (0000febe-0000-1000-8000-00805f9b34fb)
    Modalias: bluetooth:v009Ep400Cd0103

Then my QC35 could be activated in the GNOME sound setting. It worked flawlessly after the initial pairing and could reconnect to my laptop automatically afterwards.

This version of bluez also works with my bluetooth mouse and trackpad. I don't know the exact reason why it works. Maybe the latest version of bluez has some kind of regression on bluetooth LE (pointed out by Jason Tibbitts' answer)? Anyway, hope this answer could help. :)

Ubuntu 16.04, Bose QC35: Installed "Bluetooth Adapters" software and was able to connect easily.

  • Fail with "Ubuntu encountered an internal error" for me. – Laurent Dec 15 '16 at 16:19

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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