539. Laptop not suspending on closing lid in Debian Jessie/Gnome 3.8.4 -- need to use systemd

Edit: I suspect that there are solutions out there that don't require systemd. It just happened that this was the path of least resistance, at least for my laptop which has a fairly simple set up. Not sure my work cluster would be so straight-forward...

Original post:
Closing the laptop lid doesn't have any effect. dmesg returns
[95643.717984] systemd-logind[2731]: Lid closed.
[95643.718173] systemd-logind[2731]: Suspending...
[95648.722146] systemd-logind[2731]: Delay lock is active but inhibitor timeout is reached.
[95648.735369] systemd-logind[2731]: Failed to send delayed message: Launch helper exited with unknown return code 1
(also, why are we suddenly requiring systemd? I thought debian was going to be free from that...that...abomination...but I suppose this will be fixed before jessie goes stable in a couple of years)

Anyway, the issue seems to be that systemd hasn't got PID 1:

Working suspend/resume requires systemd to be PID 1 [1].
Boot with init=/bin/systemd for that.

And in my case I had

init=/sbin/bootchartd

in my GRUB_CMDLINE_LINUX_DEFAULT which I changed to

init=/bin/bootchartd

. Note that my full line is
GRUB_CMDLINE_LINUX_DEFAULT="quiet drm_kms_helper.poll=N init=/bin/systemd initcall_debug printk.time=y resume=UUID=8adf424c-c375-4035-8d5d-181489b4461b resume_offset=7182336"
where the resume commands are related to this post about hibernation using a swap file, and the drm_kms_helper.poll is related to this issue.

Anyway, rebooting gives
ps aux|grep systemd
root 1 0.1 0.1 46104 4668 ? Ss 07:31 0:00 /bin/systemd
root 202 0.0 0.4 144868 18416 ? Ss 07:31 0:00 /lib/systemd/systemd-journald
root 221 0.0 0.0 38500 2292 ? Ss 07:31 0:00 /lib/systemd/systemd-udevd
root 877 0.0 0.0 37024 1760 ? Ss 07:31 0:00 /lib/systemd/systemd-logind
message+ 887 0.1 0.0 29148 2520 ? Ss 07:31 0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation

Closing (and opening) the lid gives

dmesg|grep PM
[..]
[ 444.637761] PM: Syncing filesystems ... done.
[ 444.668607] PM: Preparing system for mem sleep
[ 444.784170] PM: Entering mem sleep
[ 445.232203] PM: suspend of devices complete after 447.606 msecs
[ 445.232862] PM: late suspend of devices complete after 0.650 msecs
[ 445.277535] PM: noirq suspend of devices complete after 44.667 msecs
[ 445.360219] PM: Saving platform NVS memory
[..]
[ 445.509662] PM: noirq resume of devices complete after 100.525 msecs
[ 445.510133] PM: early resume of devices complete after 0.295 msecs
[ 447.065176] PM: resume of devices complete after 1555.037 msecs
[ 447.151847] PM: Finishing wakeup.

i.e. it works.

So I'm now using systemd, I suppose. However, I have yet to explore whether I can still use my precious /etc/network/interfaces file. At least my network interfaces haven't been renamed using the systemd nomeclature which annoyed me so much back when I used Arch, and my /etc/udev/rules.d/70-persistent-net.rules are still respected.

Previous
Next Post »