Framework 13 Ryzen 7040: ❌ Did not reach hardware sleep state (amd_s2idle.py)

Hi there,

I just recently got the Framework Laptop 13 Ryzen 7040. I’ve installed Arch Linux on the machine. I’ve got it mostly working the way I want it, but I’m noticing that I’m missing some sleep state options.

When I run cat /sys/power/mem_sleep I only see [s2idle]. I’m seeing in other threads that people see [s2idle] shallow deep and I want to use shallow but can’t obviously.

I encountered amd_s2idle.py (can be found here), and am seeing that my laptop doesn’t suspend to hardware sleep state, which makes sense given the contents of /sys/power/mem_sleep.

Is there anything special I need to do that isn’t outlined in the various Arch guides for this laptop?

Report from amd_s2idle.py ef99d0c — paste.sr.ht

What do you have plugged into USB ports? Try unplugging everything and repeating to see if that’s the cause.

1 Like

Welp. That’s annoying. Turns out my Keychron K3 v2 keyboard is keeping my laptop from going into hardware sleep state. It works fine without my keyboard being attached.

I still don’t see anything other than [s2idle] in /sys/power/mem_sleep though. Is there anything there I can do to get the other options?

Well good it’s root caused. It looked like it was sending events and not going to low power state.

You can try to runtime suspend it from sysfs. This might help.

Hw s2idle is the deepest state you can get on Phoenix.

FTR; on AMD platforms that support both s3 usually consumes more.

Hw s2idle is the deepest state you can get on Phoenix.

Ahhhh I did not know this. Welp. I guess that takes care of that. Thank you!