Bluetooth support for Librem 5

It seems bluetooth is a bit of “hit and miss” on the L5 with Byzantium. I copied the firmware mentioned above to /lib/firmware as well as changed the /etc/modprobe.d/librem5-devkit.conf with dev_oper_mode from 5 to 13 and got it to work a couple of days ago. A few days later, it is not working and greyed out in the indicator panel. Toggling the wifi/BT kill switch brings it back though.

1 Like

Could you please show where you saw this? Is it on a phone log or a link someone sent?

This post was very enlightening, and potentially money-saving for some (with choosing to purchase a dongle). Do you have a log or a link to the commands they gave you? It might not work for all, and we can post that as a caveat, but it might be good to see the approach he took.

In your screenshot with syntax: dpkg -l | grep -i blue
The bluetooth still not work confident at moment with the libre driver, but if you reboot the phone with Bluetooth enabled on setting it should be work when rebooting.

This is my result on Byzantium:

purism@pureos:~$ dpkg -l | grep -i blue
ii bluez 5.55-3.1 arm64 Bluetooth tools and daemons
ii bluez-obexd 5.55-3.1 arm64 bluez obex daemon
ii gnome-bluetooth 3.34.3-2 arm64 GNOME Bluetooth tools
ii libbluetooth3:arm64 5.55-3.1 arm64 Library to use the BlueZ Linux Bluetooth stack
ii libgnome-bluetooth13:arm64 3.34.3-2 arm64 GNOME Bluetooth tools - support library
ii pulseaudio-module-bluetooth 14.2-2pureos1 arm64 Bluetooth module for PulseAudio sound server

1 Like

Sure, I’ll post below

CAUTION: the following firmware worked on my Librem 5 Evergreen with Byzantium. The problem presented as the one described in my post above. I don’t know why it wouldn’t work with other phones, but it might not. Use at your own risk, or consult tech support yourself.

the instructions I was given from Purism tech support are as follows:

If you get “bluetooth not found” error, try these steps please:
Run these commands (one by one) in terminal:

  1. first command:
    wget https://source.puri.sm/angus.ainslie/firmware-rs9116-nonfree/-/raw/debian/master/Firmware/RS9116_NLINK_WLAN_BT_IMAGE.rps
  2. second command:
    sudo mv RS9116_NLINK_WLAN_BT_IMAGE.rps /lib/firmware
  3. reboot the phone.
    Let us know if that helped. If yes, you can later safely delete this firmware with this command:
    sudo rm /lib/firmware/RS9116_NLINK_WLAN_BT_IMAGE.rps

Here is a more comprehensive solution. A note: these steps might not solve all your problems, as they did not solve mine, but they are the steps so far that the support team have walked me through before the devs decided that they need to look at this closer.

For starters, let’s log the current behavior of the phone before we make edits:

  1. Make sure your phone is up to date. Either open the terminal and use sudo apt upgrade and sudo apt update, or go into the store and check for updates there.
  2. Confirm the kill switch is not set to disable the Bluetooth and wifi
  3. Restart the phone.
  4. Attempt to turn on the Bluetooth by going into its settings.
  5. Open a terminal and log the dmesg text. I just stored it in ~/Documents using sudo dmesg > dmseg_default_firmware.txt. This can be useful for when you contact support@puri.sm

After contacting the support team, they may ask you to do steps similar to the following:

  1. Get a more modern firmware from a repo. We have listed here on this forum to use https://source.puri.sm/Librem5/redpine-firmware-nonfree, but the support team pointed me to a fork using the command wget https://source.puri.sm/angus.ainslie/firmware-rs9116-nonfree/-/raw/debian/master/Firmware/RS9116_NLINK_WLAN_BT_IMAGE.rps. It might be beneficial to try one if the other doesn’t work.
  2. Create a firmware folder on your phone if it doesn’t exist already: sudo mkdir /lib/firmware.
  3. Move the newly downloaded firmware, using sudo mv -t /lib/firmware RS9116_NLINK_WLAN_BT_IMAGE.rps
  4. Reboot the phone.
  5. Attempt to turn on Bluetooth in the settings.
  6. If trouble occurs, open a terminal, and save the dmesg for he support team: for example, I did sudo dmesg > dmesg_new_firmware.txt.

Finally, some people had luck changing a setting in /etc/modprobe.d/librem5-devkit.conf. Look for all occurrences of dev_oper_mode. If they are set to 5, try changing to 13, and vice-versa. I’m not sure of the significance of these modes, so be sure to document this change for future debugging, if you make it. See the changes here:

3 Likes

Im in a similar boat…i was wondering if this is a hardware or software issue?

1 Like

Just reboot the L5 with Bluetooth enabled on Settings and HKS.

I suspect neither - but instead a firmware issue with the WiFi card. Take with grain of salt.

me too in the same situation

here is Purisms response via email when i asked them about this issue

We have a possible solution, all you need to do is to run these commands
(one by one) in terminal on the Librem 5 or via SSH:

first command:

wget
https://source.puri.sm/angus.ainslie/firmware-rs9116-nonfree/-/raw/debian/master/Firmware/RS9116_NLINK_WLAN_BT_IMAGE.rps

second command:

sudo mv RS9116_NLINK_WLAN_BT_IMAGE.rps /lib/firmware

reboot the phone.

Let us know if that helped. If yes, you can later safely delete this
firmware with this command:

sudo rm /lib/firmware/RS9116_NLINK_WLAN_BT_IMAGE.rps

Probably the best is to just copy/paste these commands so that you don’t
make any mistake.
Kind regards,

Note that this will not work properly if /lib/firmware does not already exist as a directory (something that you should check first). I don’t know whether you can feed that back to support!

Alternative, safe, command: Bluetooth not found but service runs no default controller

In any case just sudo mkdir -p /lib/firmware before either sudo mv ... command.

1 Like

Using Angus’s firmware worked for me on the L5USA (Byzantium). I can now use both Bluetooth and WiFi at the same time.

1 Like

Anyone else having issues with the L5 connecting to some BT device but not others? In my attempts, I have connected it successfully to my Bose BT headset, my Mad Catz S.T.R.I.K.E gaming keyboard/mouse, and my Conambo BT ear piece…but fail to connect to the BT system in my vehicle and other BT systems I have.
The L5 BT manager see’s the BT items that It cant connect to, it just cant make a connection. Is there a way to check (log type) to see why the L5 is failing to connect?

1 Like

journalctl -u bluetooth might have something useful, or at least get you started.

hi guru, also for me. Received the L5 some days ago. Wifi is working, bluetooth same message like your one.

Check the post marked as solution further up, mine started working after doing that.

May depend on Bluetooth profile i.e. if a device wants to be a straight audio sink or source, or a keyboard or a mouse, it should work - but if a device wants to use Headset Profile (HSP) and Hands-Free Profile (HFP) that may not be supported yet.

Refer: https://source.puri.sm/Librem5/community-wiki/-/wikis/Frequently-Asked-Questions#24-is-bluetooth-50-supported-what-bluetooth-profiles-are-supported

My Bluetooth combined keyboard and pointing device worked. My Bluetooth speakers worked.

If you have a mainstream laptop with Bluetooth hardware and the laptop is running Linux then the test would be whether any random Bluetooth device works with the laptop. That tests the overall level of maturity of support for that Bluetooth device in the Linux ecosystem.

Seems pretty iffy still imo. I’m hoping that someone is working on this somehow.
My jabra elite 75t work. But I had to try and connect a couple times. They do skip a couple times a song.
I have an MPOW headset that connected pretty easy.
I can’t get it to see my pinetime at all. :S.

I was hoping to play with the instructions with this firmware - https://source.puri.sm/Librem5/redpine-firmware-nonfree/-/blob/master/files/firmware/RS9116_NLINK_WLAN_BT_IMAGE.FW2.3.2.3.rps
Didn’t really work, not recommended.

That’s because Bluetooth LE is disabled with the current firmware. My miband 4 stopped working by updating the firmware

1 Like

What do you mean with HKS?