Status of Suspend for Librem 5

The i.MX 8M Quad only has 2 USB buses, which can both run at either USB 2.0 or 3.0. One bus is for the USB-C port and the test points, and it is using USB 3.0. The other bus is for the microSD card and cellular modem and is using USB 2.0. The USB is provided by Synopsys and it uses the dwc3 driver.

It looks like Purism can work around this problem by unloading the USB driver before suspend with ` rmmod dwc3 and then reenabling it with modprobe -l dwc3 after resume. However, the bigger problem is that they still haven’t figured out how to suspend the BM818 cellular modem and still haven’t figured out how to make the RS9116 WiFi and BM818 modem to wake up the system when a phone call is received (see the links in the FAQ). Judging from the comments in the bug reports, it doesn’t look like these issues have received a lot of attention from the dev team. It’s hard for me to judge how quickly they can be solved, but they don’t look like easy issues to me.

6 Likes

That’s because that’s not the problem at all, just a matter of correct regulator configuration to not turn the modem off during suspend. The thing that would have to be done first is creating a branch of the ATF where both suspend and devfreq could work at the same time and this is the main thing blocking suspend to ram at the moment. With that in place there are several smaller issues like the dwc3 thing that will have to be debugged one by one.

6 Likes

ATF? 

6 Likes

@dos, I updated the community FAQ to add your quote. Is there any info to add/change?

4 Likes

I was testing today Suspend to Ram on Librem 5 it work really good, the modem woke up from deep sleep on 3 tones of the call.
It seems that Modem wake up with 4G only, but at moment there is issues with call under 4G for missing VoLTE so to fix this issues with STR we need to put the modem on all Signal on Phosh config. Like 2G-3G-4G.

I am pretty sure that oFono 1.33 has a hack for permit call under 4G without going back to 3G, so L5 it using MM.

Thank you Purism!

10 Likes

Any initial thoughts on how suspend affects idle battery life?

1 Like

Have you found other wakeup option then a call?
(Power Button, SMS, …)

How did you put it into suspend to ram?

2 Likes

SMS, Calls, Vol + - , power button, all this wake up the L5.
I used the terminal to put the L5 on Suspend, but also there is a button on posh to enable.

@weirdnerd : I not tested yet the battery, but i believe it is 2% on suspended, compared to 8% per hours on inactive mode.

10 Likes

I tried “systemctl suspend” as root without success and couldn’t find an option in the GUI.

Are you in Byzantium or anything special?

1 Like

There’s an option in energy settings for auto suspend

3 Likes

Suspend isn’t ready and it’s not enabled yet. What changed is that with the latest kernel there’s actually a chance that it may work if you trigger is manually (previously it was guaranteed to not wake up after suspending). It can be tested with echo mem | sudo tee /sys/power/state.

12 Likes

Sorry for the late reply, yeah as @dos say you need new kernel plus new librem5-base packages to get it work, i think may be this 2 packages will be available to byzantium very soon.

Also i want to clarify something about Suspend to Ram and modem on my test, the Screen turn ON on the first dial-tone of the Call but is not Ring because Phosh still getting ready to start ringing, so the L5 start ring from suspend on the third dial-tone of the Caller.

5 Likes

I got time today to do a test for Suspend mode on librem 5.

  • Suspend mode spend: 6% per hour compared to 8% on inactive mode.

Like 17 HRS battery life Librem 5 on Suspended. No worries the Librem 5 still has more things to do to get more batteries life. :stuck_out_tongue:

11 Likes

Is it expected to wake up after suspend only via modem? I have the latest kernel and librem5-base but only screen wakes up if I press power or volume buttons, nothing else works. I have some packages from Debian unstable/experimental.

No. It may work on some devices already, but isn’t expected to work on all of them yet.

3 Likes

Is there a way to know which devices work or not work? What variable is different between devices ?

Yeah suspend on the MNT Reform, which uses the same SoC, sees power consumption effectively cut in half. Seeing something similar on the L5 makes a lot of sense.

I am also just writing to say that I would be VERY happy if suspend only worked as it does on a computer. IE: it does not wake for the modem as the modem is off, and the phone will only resume from suspend when the user pushes the power button, etc.

This kind of suspend would make the L5 100% usable for me.

1 Like

I did a few test of suspend the L5. Sometimes it comes back on Power button, sometimes also but screen does not react on any touch.