Hibernate doesn't work.

I have installed openSUSE Leap 15.1 (KDE), and I have noticed a problem. Hibernate doesn’t work.
First of all, there is no option in shutdown menu for hibernation, only suspend, reboot, shut down and log out options are available.
When I try to hibernate via “Application menu -> Power/Session -> Hibernate”, laptop will not shut down. It I force shut down it, it will not resume, and sometimes will not boot (so couple reboots might be required).

I have 8 GB of RAM, and 16 GB swap partition. My laptop is Acer A315-41 with AMD Ryzen 5.

What’s the output from:

cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.12.14-lp151.28.13-default root=UUID=2a87c183-fd18-4aa8-92d1-0
8a42d8ec4cc splash=silent resume=/dev/disk/by-id/ata-WDC_WDS480G2G0B-00EPW0_19154F464706
-part3 quiet mitigations=off

Okay. I was particularly looking for that “resume=” string. That should be your swap partition. Maybe you can check that.

Maybe also look at the output from

cat /proc/swaps[/cat]
(which might be a different name for the same partition).

I was particularly looking for that “resume=” string. That should be your swap partition

Well, it looks like it is my swap partition. Third partition on that disk.
This is /proc/swaps

Filename                                Type            Size    Used    Priority
/dev/sdb3                               partition       16777212        0       -1

Which is also correct.

Here are my disks.
https://imgur.com/a/dnks667https://i.ibb.co/5FpjKtF/Screenshot-20190903-202630.png

FWIW

I’ve never succeeded in getting suspend/resume to disk (hibernate) working reliably on AMD hardware (suspend/resume to RAM works OK). I don’t know if I’m just unlucky, or “that’s the way it is”…

Hibernate appears to work, and the machine(s) shuts down cleanly; however they fail to resume, typically booting to a blank screen with the “Caps Lock” LED flashing, the only way out is to power off and boot with the “noresume” option on the kernel command line.

I’ve seen this on:

3 older Gigabyte GA-MA770-DS3e (AMD Athlon™ 64 X2 Dual-Core Processor 5600+) all running various TW snapshots, including the latest.

A newer Gigabyte GA-970A-DS3Pe (AMD FX™-6300 Six-Core Processor) running, originally Leap incarnations 42.3, 15.0, and now 15.1

And more recently on an HP 255 G7 Ryzen 3 (AMD Ryzen 3 2200U Dual-Core Processor) running Leap 15.1

A suggestion made to me was: If you’re using the “feature” and not already done so, try turning off Windows “Fast Start-up” - However I don’t have Windows installed :wink:

Hibernate appears to work, and the machine(s) shuts down cleanly; however they fail to resume, typically booting to a blank screen with the “Caps Lock” LED flashing, the only way out is to power off and boot with the “noresume” option on the kernel command line.

In my case laptop won’t even shut down.

On TW hibernation worked, but I started getting really weird issues with touchpad, and system not booting at all sometimes (ACPI errors probably causes lock ups, I don’t know to be honest), so I decided to install Leap, because it has older kernel. Which works great, boots every time, touchpad rarely requires “sudo modprobe i2c_hid”… But hibernation doesn’t work…

A suggestion made to me was: If you’re using the “feature” and not already done so, try turning off Windows “Fast Start-up” - However I don’t have Windows installed

I already tried this. I’m not sure, but this shouldn’t matter at all, since Windows has its own HDD with EFI partition, and openSUSE has its own SSD with EFI partition.

I didn’t pursue the issue myself, deciding to forego hibernate, but these may be of help.

https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate

https://www.infradead.org/~mchehab/rst_conversion/power/basic-pm-debugging.html

I note you’re using BTFRS, perhaps this section “Hibernation into swap file on Btrfs” in the arch wiki is relevant.

Not work for me too (suspend to RAM).
Opensuse Leap 15.1 x86_64
Dell Vostro 5581
No NVIDIA/AMD graphic cards

In cmdline I’ve try some tips from other forums, but it not works

BOOT_IMAGE=/boot/vmlinuz-4.12.14-lp151.28.13-default root=UUID=1a3c36bc-19a9-4258-a930-bc831619914a splash=silent resume=/dev/disk/by-id/nvme-ADATA_SX8200PNP_2J1220058091-part3 quiet xhci_hcd.quirks=270336 nouveau.blacklist=1 acpi_osi=! "acpi_osi=Windows 2009" acpi_backlight=vendor mem_sleep_default=deep nouveau.modeset=0 mitigations=auto

00:00.0 Host bridge: Intel Corporation Device 3e34 (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Device 3ea0
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0b)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Device 9df9 (rev 30)
00:13.0 Serial controller: Intel Corporation Device 9dfc (rev 30)
00:14.0 USB controller: Intel Corporation Device 9ded (rev 30)
00:14.2 RAM memory: Intel Corporation Device 9def (rev 30)
00:14.3 Network controller: Intel Corporation Device 9df0 (rev 30)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device 9de8 (rev 30)
00:15.1 Serial bus controller [0c80]: Intel Corporation Device 9de9 (rev 30)
00:16.0 Communication controller: Intel Corporation Device 9de0 (rev 30)
00:17.0 SATA controller: Intel Corporation Device 9dd3 (rev 30)
00:1d.0 PCI bridge: Intel Corporation Device 9db0 (rev f0)
00:1d.4 PCI bridge: Intel Corporation Device 9db4 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Device 9d84 (rev 30)
00:1f.3 Audio device: Intel Corporation Device 9dc8 (rev 30)
00:1f.4 SMBus: Intel Corporation Device 9da3 (rev 30)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 9da4 (rev 30)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
02:00.0 Non-Volatile memory controller: Device 1cc1:8201 (rev 03)
~ # cat /proc/mounts | grep '^/dev/'
/dev/nvme0n1p2 / xfs rw,relatime,attr2,inode64,noquota 0 0
/dev/nvme0n1p1 /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
/dev/mapper/cr_ata-TOSHIBA_MQ04ABF100_Z8KQPSAXT-part1 /home xfs rw,relatime,attr2,inode64,noquota 0 0
/dev/fuse /run/user/1000/doc fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
~ # LANG=POSIX fdisk -l
Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Disk model: ADATA SX8200PNP                         
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: CF875BE2-0CCD-4B22-A874-AFB4FFD7FAC2

Device             Start       End   Sectors  Size Type
/dev/nvme0n1p1      2048   2099199   2097152    1G EFI System
/dev/nvme0n1p2   2099200 465569791 463470592  221G Linux filesystem
/dev/nvme0n1p3 465569792 500118158  34548367 16.5G Linux swap


Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: TOSHIBA MQ04ABF1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 7A9776EA-DD75-4257-990D-C10819E78508

Device     Start        End    Sectors   Size Type
/dev/sda1   2048 1953525134 1953523087 931.5G Linux filesystem


Disk /dev/mapper/cr_ata-TOSHIBA_MQ04ABF100_Z8KQPSAXT-part1: 931.5 GiB, 1000201723392 bytes, 1953518991 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Do you have the same problems as described here…
https://bugzilla.opensuse.org/show_bug.cgi?id=1137748
…and here?
https://forums.opensuse.org/showthread.php/537158-Incomplete-standby

Just a note.

Since my posts above, I have tried hibernating my laptop.

Running 15.1, I selected “hibernate” from the menu (in Plasma/KDE). It seemed to hibernate fine.

I then powered it back on and rebooted. It appeared to successfully resume from hibernation. However, I did get a kernel message about an unexpected NMI interrupt. As best I recall, the kernel said “dazed and confused but continuing”. Apart from that, everything looked okay.

Later, I hibernated Tumbleweed on the same machine. And then I rebooted with a successful resume from hibernation. With Tumbleweed, there was no “dazed and confused” message.

I should add that both of those are using an encrypted LVM (the same encrypted LVM, but different root volumes within that LVM). And they use the same swap, so they use the same location for saving the hibernation image. I do wonder what would happen if I hibernated 15.1, and then rebooted to Tumbleweed – would it resume from the 15.1 hibernation image? But I’m not about to try that. I prefer to avoid hibernating.

Hi Guys

This is not only on 15.1 on 15.0 with new kernel 4.12.14-lp150.12.70-default kernel on my AMD machine it does not work anymore.
Seems to go to suspend mode but fan is still running of CPU and case and consuming the same as up…
After restore display is mangeld, not usable…
This worked fine with kernel 4.12.14-lp150.12.61-default
Hibernating does not work anymore long time ago. All newer kernels does not work. At the other end on my HP intel laptop it works with new kernel.
The whole suspend/hibernate stuff is really a pain on linux. Every kernel update you have to test always on all machines…

Have you tried the latest kernel from the kernel repo at

http://download.opensuse.org/repositories/Kernel:/stable/standard/

No I haven’t but I think released kernel should work right…
Other day I will to a test…

Thanks

It is worth trying.

The released kernel has some feature backported from the latest kernel. But there could be some bugs in the backporting.

If hibernate does not work on the latest kernel (from the kernels repo), then there is a kernel problem.
If it does work there, but not on the released kernel, then it’s an openSUSE kernel problem.

Either way, it might be worth reporting as a bug.

Hi
First of all, you get the same information that is in your above screenshot by a “parted -l” at the command line as root. To post that output here using code tags (you obviously know how to do that) - instead of posting the link to some image on some server in the “cloud” - that output would then be preserved even if you would ever decide to delete that screenshot in the “cloud”. Or you could perhaps use susepaste, and there select: Delete After > Never.

From your above screenshot it can be seen that you installed Leap 15.1 on a separate hard disk with the system files along with your user data in one single BtrFS partition (I usually prefer to have / and /home in separate partitions, which is easier to deal with when you should ever decide to make a fresh installation of any future version of openSUSE).

Searching the internet for “grub resume hibernate swap” I found a piece of well written documentation which gives you some background about hibernate etc.,
https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate

On that page, under Hibernation > Required kernel parameters, you’ll find the advice

Generally, the naming method used for the resume parameter should be the same as used for the root parameter.

after an example of how this may look like, which there is

resume=UUID=4209c845-f495-4c43-8a03-5363dd433153

For your installation this has been set up differently, see the parameters ‘root=’ and ‘resume=’ in your reply to

You further wrote

I myself just had some strange problems after installing Leap 15.1 if in the partitioner during the installation I selected to mount partitions by “Device ID” instead of by “UUID”, c.f. thread
https://forums.opensuse.org/showthread.php/537315-Failed-to-connect-to-bus-failed-to-talk-to-init-daemon

In /etc/fstab this results in entries of the type ‘/dev/disk/by-id/ata-WDC_WDS480G2G0B-00EPW0_19154F464706-part3’ like you have it in your output from “cat /proc/cmdline” that I quoted above.

You can quickly check what you have in fstab with (works without sudo or su)

cat /etc/fstab

If you have entries of the type “/dev/disk/by-id/…” instead of “UUID=…” or “/dev/disk/by-uuid/…” there, and if you didn’t edit /etc/fstab after installation, then you could just give it a try and in YaST > Partitioner in the “Fstab Options” of the “Mounting Options” for the partitions of openSUSE on your second hard disk change from mounting by “Device ID” to mounting by “UUID”.
After closing the partitioner (saving the changes) you would then as well be able to copy and paste the UUID of your swap from the output of another “cat /etc/fstab” to the argument of the parameter resume= in YaST > Boot Loader > Kernel Parameters.
In one of my installations of 15.1 I now have there

resume=/dev/disk/by-uuid/76cca290-a1ef-43e8-b295-a3a704857f9e 

(with an additional space at the end).
This differs from the “syntax” given on the web page cited above (which would be resume=UUID=76cca290-a1ef-43e8-b295-a3a704857f9e ), but it as well refers to the UUID (unlike /dev/disk/by-id/…) and it works well for my installation of Leap 15.1.

A final remark with respect to this thread as such:
If swap is needed to hibernate (which can not be a swap file for BtrFS and a Kernel 4.x, see web page cited above), then it will be useful to create a swap partition of sufficient size, which should in general be the case if

and to check during a typical situation of use, that swap isn’t used heavily already, which is quickly done by a “free” on the command line (no sudo or su necessary).

And

well, I’m convinced that it very likely is a very good idea to not to try that … :wink:

Yes, it’s seems like them.
But i switched to kernel 5.3 and this worked. Today, I was try kernel from official opensuse update repo and suspend to ram works now.

uname -a
Linux 4.12.14-lp151.28.36-default #1 SMP Fri Dec 6 13:50:27 UTC 2019 (8f4a495) x86_64 x86_64 x86_64 GNU/Linux 

Two times it’s worked, but after some time doesn’t. Switched back to

"Linux 5.3.6-2.gd6c109d-default #1 SMP Tue Oct 15 12:54:58 UTC 2019 (d6c109d) x86_64 x86_64 x86_64 GNU/Linux"