Idea for power saving: Fake Suspend

Currently, Raspberry Pi 5/CM5 do not support any form of sleep nor suspend.

This a situations that ROCKNIX handles with “Fake Suspend” basically lowering power consumtion as low as possible without relying on true suspend-to-ram being supported (and here’s the source code of the script implementing that).

Maybe we the community should explore some additional actions (core parking, powersave governor, etc.) to trigger when the lid closes?

1 Like

Interesting concept…. Time to do some research…

Hmm:

[Sun May 17 13:22:04 2026] psci: CPU1 killed (polled 0 ms)
[Sun May 17 13:22:04 2026] psci: CPU2 killed (polled 0 ms)
[Sun May 17 13:22:04 2026] psci: CPU3 killed (polled 0 ms)
[Sun May 17 13:22:33 2026] CPU1: failed to come online
[Sun May 17 13:22:33 2026] CPU1: failed in unknown state : 0x0
[Sun May 17 13:22:38 2026] CPU2: failed to come online
[Sun May 17 13:22:38 2026] CPU2: failed in unknown state : 0x0
[Sun May 17 13:22:43 2026] CPU3: failed to come online
[Sun May 17 13:22:43 2026] CPU3: failed in unknown state : 0x0

 

Looks like I can’t turn the CPU’s back on…

CPU1: failed in unknown state : 0x0 — the secondary CPU’s boot status variable is still at its zero-initialized value, meaning the CPU never
executed a single instruction. PSCI CPU_ON returned success to the kernel, but the BCM2712 firmware never actually powered the core back
up. This is a firmware bug…

It looks like the biggest win is turning off the display, I see a 3watt drop (10 → 7)

Other possibilities:

USB autosuspend:

Basically disable the power to the USB ports, and restore it… no savings if nothing is connected..

  for f in /sys/bus/usb/devices/*/power/control; do
      echo auto > "$f" 2>/dev/null || true
  done
  # On resume: echo on > each saved path

NVMe Power Management:

Power down the drive to the lowest “still on” power setting using the nvme cli, would require massive testing and verifying that each drive supports PS4 (deepest sleep without turning off). My worry here is potential data loss,..

GPU/VideoCore clock:

Might be able to squeak some more out of we lower the core speed… this would result in very little as the PI 5 is fairly aggressive in this area already…

Damn, probably because on the raspberry pis, a lot of things are controller by the GPU, so no way to un-park them and put them back online without collaboration of the proprietary blob running in there.

From reading the schema: the USB keyboard is connected to the internal USB2 hub. Is there a way to switch that hub on/off? And more specifically, would that switch the keyboard lights off?
That would be a gain.

Comming from a background of PineBook Pro (and its meager 3W of NVMe power max): it’s mostly going to be a “do your own testing and adapt the default configuration” (simplest would be to have that turned off, with PS2 being the suggested default for sleep and allowing people to test other modes).

My worry would be data loss….

I’m from the storage world… (disk storage) and I have seen my fair share of data loss in unexpected ways when playing with power…