Hello Guix,

I got a Framework 12 last year.  While most of the things work great,
suspend is one thing that does not.  First time I tried suspend with
`loginctl suspend` it suspended correctly, but when waking it up with
the power button it woke up and immediately shut itself off.  As if I
had pressed the power button when it was awake.

After some reading in the manual I added this to its
operating-system-services:

```
(modify-services
       %plt-base-services
       ;; …
       (elogind-service-type
        config => (elogind-configuration
                   (handle-power-key 'suspend)
                   (handle-lid-switch 'ignore)
                   (handle-lid-switch-external-power 'ignore))))
```

Where `%plt-base-services` is a modified `%desktop-services` to include
common common services for my machines.

That did fix the issue with it shutting itself off when trying to wake
it up with the power button.  However it got replaced with it directly
going back to suspend when waking up.  Only after a few suspend/wake
cycles does it finally wake up again.

Checking the logs I've found two suspicious looking error messages:

```
2026-05-07 18:25:33 localhost linux: [  368.449483] spd5118 0-0050: Failed to 
write b = 0: -6
2026-05-07 18:25:33 localhost linux: [  368.449490] spd5118 0-0050: PM: 
dpm_run_callback(): spd5118_resume [spd5118] returns -6
2026-05-07 18:25:33 localhost linux: [  368.449498] spd5118 0-0050: PM: failed 
to resume async: error -6
```

And
```
2026-05-07 18:26:10 localhost linux: [  379.480191] ucsi_acpi USBC000:00: 
unknown error 256
2026-05-07 18:26:10 localhost linux: [  379.480210] ucsi_acpi USBC000:00: 
GET_CABLE_PROPERTY failed (-5)
```

I did some spelunking and found this thread [0], and following the patch
upstream [1]. That patch doesn't seem to have landed in the kernel, I'm
using the linux and not the libre-linux one.  I did check both by
running:

```
guix build -S libre-linux
```

And opened drivers/hwmon/spd5118.c to check but no trace of that.

Side note, such an awesome feature to just be able to grab the source
code of a package you want to inspect!

I tested to boot up an Ubuntu live CD, as Framework officially support
that distro.  There the suspend works flawlessly.

I'm using roughly the same configuration (sway) for my main desktop and steam
deck, both have no issue with suspend.

Here is my system configuration for it [2], and the home configuration [3]

Anyone have had any similar issue with suspend?

[0]: 
https://www.dell.com/community/en/conversations/inspiron/spd5118-resume-error-6-on-suspend-linux-bios-write-protection-issue/69087437b29b5468b84cae7b
[1]: 
https://patchew.org/linux/20250416-for-upstream-spd5118-spd-write-prot-detect-v1-0-8b3bcafe9...@canonical.com/
[2]: 
https://git.sr.ht/~plattfot/plt/tree/master/item/plt/system/machines/idun.scm
[3]: https://git.sr.ht/~plattfot/plt/tree/master/item/plt/home/configs/idun.scm
-- 
s/Fred[re]+i[ck]+/Fredrik/g

Reply via email to