Has anyone who has received their Librem 5 phone here, discovered uses for it in your day to day life that would not be possible using an Android or an Apple phone? It might be fun to find out if anyone is doing anything unique with it more than only obtaining privacy.
You canāt sell.it at the ecoATM. Itās odd
āno other phoneā is a big call.
I would like to make a more general response: The Librem 5 is encouraging me to try things that I wouldnāt even try on my previous phone (iPhone), for various reasons.
To take one example, I routinely have an ssh
session into my Librem 5. With that I can check the battery charge level āremotelyā (i.e. from another room of the house), check and change configuration, and do all sorts of other things.
Is it possible to do that on an iPhone? Apparently, yes - but not without jailbreaking i.e. so really only if Apple lets you - and then some.
So itās not so much that you canāt do it on an iPhone. Itās that you wouldnāt try to do it on an iPhone.
As a second example, I have dipped my toe in writing a program for my Librem 5. To do that for an iPhone would require (according to my understanding) that I buy an Apple computer. That would cost a lot of money for something that I might just want to try out. Itās not like Iām going to write a best-selling app and get the cost of the Apple computer back many times over. Again, it isnāt that you canāt do it for an iPhone. Itās that I wouldnāt try to do it for an iPhone.
The Librem 5 has the capability to pull the user out of jail.
Some people are happy being in jail. Some people are happy doing only a small number of things, all of which are things that Apple lets them do. Donāt get me wrong. The iPhone is the right phone for some customers. Not for me though.
Late model iPhones donāt have a replaceable battery. So thatās a definite capability in favour of the Librem 5.
On the other side of the ledger, at the current time, there are a few too many things that the iPhone can do that the Librem 5 cannot yet do. Thatās what 14 years and billions of dollars does for you.
I can use the L5 as a USB/WiFi speaker without any extra software. Stay tuned for a blog post.
I donāt have the physical phone yet, but I have been looking forward to having a way to schedule an SMS message to be sent at a certain time. I imagine that this must be possible (using a cron job, if nothing else) on the Librem 5, yet I have no knowledge how Iād do it on my current (Android) phone.
Thereās also callen
, which is hackersgameās attempt to fight back against robo-callers, and Iāve been dying to try it out myself.
And these are just two examples off the top of my headā¦ being able to program directly on the device ā with no restrictive terms of service, no rooting/jailbreaking process, no extra development fee, etc. ā would immediately unlock a world of possibilities.
If you find out how, let me know. I asked here: Camera development progress about a command to send a text message but I donāt think it was ever answered.
Once you have a command to send a text message then a cron
job is one way to schedule it. The at
command may be more convenient.
You can do it using the mmcli
command. Here is a demo: https://social.librem.one/@eliasr/105437794237782817
When I was playing around with that, the tricky part was that you had to kill chatty first because otherwise chatty took the messages before they were sent. Not sure if itās still like that.
So what was the actual command?
https://www.freedesktop.org/software/ModemManager/man/1.0.0/mmcli.8.html
Creating a new SMS message & storing it
mmcli -m 0 --messaging-create-sms=ātext=āHello worldā,number=ā+1234567890āā
Sending SMS messages from files
sudo mmcli -m 0 --messaging-create-sms=ānumber=ā+1234567890āā --messaging-create-sms-with-data=/path/to/your/file
Not sure if the āsudoā is needed as it appears to be missing from the first example. Maybe the user needs to be in some unix group to not need āsudoā.
I donāt have my Librem 5 yet, but I can already state the number one thing, I can remove every app, replace every app, and modify every app.
Besides that, I donāt have to jump through any hoops to interact with my other Linux computers.
AFAICT, these things are true of any Linux phone, but the reason I chose the Librem 5 is the resource dedication. Paying a development team and already having a production infrastructure in place were two big sellers.
The Librem 5 (and the Pinephone) can run a complete desktop GNU+Linux OS out of the box.
(Or, if you prefer, a complete OS with some modifications or optimizations.)
I agree, this is the main point. Especially being able to modify things.
Heh, you can remove apps, and the kernel, and the libraries, and the battery, the modem and WiFi cards even Not necessarily all recommended things to do.
Thatās an important part, thanks @dcz for the hints about how to rebuild and install modified kernels, that has been very useful for me. Not to mention fun! There is a thread about that here if others want to dive in: Librem 5 kernel hacking
It does still seem to be like that. That is far from ideal for real use, but OK for playing around and testing.
Which raises the question as to what the correct way of restarting chatty
afterwards is (short of rebooting the phone)?
Yes, it does appear to be needed. To create, send or delete an SMS it needed the sudo
but to list the messages did not (which all seems fair enough). Otherwise:
error: couldn't create new SMS: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Unauthorized: PolicyKit authorization failed: not authorized for 'org.freedesktop.ModemManager1.Messaging''
So perhaps one should not use sudo
and instead should authorise specified non-root users in some way.
For completeness, to actually send an SMS needs: sudo mmcli --send -s N
where N is replaced by the SMS message index (as displayed at the time of creation or subsequently by listing).
Related to that, I routinely have an ssh
session open to the phone.
If I need to do something e.g. relating to the network, for example, but unrelated to the phone it doesnāt matter which shell window I pick. The same command works the same whether it is a shell window that is remote onto the phone, or one that is local to the computer I am using.
Switching out the modem with another, for replacement or upgrading, is the one feature the Librem 5 has that I am pretty sure literally no other phone in a brick-smartphone form factor has at the moment. Most of the other features can be replicated in the Pinephone or in some of the more open Android phones like the OnePlus One.
The Librem 5 is also, to my knowledge, the only phone that is fully capable with an OS without any proprietary blobs in it at all.
I have one for sell. If you are looking to buyā¦ its not a ripper or jacker I am selling a Librem 5 usa for 1500.00 rn. Please 6614931781 call text or reply here if your not comfortable using the phone to communicate with.
It looks like itās not so much about the Librem 5 can do, but about what we might be able to make it do in the future that is exciting. I agree also that itās the linux itself and not living in a jail that is exciting. If there are two rooms that you could choose to live in, and one room has an unlocked door while the other room has a door that is locked from the outside, most of us would choose to live in the room with a door that you can exit if you want to.
One way to handle it is to just pause the chatty process and resume it afterwards. The following works for me (just replace the ā+46numberhereā with the actual phone number to send to.):
# Pause chatty
killall -STOP chatty
# Create SMS and save its id
id=`sudo mmcli -m any --messaging-create-sms="text='Hello world',number='+46numberhere'" | gawk -F/ '{print $6}'`
echo id = $id
# Send SMS
sudo mmcli -s $id --send
# Resume chatty
killall -CONT chatty
The part picking out the message id number uses gawk, installed using sudo apt install gawk
.
I would use cut
rather than (g)awk
for a relatively straightforward text operation. You can even do it directly in shell (with assumptions). Example:
id=/org/freedesktop/ModemManager1/SMS/6
id=${id/?*\/SMS\/}
echo id = $id
You could of course write a (longer, more complex) pattern that more exactly reflects the text operation being done by gawk
or cut
.