When I learned that Purism was going to develop a privacy respecting and security focused smart phone, I was immediately very excited. So far the only real open source phone was the OpenMoko, and that was almost a decade ago. I ordered one as soon as they opened the pre-orders. A quick look in my Bitcoin wallet revealed that I paid the phone pre-order on Aug 24th 2017. Of course I knew that it would take a while, and that problems are to be expected, which result in later deliveries. When they finally prepared for shipping, they asked everyone for their preferred batch. They warned that early batches would be not as flush as later iterations, and that the software was still a work in progress. Having waited for so long, I was eager to get it as soon as possible. Using an OpenMoko and later Ubuntu Touch device as my main phone, I gathered some experience with unfinished products. A solid base is more important to me than the finished product.
To my knowledge it is the only phone that separates the main CPU from the base band (correction in the comments). Like the Purism notebooks, it has hardware kill switches. One for wifi/bluetooth, one for camera/microphone, and one for the cellular modem. This makes it the only phone on the market where the user is in control. It allows the owner to own the phone instead of Google/Apple in combination with the phone company. In today’s economy, this is a very important development. Modern phones track their users in so many ways that hey have become golden hobbles. This is the main concern with Android, but even Apple is not without doubts in this area. The main issue I have with iOS is that it patronizes its users. If you don’t want neither of these evils, then you cannot just walk into the next phone store and expect to find something. Devices that came installed with Ubuntu Touch have sold out a long time ago. Purism describe their phone as:
hardware and software that treats you like a person and not a commodity to be exploited for profit
Last Friday, the waiting was finally over, and I received my Librem 5.
The first impression when unpacking was, that it is thick and heavy. In fact it is so thick that my kids make fun of me. The build quality is a lot better than I expected after the warnings about the early batches.
The on-off button doesn’t always work reliably, so I first charged it like the manual suggested. It is quite quick to boot. When I can’t get it to start with the on/off button, I usually open the device, and remove the battery for a moment. This always makes it boot reliably. Did I mention that it boots really fast?
Here is another report with unboxing pictures, so that I don’t have to make the pictures myself.
Switching apps and general usage of the phone OS makes a good impression. Not as good as current ubports, but a lot better than OpenMoko in its best days.
Wifi and bluetooth
Unfortunately the phone froze during the initial setup when trying to connect to the office wifi. After a reboot, I removed the wifi in the settings, and connected again. This time it appeared to connect, but it didn’t get an IP address, and thus I was unable to fetch anything from the internet. At home, connecting to the wifi worked as easy as with every other device.
I talked to a sysadmin, and he told me there is nothing special with the company wifi. But he told me that the signal strength is not great everywhere. So I went straight to the physical wifi router. In close proximity, the phone connected successfully, and I was able to browse the web. This is probably the reason there was something about antenna optimization in the description of a later batch.
The bluetooth configuration doesn’t work at all. But the phone is discoverable, and when another device wants to pair, it displays the code to compare. The other device then reports success. But so far I was not able to make use of bluetooth with the device. Bluetooth audio is one of the sore points with my current ubports phone. It used to work perfectly for a long time. But then I got an update last winter that crippled bluetooth functionality. For almost a year already, I could receive calls in the car, but after one second the audio connection breaks every time. It was one of my biggest hopes that bluetooth hands free in the car would work out of the box with the Librem 5.
I haven’t tested mobile data connection yet. This is because I rarely buy mobile data. I have wifi at most places I go. My car has an internet connection and a browser which is enough for on the way. The only time really I need mobile data is when I want to pay with Bitcoin in a restaurant, and no friend is with me who can set up an access point on his phone.
Sending a text message worked on the first try. Only the integration with the address book still needs to be improved. Speaking of the address book, I haven’t found out yet how to synchronize or import my contacts.
So far I didn’t receive any text messages. I strongly suspect that at least some should have come my way in the last couple of days. I tried testing it myself with LnSms, but it didn’t arrive. This is possibly due to a bug with non numeric senders. But that I didn’t receive regular text messages is bothering me. A friend sent some to me for testing, and none arrived.
Even before I wanted to place a call, I read in the forum that there is a problem with audio routing. I didn’t even get that far. I cannot initiate a call, because below the dial buttons there is a message warning me that there is no voice-capable modem. Somewhere in the bug tracker I found a post that claimed that it should be possible to work around this by killing the cally app five times in a row. That didn’t work for me. So if this smart phone is no phone yet, I hope that it is at least smart 😉
It is not the best browser that exists for phones, but it works good enough for everything I tried so far. For sure it is better than the browser in the Tesla.
The settings pages look very familiar. In fact they are the same as in any modern Gnome desktop operating system. Some pages are too big for the screen, and some don’t make much sense for a phone, while some phone specific settings are missing. I already installed the first update, although I don’t know what it actually contained.
The audio page reveals that there are lots of audio devices. I went through them all, and clicked the test sound button, but I couldn’t hear any sound coming from the device.
A linux smart phone needs a terminal. The Librem 5 comes with Kings Cross pre-installed. The terminal app itself looks quite good. But the virtual keyboard is lacking arrow and tab keys which are extremely helpful when working with a terminal.
I was delighted to find out that unlike with ubports, you can hack around with the actual system, and the packages seem to be apt based. I never liked click, snap or flatpack. Apt is my favorite package format.
For the first three days, after every reboot, the system date was reverted to February 2019. This rendered all TLS certificates issued after this date invalid. Thus preventing me from upgrading the system until I manually fixed the date every time. I am not sure what I did yesterday, but I suspect that I re-enabled automatic time synchronization just AFTER correcting the date. Since then, the system time is correct IF the phone has an internet connection. It is not yet synchronized from the cell phone network, or preserved across reboots.
For the last 20 years I used my phone to wake me up in the morning. Some phones also worked when switched of, while others had to be enabled to reliably wake me up. In the settings of the Librem 5, I can set multiple alarm clocks, and specify how to repeat and on which days of the week. So far so good, this is on par with most phones. Problem is, when the time comes, no sound emits from the device, and not even a reminder is visible on the screen.
Whether the screen is on or off doesn’t seem to make a difference. The device gets very, very hot. It is no surprise that the battery doesn’t last very long. It doesn’t even last an hour. So I just have to switch the phone off while it is not being used and not plugged in. People at purism are working to tweak the kernel to dial down the frequency, switch off cores, and put the CPU to sleep when not in use. I hope they assign this issue a high priority.
Charging time when the phone it is turned off is ok. But when it is turned on, I don’t really know if it is slowly charging or slowly discharging. That is with the provided charger. Be careful where you plug in the phone for charging!
When I plug in the phone to my notebook, the notebook often looses internet connectivity. I didn’t investigate why yet. Maybe it adds another connection and assigns it priority in the routing table. I will try with an USB condom and see how that goes…. Indeed, no problem so far if I use an USB condom.
When I plug in the phone to the USB ports in the car, I often get a warning on the dash that there is a problem with the touch screen. The big screen in the middle of the car still updates, but it no longer processes touch inputs. I then have to unplug the phone and reboot the MCU. I’m not sure if the phone registers as an HDI device, draws too much power or interferes in another way.
The phone comes with the following apps pre installed: phone, messages, browser, contacts, clock, settings, help, terminal, software, text editor
Anything can be installed from the software app or at the command line from the apt repository, but so far I have mostly installed command line applications. I suspect most regular desktop applications don’t behave well on a phone. I am not aware of a list of applications that run well on phones. And I don’t think there are a lot of apps that were developed specifically for this device other than the apps from Purism themselves.
As a test I installed my favorite desktop Bitcoin wallet: Electrum. Unfortunately it didn’t start. At the commandline I saw an error about something missing to bridge Qt5 to Wayland. So far I didn’t investigate much further.
After using ubports for the longest time, I am used to most apps not being available to me, so the whole app thing is no big deal for me.
What I miss most on my current ubports phone is a decent Bitcoin wallet. As long as there is none, at least a qr code reader would be cool. This would be necessary if I want to use a web based wallet.
I hate to say it, but at the current state, this phone is even less usable than both my previous linux phones in their initial condition. The previous phones improved quickly and got more or less usable. I abandoned the OpenMoko after half a year, because it was just not reliable enough as a phone, especially the audio in calls. The Ubuntu Touch phone on the other hand has been my daily driver for almost five years.
Maybe I am too optimistic in wanting to use the Librem 5 as my main and only phone from the start. Lets see how things progress from here… With some software updates I hope it will become the phone that I want to use for the next five years.
I hope I didn’t discourage anybody from ordering a Librem 5. If you want a phone that preserves your dignity, this is pretty much the only option at the moment. And I am sure it will improve.