How to Enable Standby Power Mode in newer Debian Releases

I am running a Debian GNU/Linux 9 (stretch) release. Linux beaglebone 4.14.49-ti-r54 #1 SMP PREEMPT Fri Jun 15 22:14:13 UTC 2018 armv7l GNU/Linux

The problem is there appears to be no “standby” mode for power. There is freeze, mem and disk. To check this:

debian@beaglebone:~$ cat /sys/power/state
freeze mem disk

sudo echo standby > /sys/power/state Results in Permission denied, any other listed state works.

Also using using rtcwake shows similar results:

debian@beaglebone:~$ sudo rtcwake -d /dev/rtc0 -m standby -s 10

rtcwake: unrecognized suspend state ‘standby’

And "MEM’ works (but never wakes up):

debian@beaglebone:~$ sudo rtcwake -d /dev/rtc0 -m mem -s 60

rtcwake: assuming RTC uses UTC …

rtcwake: wakeup from “mem” using /dev/rtc0 at Wed Sep 4 14:53:45 2019

I can see both and tested the RTC and the GPIO that I use in the wake up sources:

$sudo cat /sys/kernel/debug/wakeup_sources

In looking a the documentation it appears that the “standby” mode is the only mode that really works.

octavo systems app_notes power-management See section 3.1

root@beaglebone:~# cat sys/power/state
freeze standby mem disk

While the power state names are not the same as modes listed in Table 5, some of them do map to the processors low power modes. The mem power state corresponds to deepsleep0 state of the processor described in Table 5. Similarly, the standbypower state corresponds to the standby state of the processor. More information on these low power modes can be found in the references.

The problem is deepsleep0 is not a mode that GPIO works. It appears that “Standby” is the only mode that actually works for GPIO or RTC.

I have also tried Debian 9.5 SD IoT, Debian 9.5 SD LXQT, Debian 9.5 IoT Flasher, and Debian 9.4 SD LXQT from Beagle Board latest-images None of these enabled the “Standby” state in the power modes.

Short of going back to a old Debian, any one have a tested solution to fix the missing standby power state?

Thanks! :slight_smile:

OK, I found version 9.9 Sept 1st 2019 actually works properly:

debian@beaglebone:~$ cat /sys/power/state

freeze standby mem disk

debian@beaglebone:~$ sudo rtcwake -d /dev/rtc0 -m standby -s 20

rtcwake: assuming RTC uses UTC …

rtcwake: wakeup from “standby” using /dev/rtc0 at Fri Sep 6 02:22:25 2019

20 seconds later it comes back :blush:

9.4/9.5 really won’t help you… Use the kernel version installed to compare things:

uname -r