Some update in the meantime has solved this problem.
This works again I spoke too soon. It turns out the system only locks up if power is connected. So it's related to power handling, but not in any way I can detect. The workaround is to unplug power, close the lid again, wait for a few seconds, and open the lid again.
After a successful wake-up the journal looks like this:
systemd: Started Suspend. systemd: sleep.target: Unit not needed anymore. Stopping. systemd: Stopped target Sleep. systemd: Reached target Suspend. systemd: suspend.target: Unit is bound to inactive unit systemd-suspend.service. Stopping, too. systemd: Stopped target Suspend. systemd-logind: Operation 'sleep' finished.
Recently my laptop has stopped waking up properly after re-opening the lid. The screen backlight comes on, so something is clearly happening, but I don't get the standard
slock password "prompt" of a blue screen while typing.
I've tried "blindly" typing my password, opening a shell and running
reboot. I've also tried pressing Ctrl-Alt-F2 to try to change to a virtual terminal, entering my username and password, and running
reboot. Neither of these work, so presumably the system hasn't woken up enough to activate the keyboard yet. I have verified that changing to a virtual terminal works while in
slock, so the wake-up process can't have reached that state yet. There is no SysRq key on the keyboard.
journalctl for the relevant
--boot simply ends with it hibernating.
I don't have an external monitor attached.
This is 100% reproducible.
I have just tried an alternative tack:
- Quit awesome WM.
awesomeby checking the process list in a VT.
- Go back to the awesome WM login screen.
- Close the lid.
- Open the lid after a few seconds.
And once again I got the empty screen. Interestingly, after quickly pressing and releasing the power button the login screen showed up again, which it never did in a logged in state. However, neither the keyboard nor the mouse worked (even to change to a VT) so I still had to hard boot. The end of the journal looks like this:
$ journalctl --boot=-1 | tail -n2 | cut -d' ' -f5- systemd: Starting Suspend... systemd-sleep: Suspending system...
My setup is defined in two repos, one for desktop settings and another for the overall system. I regularly (almost every day) update all the software. I am using the i915 video driver. The machine is a Samsung ATIV Book 9 Spin.