GNU bug report logs - #78040
elogind's suspend-then-hibernate requires dmi-sysfs to detect wakeup type

Previous Next

Package: guix;

Reported by: Josselin Poiret <dev <at> jpoiret.xyz>

Date: Thu, 24 Apr 2025 14:57:02 UTC

Severity: normal

To reply to this bug, email your comments to 78040 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#78040; Package guix. (Thu, 24 Apr 2025 14:57:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Josselin Poiret <dev <at> jpoiret.xyz>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Thu, 24 Apr 2025 14:57:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: bug-guix <at> gnu.org
Subject: elogind's suspend-then-hibernate requires dmi-sysfs to detect
 wakeup type
Date: Thu, 24 Apr 2025 16:56:29 +0200
[Message part 1 (text/plain, inline)]
Hello everyone,

The suspend-then-hibernate option of elogind tries to detect the type of
wakeup that the system supports, and to that end reads
/sys/firmware/dmi/entries/1-0/raw.  However that file only exists if
the kernel module dmi-sysfs has been loaded, which doesn't seem to be
the case by default on my Guix system.

If that doesn't work out, it falls back to a custom implementation that
wakes up the system periodically to check the battery status, however
that is also broken for some other reason™ on my system, leading to an
instant hibernation.

Loading dmi-sysfs manually solves this issue, but I don't know how to do
that with the elogind-service-type implementation.

Best,
-- 
Josselin Poiret
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#78040; Package guix. (Thu, 24 Apr 2025 21:40:02 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Josselin Poiret via Bug reports for GNU Guix <bug-guix <at> gnu.org>
Cc: Josselin Poiret <dev <at> jpoiret.xyz>, 78040 <at> debbugs.gnu.org
Subject: Re: bug#78040: elogind's suspend-then-hibernate requires dmi-sysfs
 to detect wakeup type
Date: Thu, 24 Apr 2025 22:38:30 +0200
Hello Josselin,

Josselin Poiret via Bug reports for GNU Guix <bug-guix <at> gnu.org> writes:

> The suspend-then-hibernate option of elogind tries to detect the type of
> wakeup that the system supports, and to that end reads
> /sys/firmware/dmi/entries/1-0/raw.  However that file only exists if
> the kernel module dmi-sysfs has been loaded, which doesn't seem to be
> the case by default on my Guix system.
>
> If that doesn't work out, it falls back to a custom implementation that
> wakes up the system periodically to check the battery status, however
> that is also broken for some other reason™ on my system, leading to an
> instant hibernation.

I experienced it too; glad you found the reason!

> Loading dmi-sysfs manually solves this issue, but I don't know how to do
> that with the elogind-service-type implementation.

Maybe an activation snippet could do:

  (load-linux-modules-from-directory '("dmi-sysfs")
                                     (current-kernel-directory))

?

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#78040; Package guix. (Thu, 24 Apr 2025 21:40:04 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#78040; Package guix. (Fri, 25 Apr 2025 00:02:02 GMT) Full text and rfc822 format available.

Message #14 received at 78040 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> friendly-machines.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: dev <at> jpoiret.xyz, 78040 <at> debbugs.gnu.org
Subject: Re: bug#78040: elogind's suspend-then-hibernate requires dmi-sysfs
 to detect wakeup type
Date: Fri, 25 Apr 2025 02:01:14 +0200
>> Loading dmi-sysfs manually solves this issue, but I don't know how to do
>> that with the elogind-service-type implementation.

>Maybe an activation snippet could do:
>  (load-linux-modules-from-directory '("dmi-sysfs")
>                                     (current-kernel-directory))

Why not use the kernel module loader service extension?
That's what it's there for.

(service-type
...
   (extensions
    (list (service-extension kernel-module-loader-service-type
                             (const '("dmi-sysfs"))))))




Information forwarded to bug-guix <at> gnu.org:
bug#78040; Package guix. (Fri, 25 Apr 2025 08:58:01 GMT) Full text and rfc822 format available.

Message #17 received at 78040 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Danny Milosavljevic <dannym <at> friendly-machines.com>
Cc: dev <at> jpoiret.xyz, 78040 <at> debbugs.gnu.org
Subject: Re: bug#78040: elogind's suspend-then-hibernate requires dmi-sysfs
 to detect wakeup type
Date: Fri, 25 Apr 2025 10:48:41 +0200
Danny Milosavljevic <dannym <at> friendly-machines.com> writes:

>>Maybe an activation snippet could do:
>>  (load-linux-modules-from-directory '("dmi-sysfs")
>>                                     (current-kernel-directory))
>
> Why not use the kernel module loader service extension?
> That's what it's there for.
>
> (service-type
> ...
>    (extensions
>     (list (service-extension kernel-module-loader-service-type
>                              (const '("dmi-sysfs"))))))

Oh right, even better.

Ludo’.




This bug report was last modified 57 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.