fix(flab): wake on lid-open — drop S3 deep sleep for s2idle #673
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "flab-lid-wake"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Opening the lid did not wake flab (Framework Laptop 12, 13th-gen Intel) from suspend — only the power button did.
Root cause
flab pinned suspend to S3
deepviaboot.kernelParams = [ "mem_sleep_default=deep" ]. On the Framework 12 the EC/firmware emits no wake event on lid-open in deep sleep — the lid switch isn't a wake source in S3, so the OS never sees the event. Firmware-level; not fixable via/proc/acpi/wakeupor logind. Confirmed by another NixOS FW12 user with the identical symptom after switching s2idle → deep: https://community.frame.work/t/cannot-wake-from-deep-sleep-when-opening-the-lid/82637Fix
Drop the
deepoverride → flab uses s2idle, where lid-open is a wake source. The standby-battery reason fordeepis already covered: flab runs the laptop module (two-in-one→lyte.laptop) which doessuspend-then-hibernateat 11m against the babyflip 8GresumeDeviceswap. So lid-close → s2idle (instant lid-open wake) → hibernate after 11m for full battery savings. Only cost is the s2idle-vs-deep delta during the ≤11-min pre-hibernate window.Verification — pending physical test
flab was suspended/unreachable during investigation (the very symptom), so this is not yet verified live. After deploy, on the machine:
cat /sys/power/mem_sleep→[s2idle] deepTracked in
issues/open/flab-lid-wake.md(move to closed once step 2 confirmed).View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.