Laptop Won't Wake From Suspend
by will41 from LinuxQuestions.org on (#6GA7D)
I am working with an Lenovo Ideapad C940 Yoga. It has a 512gb ssd, 16gb mem and i7 intel processor. It dual boots with Win 10 and Fedora 38 Cinnamon with standard ext4 partitions including /, /home, /swap.
Following is some information generated by lsblk:
Code:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
zram0 252:0 0 8G 0 disk [SWAP]
nvme0n1 259:0 0 476.9G 0 disk
nvme0n1p1 259:1 0 260M 0 part
nvme0n1p2 259:2 0 16M 0 part
nvme0n1p3 259:3 0 118G 0 part
nvme0n1p4 259:4 0 1000M 0 part
nvme0n1p5 259:5 0 250M 0 part /boot/efi
nvme0n1p6 259:6 0 254.4G 0 part /home
nvme0n1p7 259:7 0 93.1G 0 part /
nvme0n1p8 259:8 0 10G 0 part [SWAP]
nvme1n1 259:9 0 27.3G 0 disk
nvme1n1p1 259:10 0 27.3G 0 partFollowing is information from /sbin/lspci:
Code:bash-5.2$ /sbin/lspci
00:00.0 Host bridge: Intel Corporation Ice Lake-LP Processor Host Bridge/DRAM Registers (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Iris Plus Graphics G7 (rev 07)
00:04.0 Signal processing controller: Intel Corporation Processor Power and Thermal Controller (rev 03)
00:07.0 PCI bridge: Intel Corporation Ice Lake Thunderbolt 3 PCI Express Root Port #0 (rev 03)
00:07.1 PCI bridge: Intel Corporation Ice Lake Thunderbolt 3 PCI Express Root Port #1 (rev 03)
00:0d.0 USB controller: Intel Corporation Ice Lake Thunderbolt 3 USB Controller (rev 03)
00:0d.2 System peripheral: Intel Corporation Ice Lake Thunderbolt 3 NHI #0 (rev 03)
00:12.0 Serial controller: Intel Corporation Ice Lake-LP Integrated Sensor Solution (rev 30)
00:14.0 USB controller: Intel Corporation Ice Lake-LP USB 3.1 xHCI Host Controller (rev 30)
00:14.2 RAM memory: Intel Corporation Ice Lake-LP DRAM Controller (rev 30)
00:14.3 Network controller: Intel Corporation Ice Lake-LP PCH CNVi WiFi (rev 30)
00:15.0 Serial bus controller: Intel Corporation Ice Lake-LP Serial IO I2C Controller #0 (rev 30)
00:15.1 Serial bus controller: Intel Corporation Ice Lake-LP Serial IO I2C Controller #1 (rev 30)
00:15.2 Serial bus controller: Intel Corporation Ice Lake-LP Serial IO I2C Controller #2 (rev 30)
00:16.0 Communication controller: Intel Corporation Ice Lake-LP Management Engine (rev 30)
00:17.0 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 30)
00:1d.0 PCI bridge: Intel Corporation Ice Lake-LP PCI Express Root Port #9 (rev 30)
00:1d.2 PCI bridge: Intel Corporation Device 34b2 (rev 30)
00:1f.0 ISA bridge: Intel Corporation Ice Lake-LP LPC Controller (rev 30)
00:1f.3 Multimedia audio controller: Intel Corporation Ice Lake-LP Smart Sound Technology Audio Controller (rev 30)
00:1f.4 SMBus: Intel Corporation Ice Lake-LP SMBus Controller (rev 30)
00:1f.5 Serial bus controller: Intel Corporation Ice Lake-LP SPI Controller (rev 30)
55:00.0 Non-Volatile memory controller: Intel Corporation Optane NVME SSD H10 with Solid State Storage [Teton Glacier] (rev 03)
56:00.0 Non-Volatile memory controller: Intel Corporation Optane NVME SSD H10 with Solid State Storage [Teton Glacier]
bash-5.2$The Optane NVME has been disabled in the BIOS.
I am trying to correct two seemingly related problems. Under mem_sleep=s2idle, power use during sleep (suspend) is in the range of 6% per hour. Attempting to correct that, I have changed to mem_sleep=deep (see GRUB_CMDLINE entry below):
After inserting the GRUB-CMDLINE statement into /etc/default/grub, I ran:
sudo grub2-mkconfig -o /etc/grub2-efi.cfg
and then re-booted
GRUB currently looks like this:
Code:GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
# GRUB_CMDLINE_LINUX="rhgb quiet"
# GRUB_CMDLINE_LINUX="resume=UUID=47fd7e34-a729-49e2-97f0-a1c8b0acc75f rhgb quiet"
# GRUB_CMDLINE_LINUX="resume=UUID=47fd7e34-a729-49e2-97f0-a1c8b0acc75f"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash mem_sleep_default=deep"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=truemem_sleep now looks like this:
Code:cat /sys/power/mem_sleep
s2idle [deep]At this point, I cannot confirm that this solved the problem because now, when I close the lid to suspend or run "systemctl suspend", it appears to suspend but it will not wake up. The only way I've found to wake it" is to hold the start button to re-set the system and then re-boot by clicking it again. Searching for a solution, I found suggestions to add the location of the swap" partition for saving and recovering data for the suspend operation. As you see I have 3 commented out lines trying different syntax attempts; none of which work.
When installing F38, I understood that a swap partition is required for suspend or hibernate and for 12-16 gb of memory, about 10gb is satisfactory. I'm not sure this is correct, nor am I sure that having a swap partition and zram at the same time is proper.
I have run the command journal -b" following a lid closure and re-boot. I've looked for clues toward the end of the file as to what is going on but there are thousands of lines which mean little to me. I see nothing regarding "suspend" in that timeframe. I can provide a copy of as many lines as might be useful to you but I will need some guidance as to what to look for.
I found on this suggestion on this forum from a year ago:
"Briefly, the issue was caused by problems with ASPM resulting in the system not being able to properly wake up the SSD after suspend. To fix, "pcie_aspm=off" was added to the kernel parameters in order to explicitly disable ASPM."
It does not explain how to do this and I would be going blind and dumb to proceed on my own. So, I would like some advice on this before proceeding.
Any advice would be appreciated.
Following is some information generated by lsblk:
Code:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
zram0 252:0 0 8G 0 disk [SWAP]
nvme0n1 259:0 0 476.9G 0 disk
nvme0n1p1 259:1 0 260M 0 part
nvme0n1p2 259:2 0 16M 0 part
nvme0n1p3 259:3 0 118G 0 part
nvme0n1p4 259:4 0 1000M 0 part
nvme0n1p5 259:5 0 250M 0 part /boot/efi
nvme0n1p6 259:6 0 254.4G 0 part /home
nvme0n1p7 259:7 0 93.1G 0 part /
nvme0n1p8 259:8 0 10G 0 part [SWAP]
nvme1n1 259:9 0 27.3G 0 disk
nvme1n1p1 259:10 0 27.3G 0 partFollowing is information from /sbin/lspci:
Code:bash-5.2$ /sbin/lspci
00:00.0 Host bridge: Intel Corporation Ice Lake-LP Processor Host Bridge/DRAM Registers (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Iris Plus Graphics G7 (rev 07)
00:04.0 Signal processing controller: Intel Corporation Processor Power and Thermal Controller (rev 03)
00:07.0 PCI bridge: Intel Corporation Ice Lake Thunderbolt 3 PCI Express Root Port #0 (rev 03)
00:07.1 PCI bridge: Intel Corporation Ice Lake Thunderbolt 3 PCI Express Root Port #1 (rev 03)
00:0d.0 USB controller: Intel Corporation Ice Lake Thunderbolt 3 USB Controller (rev 03)
00:0d.2 System peripheral: Intel Corporation Ice Lake Thunderbolt 3 NHI #0 (rev 03)
00:12.0 Serial controller: Intel Corporation Ice Lake-LP Integrated Sensor Solution (rev 30)
00:14.0 USB controller: Intel Corporation Ice Lake-LP USB 3.1 xHCI Host Controller (rev 30)
00:14.2 RAM memory: Intel Corporation Ice Lake-LP DRAM Controller (rev 30)
00:14.3 Network controller: Intel Corporation Ice Lake-LP PCH CNVi WiFi (rev 30)
00:15.0 Serial bus controller: Intel Corporation Ice Lake-LP Serial IO I2C Controller #0 (rev 30)
00:15.1 Serial bus controller: Intel Corporation Ice Lake-LP Serial IO I2C Controller #1 (rev 30)
00:15.2 Serial bus controller: Intel Corporation Ice Lake-LP Serial IO I2C Controller #2 (rev 30)
00:16.0 Communication controller: Intel Corporation Ice Lake-LP Management Engine (rev 30)
00:17.0 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 30)
00:1d.0 PCI bridge: Intel Corporation Ice Lake-LP PCI Express Root Port #9 (rev 30)
00:1d.2 PCI bridge: Intel Corporation Device 34b2 (rev 30)
00:1f.0 ISA bridge: Intel Corporation Ice Lake-LP LPC Controller (rev 30)
00:1f.3 Multimedia audio controller: Intel Corporation Ice Lake-LP Smart Sound Technology Audio Controller (rev 30)
00:1f.4 SMBus: Intel Corporation Ice Lake-LP SMBus Controller (rev 30)
00:1f.5 Serial bus controller: Intel Corporation Ice Lake-LP SPI Controller (rev 30)
55:00.0 Non-Volatile memory controller: Intel Corporation Optane NVME SSD H10 with Solid State Storage [Teton Glacier] (rev 03)
56:00.0 Non-Volatile memory controller: Intel Corporation Optane NVME SSD H10 with Solid State Storage [Teton Glacier]
bash-5.2$The Optane NVME has been disabled in the BIOS.
I am trying to correct two seemingly related problems. Under mem_sleep=s2idle, power use during sleep (suspend) is in the range of 6% per hour. Attempting to correct that, I have changed to mem_sleep=deep (see GRUB_CMDLINE entry below):
After inserting the GRUB-CMDLINE statement into /etc/default/grub, I ran:
sudo grub2-mkconfig -o /etc/grub2-efi.cfg
and then re-booted
GRUB currently looks like this:
Code:GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
# GRUB_CMDLINE_LINUX="rhgb quiet"
# GRUB_CMDLINE_LINUX="resume=UUID=47fd7e34-a729-49e2-97f0-a1c8b0acc75f rhgb quiet"
# GRUB_CMDLINE_LINUX="resume=UUID=47fd7e34-a729-49e2-97f0-a1c8b0acc75f"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash mem_sleep_default=deep"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=truemem_sleep now looks like this:
Code:cat /sys/power/mem_sleep
s2idle [deep]At this point, I cannot confirm that this solved the problem because now, when I close the lid to suspend or run "systemctl suspend", it appears to suspend but it will not wake up. The only way I've found to wake it" is to hold the start button to re-set the system and then re-boot by clicking it again. Searching for a solution, I found suggestions to add the location of the swap" partition for saving and recovering data for the suspend operation. As you see I have 3 commented out lines trying different syntax attempts; none of which work.
When installing F38, I understood that a swap partition is required for suspend or hibernate and for 12-16 gb of memory, about 10gb is satisfactory. I'm not sure this is correct, nor am I sure that having a swap partition and zram at the same time is proper.
I have run the command journal -b" following a lid closure and re-boot. I've looked for clues toward the end of the file as to what is going on but there are thousands of lines which mean little to me. I see nothing regarding "suspend" in that timeframe. I can provide a copy of as many lines as might be useful to you but I will need some guidance as to what to look for.
I found on this suggestion on this forum from a year ago:
"Briefly, the issue was caused by problems with ASPM resulting in the system not being able to properly wake up the SSD after suspend. To fix, "pcie_aspm=off" was added to the kernel parameters in order to explicitly disable ASPM."
It does not explain how to do this and I would be going blind and dumb to proceed on my own. So, I would like some advice on this before proceeding.
Any advice would be appreciated.