6

Lubuntu 18.04 (lxde) here, upon AMD Epyc 7282. Kernel 4.15. The system is stable and works flawlessly, but id does refuse to suspend.

If I try to suspend it, the screen blanks, but the system does not power off.

At this point, if I hit a key or move the mouse, nothing happens. If I hit the power button, the system "wakes up", presenting the login screen, and then all the applications as I left them.

Hibernation is absent alltogether.

Note that Epyc Rome is not affected by the notorious RDRAND bug which affects Ryzen 3000 and causes problems with suspend to ram.

EDIT: I used the system for days with high load, and can confirm rock stability, but if I leave it blanking the monitor, there is no way to wake it up.. One has to connect via ssh and reset the system.

EDIT(II): Example output for journalctl -u systemd-suspend.service:

gen 25 04:33:52 epyc systemd[1]: Starting Suspend...
gen 25 04:33:52 epyc systemd-sleep[1743]: Suspending system...
gen 25 04:34:36 epyc systemd-sleep[1743]: System resumed.
gen 25 04:34:36 epyc systemd-sleep[1743]: /dev/sda:
gen 25 04:34:36 epyc systemd-sleep[1743]:  setting Advanced Power Management level to 0xfe (254)
gen 25 04:34:36 epyc systemd-sleep[1743]:  APM_level        = 254

EDIT (III): I actually managed to hibernate the system using uswsusp, by specifying explicitly the resume device, that is, the swap partition:

sudo s2disk -r /dev/sda1

In such condition the system does shut down visualizing SNAPSHOTTING THE SYSTEM...

If I power on, the system does boot saying RESUMING FROM HIBERNATION... but then, it just displays the desktop, with no trace of any application left open. I will investigate the logs and report back.

MadHatter
  • 501

2 Answers2

0

Some ACPI BIOS have been know to be buggy in linux and this may not work with all systems. I do believe hibernation is disabled by default with ubuntu flavors. Check and make sure the file /etc/default/grub contains the resume parameter in the line GRUB_CMDLINE_LINUX_DEFAULT= near the beginning of the file. To quickly check, from a terminal type:

head -n 15 /etc/default/grub

The line should read something like this example:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=26623446-028a-415d-e685-8adc53740282"

If your resume value instead contains resume=/dev/sda1, I would suggest changing that to a UUID number. The device identifier "/dev/sda1" is not always persistent and could possibly change when a new drive is introduced to the system. The UUID will remain unique. To find the UUID# of your swap partition:

lsblk -o +uuid | grep -i swap

As a good habit, make a backup copy of the original file before changing.

sudo cp /etc/default/grub /etc/default/~grub.bak.`date '+%Y-%m-%d'`

If you have made any changes to the /etc/default/grub file, you will need to update the grub configuration:

sudo update-initramfs -u

Read the output and confirm that initramfs resume hook is pointing to the correct partition. Then

sudo update-grub

Then try to hibernate system:

sudo systemctl hibernate

If system immediately resumes then login and read dmesg to see any recent [PM] errors and look over the logs again to find what may be the issue.

0

I used to have exactly the same problem.
I couldn't force "systemctl suspend" to work, however there is a solution from another way:

$ sudo pm-suspend 

It just works without any additional manual tweaking.

Alex
  • 148