How do I disable all manner of sleep/suspend/hibernate on Debian 12?
I really don't want it doing any sleep/suspend/hibernate (I'm okay with
explicitly manually triggering it, but I don't even need that).

Symptoms/issue/background:
Was a non-issue on Debian 10 (sleep/hibernate would only occur if I
 manually explicitly triggered it).
After upgrade: Debian 10-->11-->12, now it's a major problem.
Seems to correlate to lid closure, but can't 100% confirm that (but has
 thus far never happened with the lid open and have been on Debian 12
  since 2024-05-14)
seems it's intermittent, as far as I can tell - sometimes goes up to
 many days, perhaps a week or more without issue, other times the
 problem occurs multiple times per day, and sometimes in (well) under 15
 minutes of lid closure, perhaps as quickly as only a few minutes or
 less with lid closed (and sometimes seems to happen immediately upon
 lid closure).
When it happens (symptoms, etc.);
 screen goes black/blanked and won't resume.
 all network activity ceases (very bad as this system also operates as
  server!)
 unable to resume with any kind of keyboard activity*
 seems to be a very deep form of sleep, the only things I can do at that
  point that at all gets it to respond:
  <Control><Alt><Delete> - which does a warm reboot
  power cycle it via power button - which does cold boot (no variations
   on length of press do anything else - just long press powers it
   down).
  remove power (and it goes down cold - laptop battery no longer holds
   charge and has been that way for many years now - cannot withstand so
   much as even a full second of power interruption).
 what it shows in the logs - about all I've been able to find is this:
  but without any more details as to what's triggering it or how:
   ACPI: PM: Preparing to enter system sleep state S3
   That's found in the /var/log/{kern.log,syslog}* files
 *haven't tried all manner of Magic SysRq keys, as I'm not aware any
  which would unblank the screen and/or resume from any manner of
  sleep/suspend/hibernate

Things I've tried, and yet the problem persists:
 reviewed https://wiki.debian.org/Suspend
  X11:
   I'm not running Gnome nor KDE, no DE nor chooser/greeter or the like.
    $ ps axlwwww | perl -ne '/[Gg]nome|[Kk]DE/i || $.==1 and print $_;'
    F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
    5     0    38     2  20   0      0     0 -      S    ?
0:00 [kdevtmpfs]
    0  1003  7853     1  20   0 161640  9512 do_sys Sl   ?
0:00 /usr/libexec/at-spi2-registryd --use-gnome-session
    0  1003  7949     1  20   0 235576  8716 do_sys SLl  ?
0:00 /usr/bin/gnome-keyring-daemon --start --foreground
--components=secrets
   I typically just fire up bare X and a WM (and the case for above):
    startx -- -retro &
    fvwm &
   Added to ~/.xinitrc
    xset dpms 0 0 0
    xset -dpms
    xset s default
    xset s noblank
    xset s off
    xset s noexpose
    xset s reset
    xset s 600 600
   And that now shows:
    $ xset q |
    sed -ne '
     /^Screen Saver:$/{N;N;p;d}
     /^DPMS (Energy Star):$/{N;N;N;p;q}
    '
    Screen Saver:
      prefer blanking:  no    allow exposures:  no
      timeout:  600    cycle:  600
    Yet the problem persists.
  Was on systemd, did:
    # systemctl mask sleep.target suspend.target hibernate.target \
      hybrid-sleep.target
    Problem persists.
    /etc/systemd/{login,sleep}.conf* all files thereunder, lines other
     than blank/empty and comment lines:
    # ( t="$(/bin/echo -en '\011')" && cd /etc/systemd &&
      find {logind,sleep}.conf* -follow -type f ! -size 0 \
      -exec grep -a -e "^[$t ]*[^$t #]" \{\} /dev/null \;)
     logind.conf:[Login]
     logind.conf:HandleLidSwitch=ignore
     logind.conf:HandleLidSwitchExternalPower=ignore
     logind.conf:HandleLidSwitchDocked=ignore
     logind.conf.d/logind.conf:[Login]
     logind.conf.d/logind.conf:HandleLidSwitch=ignore
     logind.conf.d/logind.conf:HandleLidSwitchExternalPower=ignore
     logind.conf.dpkg-dist:[Login]
     sleep.conf:[Sleep]
     sleep.conf.d/nosuspend.conf:[Sleep]
     sleep.conf.d/nosuspend.conf:AllowSuspend=no
     sleep.conf.d/nosuspend.conf:AllowHibernation=no
     sleep.conf.d/nosuspend.conf:AllowSuspendThenHibernate=no
     sleep.conf.d/nosuspend.conf:AllowHybridSleep=no
     Earlier configuration from last of Debian 10 on 2024-05-13 before
      upgrading to Debian 11 and then Debian 12 (completed on
      2024-05-14):
     # (
      t="$(/bin/echo -en '\011')" &&
      xz=~root/tmp/10.13_to_11.9/etc,var_lib_dpkg,var_lib_apt_ &&
      xz="$xz"'extended_states.tar.xz' &&
      files=$(xz -d < $xz | tar -tf - etc/systemd |
      grep -a -F -e logind -e sleep | grep -v '\.dpkg-dist$') &&
      set -- $files && for f; do
       echo "$f:"
       xz -d < $xz | tar -O -xf - $f | grep -a -e "^[$t ]*[^$t #]"
      done
     )
     etc/systemd/sleep.conf:
     [Sleep]
     etc/systemd/logind.conf:
     [Login]
     HandleLidSwitch=ignore
     And through 2024-05-13 on Debian 10 (and even years before that and
      earlier Debian versions before that), that was sufficient to avoid
      any flavor of sleep/suspend/hibernate unless I manually commanded
      it, at least as far as I recall for any specific configuration I
      did regarding that (do have all the earlier /etc files if there's
      need to review, also listing of packages, from before each major
      version upgrade - per Debian's standard recommendations on things
      to specifically have backed up prior to major version upgrades).
  Also changed from systemd to sysvinit (installed: sysvinit-core,
   removed: systemd-sysv systemd):
   Problem stil persists:
    Initially, noticed one significant difference:
     closing lid system almost instantly went to (deep) sleep, but
     opening lid it resumed.  Traced that to elogind configuration
     issue.  Reconfigured elogind, restarted elogind, that behavior was
     then gone (closing lid no longer immediately put system to sleep),
     but the original problem still remains.  elogind configuration:
     $ ( t="$(/bin/echo -en '\011')" && for f in $(
      find /etc/*elogin* -type f -print | sort); do echo "$f:"
      < "$f" grep -a -e "^[$t ]*[^$t #]"; done)
      /etc/elogind/login.conf.d/logind.conf:
      [Login]
      HandleSuspendKey=ignore
      HandleHibernateKey=ignore
      HandleLidSwitch=ignore
      HandleLidSwitchExternalPower=ignore
      HandleLidSwitchDocked=ignore
      PowerKeyIgnoreInhibited=yes
      SuspendKeyIgnoreInhibited=yes
      HibernateKeyIgnoreInhibited=yes
      [Sleep]
      AllowSuspend=no
      AllowHibernation=no
      AllowSuspendThenHibernate=no
      AllowHybridSleep=no
      AllowPowerOffInterrupts=yes
      BroadcastPowerOffInterrupts=no
      AllowSuspendInterrupts=yes
      BroadcastSuspendInterrupts=no
      SuspendState=
      HibernateState=
      HibernateMode=
      HybridSleepState=
      HybridSleepMode=
      /etc/elogind/logind.conf:
      [Login]
      RemoveIPC=no
      [Sleep]
 I also, earlier (a few weeks back or so), removed, to the extent
  feasible, most any and all
  power management / sleep / suspend / hibernate related packages that I
  could (mostly notwithstanding some reverse dependencies)

Hardware:
 Dell Inc.
 Reg Model P10E
 Reg Type P10E001
 19.5V 12.3A
 JSD2 XXX
 DP/N 3HP1J A00
 SERVICE TAG FWRXDX1
 EXPRESS SERVICE CODE 34633559989
 Dell Precision M6600
 Modifications/changes on that hardware:
 Removed the HDD, replaced with SSD, added 2nd SSD, all years ago,
 one of the SSDs failed a few weeks ago, but long after start of the
 issue.  Also years ago, doubled the RAM from 8GiB to 16 GiB.  And as
 noted above, battery has been very dead a very long time (can't no
 longer even hold enough charge to keep the computer running for a full
 second).

Next steps?  In addition to asking for some help from the Debian wisdom,
etc. (please, and thanks), I also plan to compare the packages that were
installed on Debian 10 prior to upgrade to 11, to those presently
installed on 12 - and see if from that I'm able to identify anything
(and/or its configuration thereof) that may be problematic.  I'll also
continue to look at packages (adding, reconfiguring, and/or removing)
that may solve the issue and/or help point to specific origin of the
issue.

Would love to get to the bottom of this and get this resolved.  :-)
And then I/you and/or others can add the additional relevant information
to https://wiki.debian.org/Suspend
Thanks!

Reply via email to