I have spent the last couple of months reading a variety of forum posts, installing different Fedora versions, and experimenting in an attempt to get suspend/resume to work properly on my laptop all without success. I finally decided that my best hope for resolving the issue was to work just on Fedora 31. However, I have been able to reproduce this same issue on Fedora 29, 30, 31, 32, Centos 7, Centos 8, Centos Stream, and Ubuntu. So bottom line is that I don’t think it is in any way distro related.
I have a Lenovo Ideapad 500-15ACZ and am running Fedora 31 Workstation w/ Gnome desktop.
The BIOS in the laptop is flashed to the most current version. There are no BIOS options to control power management.
The laptop does suspend and resume properly under Windows 10 so I do not believe that it is a hardware issue.
For a brief period of time I was running Fedora 28 and suspend / resume seemed to be working properly there. However when Fedora 28 hit end-of-life I decided to do a clean build with Fedora 29 and that’s when my issues started.
I am on currently on kernel 5.6.6-200 but I am able to reliably reproduce this issue on the 5.3.7 kernel which is initially installed from the downloaded live image.
uname -a
Linux lenovo-ideapad 5.6.6-200.fc31.x86_64 #1 SMP Tue Apr 21 15:34:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
This is an AMD A10 based system:
cat /proc/cpuinfo | grep ‘model name’ | sort -u
model name : AMD A10-8700P Radeon R6, 10 Compute Cores 4C+6G
All of my packages are up to date using dnf upgrade.
Here is my current boot commandline:
cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.6.6-200.fc31.x86_64 root=UUID=9e6a52de-0ff1-49de-a5af-bbae2b868c2a ro resume=/dev/sda4 default_mem_sleep=deep amdgpu.dc=0 rhgb quiet
I have 8GB of physical RAM:
free -h
total used free shared buff/cache available
Mem: 7.3Gi 1.3Gi 4.6Gi 95Mi 1.4Gi 5.6Gi
Swap: 7.4Gi 0B 7.4Gi
And I have two swap partitions configured, one for normal use (/dev/sda3) sized the same as physical RAM:
swapon
NAME TYPE SIZE USED PRIO
/dev/sda3 partition 7.4G 0B -2
And a second swap partition (/dev/sda4) dedicated for use in suspend / hibernate / resume which is 2x physical RAM (following from fdisk partition listing):
Device Start End Sectors Size Type
/dev/sda4 108185600 143837183 35651584 17G Linux swap
Here is what I see in /sys/power/mem_sleep:
cat /sys/power/mem_sleep
s2idle [deep]
I have confirmed that I am using the AMDGPU kernel driver:
lspci -k | grep amd
Kernel driver in use: amdgpu
Kernel modules: amdgpu
I have added this line to dracut.conf:
add_dracutmodules+=“resume”
Also worth noting is that the same behavior occurs regardless of whether I boot into graphical.target or multi-user.target. So it doesn’t seem to be related to my desktop environment.
I have not yet tried booting into single-user mode to test this.
Despite all of this which I have pieced together from different posts and articles, my system fails to suspend every time. I run “sudo systemctl suspend” from the shell, the screen goes dark, and the system hangs such that a hard reset (hold power switch for 10 seconds) is necessary. I am unable to ssh to the laptop from another PC, it does not respond to ping, pressing the power key to resume does nothing, the num lock and caps lock indicator LEDs do not toggle when I press them, the system fan continues to spin, but nothing else happens.
Here is what is displayed from “journalctl -b -1 -r” when I boot the laptop back up and access it:
Apr 28 19:03:15 lenovo-ideapad systemd-sleep[2858]: Suspending system…
Apr 28 19:03:15 lenovo-ideapad systemd[1]: Starting Suspend…
Apr 28 19:03:15 lenovo-ideapad systemd[1]: Reached target Sleep.
Apr 28 19:03:14 lenovo-ideapad NetworkManager[824]: [1588118594.0914] manager: NetworkManager state is now ASLEEP
Apr 28 19:03:14 lenovo-ideapad NetworkManager[824]: [1588118594.0867] device (p2p-dev-wlp2s0): state change: disconnected → unmanaged (reason ‘sleeping’, sys-iface-state: ‘managed’)
Apr 28 19:03:14 lenovo-ideapad audit[2843]: CRED_DISP pid=2843 uid=0 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_localuser,pam_unix acct=“root” exe=“/usr/bin/sudo” hostname=>
Apr 28 19:03:14 lenovo-ideapad audit[2843]: USER_END pid=2843 uid=0 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_close grantors=pam_keyinit,pam_limits,pam_keyinit,pam_limits,pam_systemd,p>
Apr 28 19:03:14 lenovo-ideapad sudo[2843]: pam_unix(sudo:session): session closed for user root
Apr 28 19:03:14 lenovo-ideapad NetworkManager[824]: [1588118594.0693] device (enp1s0): state change: unavailable → unmanaged (reason ‘sleeping’, sys-iface-state: ‘managed’)
Apr 28 19:03:14 lenovo-ideapad NetworkManager[824]: [1588118594.0680] manager: sleep: sleep requested (sleeping: no enabled: yes)
Apr 28 19:03:14 lenovo-ideapad audit[2843]: USER_START pid=2843 uid=0 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_keyinit,pam_limits,pam_keyinit,pam_limits,pam_systemd,>
Apr 28 19:03:14 lenovo-ideapad sudo[2843]: pam_unix(sudo:session): session opened for user root by (uid=0)
Apr 28 19:03:14 lenovo-ideapad audit[2843]: CRED_REFR pid=2843 uid=0 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_localuser,pam_unix acct=“root” exe=“/usr/bin/sudo” hostname=>
Apr 28 19:03:14 lenovo-ideapad audit[2843]: USER_CMD pid=2843 uid=1000 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='cwd=“/home/[ubfuscated]” cmd=73797374656D63746C2073757370656E64 exe=“/usr/bin/sudo” terminal>
Apr 28 19:03:14 lenovo-ideapad sudo[2843]: [obfuscated] : TTY=pts/0 ; PWD=/home/[obfuscated] ; USER=root ; COMMAND=/usr/bin/systemctl suspend
I have replaced my username with [obfuscated] where needed but otherwise that is the complete journal from the point at which I issue the suspend command to where the journal ends for that boot.
Seems that many many people have similar issues but I am yet to find a solution.
Can anyone assist or point me in the right direction?