Apalis TK1 Ixora sleep issues

We have been running tests on sleep modes for the Ixora board.

Per Toradex, only LP1 is supported, but we can consistently put the system to deeper sleep (LP0), just that it does not wake up on timer like the Nvidia board does.

So we are falling back to the lighter LP1 sleep mode, but there the consumption is fairly high (thereby not realizing the full benefits of sleep), and the behavior is erratic.

Sometimes it does go to sleep and will wake up on timer and on GPIO signal, and sometimes it just doesn’t (screen goes off and processes seem to be suspended, but power consumption stays high, and no way to wake it up without reset).

Anyone has had success with putting the system into a power-saving sleep mode and resuming from it in a consistent manner?

BTW we are using the following to put the system on sleep with timed wake-up:

echo +${SLEEP_TIME} > /sys/class/rtc/rtc0/wakealarm 
echo lp${SLEEP_MODE} > /sys/power/suspend/mode
echo mem > /sys/power/state

Which BSP version do you use?
Do you have any external devices connected?
Have you customised the kernel or are running any userspace apps that can interfere with suspend?
I’ve just checked rtc0 wakeup from lp1 on our 2.7b4 BSP and I’m able to enter lp1 and wakeup in selected amount of time reliably.
Here’s an example log:

root@apalis-tk1:~# echo +30 > /sys/class/rtc/rtc0/wakealarm 
root@apalis-tk1:~# echo mem > /sys/power/state
[  236.448249] PM: suspend of devices complete after 1112.401 msecs
[  236.456636] host1x host1x: suspended
[  236.462101] PM: late suspend of devices complete after 5.995 msecs
[  236.473034] PM: noirq suspend of devices complete after 2.881 msecs
[  236.481212] Disabling non-boot CPUs ...
[  236.487927] Wake[31-0] level=0x50000
[  236.487927] Tegra3 wake[63-32] level=0x4000f84
[  236.487927] Wake[31-0] enable=0x50000
[  236.487927] Tegra3 wake[63-32] enable=0x5000f80
[  236.487927] Entering suspend state LP1
[  236.487927] turning off partition vde in LP1
[  236.487927] turning on partition vde in LP1
[  236.487927] Exited suspend state LP1
[  236.487927]  legacy wake status=0x0
[  236.487927]  tegra3 wake status=0x0
[  236.487927] Suspended for 27.060 seconds
  • No user apps are running.
  • No external devices connected.
  • No customizations to the kernel
  • BSP 2.7.3
  • Apalis TK1 v1.1A

This sometimes work (goes to sleep and wakes up), and sometimes goes into zombie mode: goes into very shallow sleep based on current consumption, screen goes off (when using it), and system needs to be rebooted.

If you can share logs from the “zomie mode” that may help resolve this issue.

Note that I’m now watching the serial console and when the problem happens, I get a rapid-fire series of this message:

[ .... ] MSELECT error detected! status=0x20

How many suspend-resume cycles before the problem usually occurs?

We are still getting this.
We have since upgraded to BSP 2.8.1.
The issue is sporadic but happens once in a while (around once every 200 sleep cycles).

I did some tests with a V1.2A module plugged into an Ixora V1.1A. First 500 suspend/resume cycles without anything connected. No issues observed whatsoever. Then I connected 3 USB devices, one USB 3.0 memory stick, one USB 2.0 memory stick and a Bluetooth mini-PCIe card. That passed more than one thousand suspend/resume cycles without seeing any issues whatsoever. I am really confident, that your testing with new modules will go much smoother.