Archives

Categories

Librem 5 First Impression

I just received the Purism Librem 5 that I paid for years ago (I think it was 2018). The process of getting the basic setup done was typical (choosing keyboard language, connecting to wifi, etc). Then I tried doing things. One thing I did was update to the latest PureOS release which gave me a list of the latest Debian packages installed which is nice.

The first problem I found was the lack of notification when the phone is trying to do something. I’d select to launch an app, nothing would happen, then a few seconds later it would appear. When I go to the PureOS app store and get a list of apps in a category nothing happens for ages (shows a blank list) then it might show actual apps, or it might not. I don’t know what it’s doing, maybe downloading a list of apps, if so it should display how many apps have had their summary data downloaded or how many KB of data have been downloaded so I know if it’s doing something and how long it might take.

Running any of the productivity applications requires a GNOME keyring, I selected a keyring password of a few characters and it gave a warning about having no password (does this mean it took 3 characters to be the same as 0 characters?). Then I couldn’t unlock it later. I tried deleting the key file and creating a new one with a single character password and got the same result. I think that such keyring apps have little benefit, all processes in the session have the same UID and presumable can use ptrace to get data from each other’s memory space. If the keyring program was SETGID and the directory used to store the keyring files was a system directory with execute access only for that group then it might provide some benefit (SETGID means that ptrace is denied). Ptrace is denied for the keyring but relying on a user space prompt for the passphrase to a file that the user can read seems of minimal benefit as a hostile process could read the file and prompt for the passphrase. This is probably more of a Debian issue, and I reproduced the keyring issue with my Debian workstation.

The Librem 5 is a large phone (unusually thick by modern phone standards) and is rumoured to be energy hungry. When I tried charging it from the USB port on my PC (HP ML110 Gen9) the charge level went down. I used the same USB port and USB cable that I use to charge my Huawei Mate 10 Pro every day, so other phones can draw more power from that USB port and cable faster than they use it.

The on-sceen keyboard for the Librem 5 is annoying, it doesn’t have a TAB key and the cursor control keys are unreasonably small. The keyboard used by ConnectBot (the most popular SSH client for Android) is much better, it has it’s own keys for CTRL, ESC, TAB, arrows, HOME, and END in addition to the regular on-screen keyboard. The Librem 5 comes with a terminal app by default which is much more difficult to use than it should be due to the lack of TAB filename completion etc.

The phone has a specified temperature range of 0C to 35C, that’s not great for Australia where even the cooler cities have summer temperatures higher than that. When charging on a fast charger (one that can provide energy faster than the phone uses it) the phone gets quite warm. It feels like more than 10C hotter than the ambient temperature, so I guess I can’t charge it on Monday afternoon when the forecast is 31C! Maybe I should put a USB charger by my fridge with a long enough cable that I can charge a phone that’s inside the fridge, seriously.

Having switches to disable networking is a good security feature and designing the phone with separate components that can’t interfere with each other is good too. There are reports that software fixes will reduce the electricity use which will alleviate the problems with charging and temperature. Most of my problems are clearly software related and therefore things that I can fix (in theory at least – I don’t have unlimited coding time).

Overall this wasn’t the experience I had hoped for after spending something like $700 and waiting about 4 years (so long that I can’t easily find the records of how long and how much money).

Getting It Working

It seems that the PureOS app store app doesn’t work properly. I can visit the app site and then select an app to install which then launches the app store app to do the install, which failed for every app I tried.

Then I tried going to the terminal and running the following:

sudo bash
apt update
apt install openssh-server netcat

So I should be able to use APT to install everything I want and use the PureOS web site as a guide to what is expected to work on the phone.

As an aside the PureOS apt repository appears to be a mirror or rebuild of the Debian/Bullseye arm64 archive without non-free components that they call Byzanteum.

Then I could ssh to my phone via “ssh purism@purism” (after adding an entry to /etc/hosts with the name purism and a static entry in my DHCP configuration to match) and run “sudo bash” to get root. To be able to login to root directly I had to install a ssh key (root is setup to login without password) and run “usermod --expiredate= root” (empty string for expire date) to have direct root logins.

I put the following in /etc/ssh/sshd_config.d/local.conf to restrict who can login (I added the users I want to the sshusers group). It also uses the ClientAlive checks because having sessions break due to IP address changes is really common with mobile devices and we don’t want disconnected sessions taking up memory forever.

AllowGroups sshusers
PasswordAuthentication no

UseDNS no
ClientAliveInterval 60
ClientAliveCountMax 6

Notifications

The GNOME notification system is used for notifications in the phone UI. So if you install the package libnotify-bin you get a utility notify-send that allows sending notifications from shell scripts.

Final Result

Now it basically works as a Debian workstation with a single-button mouse. So I just need to configure it as I would a Debian system and fix bugs along the way. Presumably any bug fixes I get into Debian will appear in PureOS shortly after the next Debian release.

8 comments to Librem 5 First Impression

  • Tzafrir Cohen

    There’s a “terminal” keyboard that has those keys.

  • mosh

    “having sessions break due to IP address changes is really common with mobile devices ”

    Mosh. If you are not using it, you should.

  • Marc Grégoire

    Please post updates on the Librem 5 after you’ve had it a while. It would be very interesting to know if software updates improve its deficiencies, if Summer temperatures cause real problems, whether you find it more or less useful with time.

  • dos

    > The phone has a specified temperature range of 0C to 35C

    Where did you get that from? That’s not true. Battery charging gets suspended at slightly above 40°C (it resumes automatically once it cools down) and the CPU starts throttling at 50°C.

    > When I tried charging it from the USB port on my PC

    Input current is currently limited to 500mA for non-PD sources to comply with USB specification. This will change in the future as the drivers for BC 1.2 detection get completed, but for now it’s best to use a USB-C PD source as that’s fully implemented and should work reliably already.

    > The on-sceen keyboard for the Librem 5 is annoying, it doesn’t have a TAB key

    It does, under “>_” subpage, where you also get all sorts of other keys and bigger arrows.

  • anonymous

    I encourage you to visit the Librem 5 community forum (you can get there from Purism’s homepage). Many helpful posts and tutorials are available there, and in the Community Wikis. ;-)

  • Great advice on how to configure ssh. I’m guessing that you paid $599 for the L5 if you’re getting it now.

    The keyboard has a TAB key when in horizontal mode, but I almost never use the terminal in horizontal mode because I can only see a couple lines of the terminal. In vertical mode, I would like to see the addition of a Tab key, as proposed here: https://source.puri.sm/Librem5/squeekboard/-/issues/249 , but nobody followed up to make it happen, so somebody needs to file a new bug report. I also agree that the top row of keys should be taller, so you can actually press the Ctl, Alt, Up, Down, Left, Right keys.

    I see the software getting better, which gives me hope, but it will be a while before the Librem 5 and its Phosh interface is ready for non-technical people in my opinion. The good think is that the L5 has lifetime software updates, so there isn’t much of a penalty for being an early adopter.

  • https://puri.sm/posts/librem-5-keyboard-improvements/

    Tzafrir: How do you do that? Using the “world” icon in the keyboard to change the type to Terminal makes no difference. Following the advice in the above blog post makes no difference.

    mosh: https://mosh.org/

    OK that looks interesting. But usually I just keep a fixed IP address when I need such things.

    Marc: I will keep blogging about it as long as it stays interesting to me.

    dos: Page 15 (second last) of the Quick Start Guide says “Operating temperatures Do not expose the product to extreme temperatures, such as those close to or below 0C, or those above 35C”.

    Thanks for the information about charging.

    Thanks for the information about the TAB key, it’s very annoying to do that to get to it though.

  • anon: Thanks, I’ve just signed up to the forum.

    Amos: I can’t remember how much I paid as it was so long ago. The L5 runs a lightly modified version of Debian so updating it yourself wouldn’t be that hard, not even if Purism went out of business.