Status of Suspend for Librem 5

Here’s a one-liner based on @guru’s comment that installs ckermit and fetches the modem firmware version:

sudo apt install ckermit && printf 'set line /dev/ttyUSB3\n set speed 9600\n set carrier-watch off\n lineout AT+BMSWVER\n input 1 \\fpattern(^+BMSWVER*$)\n' | sudo kermit

example output:

[sudo] password for purism:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
ckermit is already the newest version (305~alpha02-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

+BMSWVER: M100E_1.0.0_190426,BMC_M100E_1ACD_B325_V1.0.0.0_20190510,M100E_1.0.0_190910


I haven’t updated the modem firmware on my L5 so this is probably the version string for the misbehaving firmware; I can’t confirm whether or not it misbehaves because I don’t have it set up with a cell service provider (I’ve been waiting until I’m ready to use it as my daily driver.)

I let my L5 overnight from 00:26 to 06:26, i.e. 6 hours, in suspend mode. It came up fine by calling it. The battery went down from 84% to 56%, i.e. 4.66% per hour. This would mean a standby time of 21 hours when idle.


I have (I received the Librem 5 2021-10-04):

+BMSWVER: M100E_1.0.0_190426,BMC_M100E_1BAD_3117_V1.0.0.0_20190426,M100E_1.0.0_190910

I think public available firmware information and update instructions would reduce work for Purism support.

1 Like

On the face of it, that could be true but I think Purism has stated that there are various obscure situations where things might go wrong i.e. the instructions haven’t been developed to the point of working correctly in all situations, including in the face of customer error, so they prefer to be in the loop. After all, if customers gratuitously update and thereby brick their modems then that too is workload for Purism support.

1 Like

Thanks for all your reply. I just saw that the bm818-tool shows the FW version. My Version number is:
So it looks like I am between @guru and @janvlug :wink:

@dos yeah, waking up from suspend is reliable :+1: it takes 4-8 seconds until the display will turn on

1 Like

Precisely, this sort of thing is actually very complicated and if things go wrong it is a lot more work for Purism to handle mass support calls, instead of on a case by case basis.

In general I have been finding suspend itself to be rock solid after the Phosh update that fixed the dual lock screen race condition. This is fantastic. With the modem now working while suspended for calls, this just feels like the dream is real! Excellent work once again Purism devs!


Have you found a way to get the string into a file?

Hi, nope. I tipped it by hand.

Maybe the code from the bm818-tool will help:

I did the flash twice, on my test L5 and afterwards on my daily driver L5. Running the flash tool Flash BM818 produces in the terminal window a lot of fast output during backup/flash/restore and I could read also words of “blablabla failed…”, in both cases. I investigated my L5 device for any logs or other indicators of the procedure. The only I could find is a directory of the backup:

root@pureos:/home/purism# ls -ld backup_m100e
drwxr-xr-x 3 purism purism 4096 Apr 19 17:59 backup_m100e

no other log file of the run of the tool. The existence of a log would help to clarify if all went fine, and if not what went wrong.

1 Like

How the L5 could be send to suspend by intention? I have this small script:

# suspend to RAM
echo mem | sudo tee /sys/power/state

Is there a more easy way, for example via power button long press?

There’s a button in Mobile Settings.

1 Like

Thanks, But this is to far away from normal handling. What about a 2 sec press on Power button, or two presses within a second?

Take screenshot, open, print to file/save as .pdf, use computer to open in pdf-editable application, copy string.

You could set it up as a .desktop Shortcut

purism@pureos:~$ diff ./bm818-tool /usr/bin/bm818-tool
<             print("+BMSWVER: ", version)
purism@pureos:~$ ./bm818-tool
trying port /dev/ttyUSB2
trying port /dev/ttyUSB3
found port /dev/ttyUSB3
+BMSWVER:  M100E_YCSN0_1.0.0_220926

1 Like

For the record, the first and second part of the firmware version string needs to have the timestamp of at least 2022-09-26. If it’s older than that, waking the system up on modem events may be unreliable.


Why not put a Suspend button in the pull-down settings menu?


So, is it absolutely necessary to update the firmware to get wake up from suspend working properly?

And will the firmware be updated automatically somewhere along the line, or will that always be something everyone has to do on his own?

1 Like

Yesterday I’ve updated the firmware.
Today I noticed there are some left overs from the update:
“Icon Browser” and “Flash BM818”.
Do I need to keep them or is it safe to uninstall them (and how to uninstall them without breaking anything)?

Isn’t Icon Browser just an app that comes in a package called Gnome Goodies? (I have it.)