Bluetooth not working out of the box

Sorry, I realise this is one of those unhelpful “it doesn’t work” posts. There are more details on what I have tried in a post I have added to the Elementary StackExchange:

(Nothing I tried in my efforts to fix the bluetooth got it working.)

Just to update this thread, having gone round the houses a bit with this, I am now running Elementary OS Freya on kernel 4.1.20. Both bluetooth and my trackpad are now working.

I discovered that the problem I was having with bluetooth might be related to the problem I was having with my touchpad. Fn + F12 will enable/disable bluetooth. So if you’re experiencing problems with bluetooth or your touchpad, I’d recommend checking the functions across the top. I have come to a Librem from a Mac so I’m a bit out of touch with function keys along the top that change the behaviour of a laptop!

If you’re an Elementary user, upgrading your kernel to 4.1.20 seems to be the sweet spot right now. It allows you to install Kyle’s psmouse dkms package, while seemingly not breaking anything!

Jack - Did you need to install / run any non-Free firmware to get the bluetooth working at this point? I thought I recalled that Purism still needed to do some development or negotiation to have a Free software implementation available.

I have a Librem 15 running on PureOS 2.1. If I go to “Settings” -> “Hardware” -> “Bluetooth”, it says “No Bluetooth found - Plug in a dongle to use Bluetooth.”

I have made sure that Bluetooth is not deactivated with Fn F12.

User@librem:~$ sudo lsusb |grep Blue
Bus 001 Device 004: ID 04ca:300d Lite-On Technology Corp. Atheros AR3012 Bluetooth
shows that there is Bluetooth.

However, after
User@librem:~$ sudo service bluetooth restart

dmesg output gives:
[ 312.855511] Bluetooth: Core ver 2.21
[ 312.855529] NET: Registered protocol family 31
[ 312.855530] Bluetooth: HCI device and connection manager initialized
[ 312.855534] Bluetooth: HCI socket layer initialized
[ 312.855537] Bluetooth: L2CAP socket layer initialized
[ 312.855542] Bluetooth: SCO socket layer initialized
[ 1481.447241] usb 1-6: new full-speed USB device number 3 using xhci_hcd
[ 1481.576256] usb 1-6: New USB device found, idVendor=04ca, idProduct=300d
[ 1481.576264] usb 1-6: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1481.591998] usbcore: registered new interface driver btusb
[ 1481.593109] usb 1-6: firmware: failed to load ar3k/AthrBT_0x11020100.dfu (-2)
[ 1481.593113] usb 1-6: Direct firmware load for ar3k/AthrBT_0x11020100.dfu failed with error -2
[ 1481.593115] Bluetooth: Loading patch file failed
[ 1481.593121] ath3k: probe of 1-6:1.0 failed with error -2
[ 1481.593153] usbcore: registered new interface driver ath3k
[ 1537.191152] usb 1-6: USB disconnect, device number 3

Do I need to include any non-free firmware to have Bluetooth working on PureOS 2.1?



Hi Stefan.

We are still working on drivers for bluetooth. So at the moment, you can’t have a working bluetooth without non-free firmware.

Can confirm that adding deb stretch non-free to the APT sources and installing firmware-atheros enabled Bluetooth on a Librem 15 (PureOS 2.1) does get it working for the moment (after toggling BT on-and-off and minute or two wait), if non-free is an option for you.

and installing firmware-atheros enabled Bluetooth on a Librem 15 (PureOS 2.1) does get it working

For those who wonder, the command to do it is this :

sudo apt-get install firmware-atheros

Bluetooth firmware now loads, but I got the following error message now:

Nov 14 06:25:22 HSZ systemd[1]: Starting Load/Save RF Kill Switch Status...
Nov 14 06:25:22 HSZ systemd[1]: Started Load/Save RF Kill Switch Status.
Nov 14 06:25:22 HSZ systemd[1]: Starting Bluetooth service...
Nov 14 06:25:22 HSZ systemd[9966]: bluetooth.service: Failed at step NAMESPACE spawning /usr/lib/bluetooth/bluetoothd: Too many levels of symbolic links
Nov 14 06:25:22 HSZ systemd[1]: bluetooth.service: Main process exited, code=exited, status=226/NAMESPACE
Nov 14 06:25:22 HSZ systemd[1]: Failed to start Bluetooth service.
Nov 14 06:25:22 HSZ systemd[1]: bluetooth.service: Unit entered failed state.
Nov 14 06:25:22 HSZ systemd[1]: bluetooth.service: Failed with result 'exit-code'.
Nov 14 06:25:22 HSZ systemd[1]: Reached target Bluetooth.

Using PureOS 3 alpha.

cheers, HS


Is it an acted fact that PureOS does not support bluetooth on Librem-13?

I received mine yesterday, it was delivered with a PureOS installation using kernel labeled 4.2.3purism-rc2, and am unable to make bluetooth work at all since.

Hi Bruno,

Not a direct answer, just another datapoint: I did just get bluetooth
working on my Librem 13. Thing is, I’m running Fedora at the moment.

All this means is your problem (probably) isn’t hardware.

You were, right bluetooth support is active with Debian stretch and Ubuntu 15.10.

Just to add to the voices. I’m also having trouble with bluetooth. It didn’t work on PureOS, and doesn’t work on Elementary Freya (built on Ubuntu 14.04). I really like Elementary Freya so I’m tempted to just put up with this.

1 Like

Yes, it is. PureOS is a free software GNU/Linux distribution and since there’s no libre driver for the used adapter Purism never advertised Bluetooth support. What they did is: they tried to find a developer to free our adapter for the last months – but it seems to me they didn’t find anyone


Bringing this back from the dead, but I couldn’t find anything else relevant to this since I have the same issue - “Plug in a dongle to use Bluetooth” in settings. I’m on a Librem 15 v4 with PureOS9. Are there free drivers available now or will have to use the non-free Atheros ones, @mladen? I can confirm that the non-free ones work and an external Bluetooth speaker works. Thanks!

And, worked a treat! :clinking_glasses: :champagne:

Now listening to music from L15 via BT headphones while typing this reply… :musical_note: :notes:

Many thanks for this thread! :+1: :smile:

Some weeks ago my Bluetooth support on Debian Bullseye stop working on my librem13v1 (with non-free firmware-atheros installed).

Still trying to fix it :frowning:

1 Like

Bruno: Any luck yet?

For those who come here by google in 2021, the line to add to /etc/apt/sources.list is:

deb 55 testing non-free

At least it worked for me. You need to install firmware-atheros then reboot to see the effect.

Is it time to update this thread for those of us who have upgraded to Byzantium?

(I did a full backup of Home and just did a fresh install of PureOS 10, wiping the disc etc. Then I restored the files from the backup made just before installing. It wasn’t entirely smooth, but it worked [eventually] and I’ve been rebuilding the software for a day or so, just keeping what I really need. It’s amazing how much crud accumulates over a year and a half…).

Anyway, this means needing to re-enable Bluetooth again (as per the above). BUT this time I want to attempt to keep the repo list to an absolute minimum, preferring to avoid adding in anything outside of PureOS (with the possible exception of bullseye-backports). This is of course impossible when it comes to BT.

So, is there a way to just add the single package firmware-atheros from Debian bullseye non-free without adding in any more?

(The idea, of course, is to avoid anything not audited, to the degree possible. A single package for BT is the only exception, until the BT driver arrives in PureOS/Debian main).

You can download and install it manually.

You’ll have to update it manually, though.

1 Like


For those who will join this thread in the future (and they will until BT is available out of the box):

In the end I went with adding

deb bullseye non-free

to the (PureOS byzantium and Debian bullseye-backports main) repo list, and using the Synaptic package manager to install just that single package from outside the Byzantium/Bullseye main structure. This has pulled in the most recent (stable) version from bullseye (20210315-3) as opposed the one mentioned way back at the start of this thread many years ago (stretch, now at 20190114-2).

( Else, if not using Synaptic, do:

$ sudo apt-get update
$ sudo apt-get install firmware-atheros

and reboot. )

It was up and working in minutes (i.e., after reboot).

The main view in Synaptic makes it much easier to keep track of all the packages installed, and to see which package lives where. With bullseye-backports also in the repo list, it’s also possible to see which newer post-stable versions (if any) are available and to selectively choose whether to go on to a later post-stable version or not (backports don’t replace anything existing unless you specifically install from there, and then update as usual).

Hopefully, this will help future visitors also looking to get BT going on their LibremX devices out of the box, until that point (eventually?) becomes moot :crossed_fingers: