Systemctl suspend fails on laptop

Context Hello, I’ve recently installed endeavor on my msi gl62m7rex laptop (specs and details below). I’ve noticed when I close the laptop lid the screen turns off, however when I open it back up there is no login screen and I can continue using the system like I never closed it. The problem is that as a power hog, I can’t leave it closed for long in my bag because nothing actually stops so it gets hot and drains the battery. When I force ‘’‘$systemctl suspend’‘’ the screen turns off for a few seconds then flashes and comes back. Journalctl shows these errors

nvidia 0000:01:00.0: PM: pci_pm_suspend(): nv_pmops_suspend+0x0/0xf0 [nvidia] returns -5
nvidia 0000:01:00.0: PM: dpm_run_callback(): pci_pm_suspend+0x0/0x1c0 returns -5
nvidia 0000:01:00.0: PM: failed to suspend async: error -5
PM: Some devices failed to suspend, or early wake event detected
usb 1-7: PM: dpm_run_callback(): usb_dev_resume+0x0/0x20 returns -5
usb 1-7: PM: failed to resume async: error -5
gt683r_led 0003:1770:FF00.0008: failed to send set report request: -19
Failed to put system to sleep. System resumed again: Input/output error
Failed to start System Suspend.
suspend.target: Job suspend.target/start failed with result ‘dependency’.‘’’

Problem Can’t suspend using systemctl or gnome tweaks

Details My first move was to edit /etc/systemd/sleep.conf as shown here

[Sleep]
AllowSuspend=yes
AllowHibernation=yes
AllowSuspendThenHibernate=yes
AllowHybridSleep=yes
SuspendMode=suspend
SuspendState=mem
HibernateMode=mem
HibernateState=disk
HybridSleepMode=suspend
HybridSleepState=disk
HibernateDelaySec=1min
SuspendEstimationSec=1min

I’ve tried a few different combinations, pacman updating and rebooting in between and nothing has changed. I am using gnome and on my previous install of mint i used gnome tweaks with the “suspend when laptop lid is closed” option but that did nothing for me now.

Any thoughts or help would be greatly appreciated, I put in the errors I thought were most important but if there are any other logs needed I can definitely send them.

EDIT: I picked out just the red errors from journalctl because of the sheer amount of logging that’s present I thought it would be too much, if I was wrong I can send the entire thing from that timeframe

Hardware

System:
Kernel: 6.2.9-zen1-1-zen arch: x86_64 bits: 64 Desktop: GNOME v: 43.4
Distro: EndeavourOS
Machine:
Type: Laptop System: Micro-Star product: GL62M 7REX v: REV:1.0
serial:
Mobo: Micro-Star model: MS-16J9 v: REV:1.0 serial:
UEFI: American Megatrends v: E16J9IMS.31C date: 10/24/2017
Battery:
ID-1: BAT1 charge: 29.6 Wh (75.1%) condition: 39.4/42.4 Wh (92.9%)
CPU:
Info: quad core model: Intel Core i7-7700HQ bits: 64 type: MT MCP cache:
L2: 1024 KiB
Speed (MHz): avg: 2562 min/max: 800/3800 cores: 1: 2800 2: 2800 3: 2800
4: 2800 5: 2800 6: 900 7: 2800 8: 2800
Graphics:
Device-1: Intel HD Graphics 630 driver: i915 v: kernel
Device-2: NVIDIA GP107M [GeForce GTX 1050 Ti Mobile] driver: nvidia
v: 530.41.03
Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.1.1 driver: X:
loaded: modesetting,nvidia dri: iris gpu: i915 resolution: 1920x1080~60Hz
API: OpenGL v: 4.6 Mesa 23.0.1 renderer: Mesa Intel HD Graphics 630 (KBL
GT2)
Audio:
Device-1: Intel CM238 HD Audio driver: snd_hda_intel
API: ALSA v: k6.2.9-zen1-1-zen status: kernel-api
Server-1: PipeWire v: 0.3.67 status: active
Network:
Device-1: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi
IF: wlan0 state: up mac: 40:a3:cc:72:df:3f
Device-2: Qualcomm Atheros QCA8171 Gigabit Ethernet driver: alx
IF: enp3s0 state: down mac: 30:9c:23:18:57:06
Bluetooth:
Device-1: Intel Wireless-AC 3168 Bluetooth type: USB driver: btusb
Report: rfkill ID: hci0 rfk-id: 1 state: down bt-service: disabled
rfk-block: hardware: no software: no address: see --recommends
Drives:
Local Storage: total: 1.03 TiB used: 15.28 GiB (1.5%)
ID-1: /dev/nvme0n1 vendor: Samsung model: MZVLW128HEGR-00000
size: 119.24 GiB
ID-2: /dev/sda vendor: HGST (Hitachi) model: HTS541010B7E610
size: 931.51 GiB
Partition:
ID-1: / size: 109.46 GiB used: 15.28 GiB (14.0%) fs: btrfs
dev: /dev/nvme0n1p2
ID-2: /boot/efi size: 998 MiB used: 608 KiB (0.1%) fs: vfat
dev: /dev/nvme0n1p1
ID-3: /home size: 109.46 GiB used: 15.28 GiB (14.0%) fs: btrfs
dev: /dev/nvme0n1p2
ID-4: /var/log size: 109.46 GiB used: 15.28 GiB (14.0%) fs: btrfs
dev: /dev/nvme0n1p2
Swap:
ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%)
dev: /dev/nvme0n1p3
Sensors:
System Temperatures: cpu: 42.0 C pch: 50.5 C mobo: N/A
Fan Speeds (RPM): N/A
Info:
Processes: 285 Uptime: 48m Memory: 7.68 GiB used: 4.03 GiB (52.5%)
Shell: Bash inxi: 3.3.26

please post output of

cat /sys/power/mem_sleep

I assume your issue is related to USB :wink:

Do you have a USB mouse? If yes, it might be the reason why your PC is waking up immediately when you move the mouse.

What is the output of cat /proc/acpi/wakeup

See here for more details:
https://wiki.archlinux.org/title/Power_management/Wakeup_triggers

cat /sys/power/mem_sleep shows this output:

s2idle [deep]

do have a wireless usb mouse but the issue persists even with the dongle unplugged and after a restart. Here is the output of cat /proc/acpi/wakeup

Device S-state Status Sysfs node
PEG0 S4 *enabled pci:0000:00:01.0
PEGP S4 *disabled pci:0000:01:00.0
PEG1 S4 *disabled
PEGP S4 *disabled
PEG2 S4 *disabled
PEGP S4 *disabled
RP09 S4 *enabled pci:0000:00:1d.0
PXSX S4 *disabled pci:0000:04:00.0
RP10 S4 *disabled
PXSX S4 *disabled
RP11 S4 *disabled
PXSX S4 *disabled
RP12 S4 *disabled
PXSX S4 *disabled
RP13 S4 *disabled
PXSX S4 *disabled
RP01 S4 *enabled pci:0000:00:1c.0
PXSX S4 *disabled pci:0000:02:00.0
RP02 S4 *disabled
PXSX S4 *disabled
RP03 S4 *disabled
PXSX S4 *disabled
RP04 S4 *enabled pci:0000:00:1c.3
PXSX S4 *disabled pci:0000:03:00.0
RP05 S4 *disabled
PXSX S4 *disabled
RP06 S4 *disabled
PXSX S4 *disabled
RP07 S4 *disabled
PXSX S4 *disabled
RP08 S4 *disabled
PXSX S4 *disabled
RP17 S4 *disabled
PXSX S4 *disabled
RP18 S4 *disabled
PXSX S4 *disabled
RP19 S4 *disabled
PXSX S4 *disabled
RP20 S4 *disabled
PXSX S4 *disabled
RP21 S4 *disabled
PXSX S4 *disabled
RP22 S4 *disabled
PXSX S4 *disabled
RP23 S4 *disabled
PXSX S4 *disabled
RP24 S4 *disabled
PXSX S4 *disabled
RP14 S4 *disabled
PXSX S4 *disabled
RP15 S4 *disabled
PXSX S4 *disabled
RP16 S4 *disabled
PXSX S4 *disabled
LID0 S3 *enabled platform:PNP0C0D:00
GLAN S4 *disabled
XHC S3 *enabled pci:0000:00:14.0
XDCI S4 *disabled
HDAS S4 *disabled pci:0000:00:1f.3

Looking at lspci it seems as though my processor, lid, and USB could all be the problem

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 05)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04)
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)
00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)
00:17.0 SATA controller: Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #1 (rev f1)
00:1c.3 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #4 (rev f1)
00:1d.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation HM175 Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] (rev a1)
02:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10)
03:00.0 Ethernet controller: Qualcomm Atheros QCA8171 Gigabit Ethernet (rev 10)
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961/SM963

Would it be enough to edit /proc/acpi/wakeup to replace *enabled with *disabled on all but the lid? Thanks!

check this:

https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate

relevant part to try:

In some opposite situations, faulty firmware advertises support for deep sleep, while only s2idle should be supported. In this case, an alternative method for using s2idle is available through the SuspendState in sleep.conf.d(5):

/etc/systemd/sleep.conf.d/freeze.conf

[Sleep]
SuspendState=freeze

Tried this but nothing happens, to be clear I made a new directory in systemd named sleep.conf.d and added the file freeze.conf into that directory. Freeze.conf includes…

[Sleep] SuspendState=freeze

I believe it might have to do with my 1050 ti because those errors are still present, with the addition of these…

Systemctl suspend

Apr 06 12:32:47 silverback-gl62m7rex systemd[1]: Reached target Sleep.
Apr 06 12:32:48 silverback-gl62m7rex systemd[1]: Starting System Suspend…
Apr 06 12:32:48 silverback-gl62m7rex systemd-sleep[6933]: /etc/systemd/sleep.conf.d/freeze.conf:1: Invalid section header ‘[Sleep] SususpendState=freeze’
Apr 06 12:32:48 silverback-gl62m7rex systemd-sleep[6933]: /etc/systemd/sleep.conf.d/freeze.conf:1: Failed to parse file: Bad message

After this chunk of errors, they continue similar to the ones shown in my original post… Am I doing something wrong with freeze.conf?

sorry my bad.it should be like this:

[Sleep]
SuspendState=freeze

1 Like

It worked! I’m not sure if adding freeze.conf did anything, but at the same time I found this link https://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/powermanagement.html
and used the relevant commands listed to enable my video card to suspend itself.

The NVIDIA systemd services then need to be enabled:

sudo systemctl enable nvidia-suspend.service

sudo systemctl enable nvidia-hibernate.service

sudo systemctl enable nvidia-resume.service

After that my laptop correctly suspends!!! Thank you for the advice. But now my cpu shows its stuck at 2.80 GHz even at 7-8% load, and the cpufreq gnome shell extensions says its throttling even though temps are low and 3 firefox tabs are open, I will do some more testing and reply if I can’t find a fix. Thank you again for all your help :slight_smile:.

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.