on my laptop CLEVO L141AU 14inch magnesium running LEAP 15.5 KDE Argon
https://en.opensuse.org/SDB:Argon_and_Krypton
with these KDE repositries
https://en.opensuse.org/SDB:KDE_repositories#KDE_Frameworks_5.2C_Plasma_5_and_Applications
when I click on the suspend icon it doesn’t works, it seems to works, the screen become black but after few seconds it appear again in the login screen
how can I have suspend working, which try can I do to help you to help me?
By “suspend” to you mean “hibernate”?
If you are using secure-boot, then that blocks hibernation.
Hi, no, hibernate works, I intend suspend to RAM, the sleep icon, and I think I’m not using secure-boot, how can I verify this?
Try:
mokutil --sb-state
That should tell you whether secure-boot is enabled.
However, I don’t think that affects sleeping (suspend to memory).
It might be a BIOS issue. You could check whether there is a BIOS update available.
NVIDIA card??? in past that was a often a sleep stopper. Desktop?? X or Wayland???
Hi, secure-boot disabled
pla@plaTW:~> mokutil --sb-state
SecureBoot disabled
pla@plaTW:~>
I think X, no wayland, is there a way to verify?
hardware is:
CPU= intel core i5-1335U, Graphics=Intel Iris Xe Graphics
I had this same problem after rebuilding my desktop machine with all new innards. With the same operating system and software, the old system slept and woke up properly. The new system with the same operating system and software would wake immediately from sleep on Opensuse, but behave correctly on Windows.
The problem lies in the file /proc/acpi/wakeup, which on my system (when it works correctly) is:
Device S-state Status Sysfs node
GP12 S4 *enabled pci:0000:00:07.1
GP13 S4 *enabled pci:0000:00:08.1
XHC0 S4 *enabled pci:0000:07:00.3
GP30 S4 *disabled
GP31 S4 *disabled
PS2K S3 *disabled
PS2M S3 *disabled
GPP0 S4 *disabled pci:0000:00:01.1
GPP8 S4 *enabled pci:0000:00:03.1
PTXH S4 *enabled pci:0000:02:00.0
PT20 S4 *disabled
PT23 S4 *disabled
PT24 S4 *disabled
PT26 S4 *disabled
PT27 S4 *disabled
PT28 S4 *disabled
PT29 S4 *enabled pci:0000:03:09.0
There are a number of threads on this subject in this forum. They led me to a trial and error hunt for the device that was waking the system immediately. Here, if GPP0 is enabled, the system will not stay asleep. The kicker is, on every reboot, the GPP0 status is switched from disabled to enabled, and the system will not stay asleep. So, after every reboot, I have to remember to do:
howard@HP-oS154:~> su
Password:
HP-oS154:/home/howard # echo GPP0 > /proc/acpi/wakeup
HP-oS154:/home/howard # exit
exit
howard@HP-oS154:~> exit
Some threads mention a script to do that on reboot, but I have not installed it.
There is a lengthy thread at Sometimes often sleep doesn't works, how to investigate? that has additional information.
HTH
Howard
Would be helpful to others to know what the device pci:0000:00:01.1
is.
If one found out which device is causing this, I can provide a service for this running at every reboot:
First, create a file e.g. wakeup-fix.service and paste the code below in there. Replace the RP05 with your device.
# Put the below in /etc/systemd/system/wakeup-fix.service
#
# then do
# sudo systemctl daemon-reload
# sudo systemctl start wakeup-fix
#
# and check on it with
# systemctl status wakeup-fix
#
# then enable it so it starts after boot with
# sudo systemctl enable wakeup-fix
[Unit]
Description=Wakeup FIX
[Service]
ExecStart=/bin/bash -c "echo RP05 >> /proc/acpi/wakeup"
[Install]
WantedBy=multi-user.target
PS. I put the description in the file to remind me what to do.
cat > /etc/tmpfiles.d/fix-suspend.conf << \EOF
w! /proc/acpi/wakeup - - - - RP05
EOF
No service is needed.
howard@HP-oS154:~> sudo lspci
[sudo] password for root:
...
00:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
...
howard@HP-oS154:~>
Nifty. I did
Rebooted and GPP0 shows disabled in wakeup. System does sleep and stay asleep.
Thank you very much,
Howward
lspci
does not need root, but it is much more useful to use lspci -nn
that shows the real PCI IDs in addition to just text representation.
Actually, I got:
howard@HP-oS155:~> lspci -nn
Absolute path to 'lspci' is '/sbin/lspci', so running it may require superuser privileges (eg. root).
howard@HP-oS155:~>
then
howard@HP-oS155:~> sudo lspci -nn
[sudo] password for root:
…
00:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge [1022:1483]
…
howard@HP-oS155:~>
hi and manythanks, as I see I should create a file e.g.
/etc/systemd/system/wakeup-fix.service
with this:
cat > /etc/tmpfiles.d/fix-suspend.conf << \EOF
w! /proc/acpi/wakeup - - - - RP05
EOF
inside
replacing RP05 with something in my /proc/acpi/wakeup list
pla@plaTW:~> cat /proc/acpi/wakeup
Device S-state Status Sysfs node
PEG0 S3 *enabled pci:0000:00:06.0
PEGP S3 *disabled pci:0000:01:00.0
PEG1 S3 *disabled
PEGP S3 *disabled
PEG2 S3 *disabled
PEGP S3 *disabled
XHCI S3 *enabled pci:0000:00:14.0
XDCI S4 *disabled
HDAS S4 *disabled pci:0000:00:1f.3
CNVW S4 *disabled pci:0000:00:14.3
RP01 S4 *disabled
PXSX S4 *disabled
RP02 S4 *disabled
PXSX S4 *disabled
RP03 S4 *disabled
PXSX S4 *disabled
RP04 S4 *disabled
PXSX S4 *disabled
RP05 S4 *disabled
PXSX S4 *disabled
RP06 S4 *enabled pci:0000:00:1c.0
PXSX S4 *disabled pci:0000:2c:00.0
RP07 S4 *disabled
PXSX S4 *disabled
RP08 S4 *disabled
PXSX S4 *disabled
RP09 S4 *disabled
PXSX S4 *disabled
RP10 S4 *disabled
PXSX S4 *disabled
RP11 S4 *disabled
PXSX S4 *disabled
RP12 S4 *disabled
PXSX S4 *disabled
RP13 S4 *disabled
PXSX S4 *disabled
RP14 S4 *disabled
PXSX S4 *disabled
RP15 S4 *disabled
PXSX S4 *disabled
RP16 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
TXHC S4 *enabled pci:0000:00:0d.0
TDM0 S4 *enabled pci:0000:00:0d.2
TDM1 S4 *disabled
TRP0 S4 *enabled pci:0000:00:07.0
PXSX S4 *disabled
TRP1 S4 *disabled
PXSX S4 *disabled
TRP2 S4 *disabled
PXSX S4 *disabled
TRP3 S4 *disabled
PXSX S4 *disabled
AWAC S4 *disabled
PWRB S3 *enabled platform:PNP0C0C:00
SLPB S3 *enabled platform:PNP0C0E:00
LID0 S3 *enabled platform:PNP0C0D:00
pla@plaTW:~>
could you help me on what I have to put in the code if RP05 or other?
and execute it on every boot (I suppose it should be executed automatically becouse it is in /etc/systemd/system/)
is it correct?
if it is useful my lspci is this:
pla@plaTW:~> lspci -nn
Absolute path to 'lspci' is '/sbin/lspci', so running it may require superuser privileges (eg. root).
pla@plaTW:~> sudo lspci -nn
[sudo] password for root:
00:00.0 Host bridge [0600]: Intel Corporation Device [8086:a708] (rev 01)
00:02.0 VGA compatible controller [0300]: Intel Corporation Raptor Lake-P [Iris Xe Graphics] [8086:a7a1] (rev 04)
00:04.0 Signal processing controller [1180]: Intel Corporation Device [8086:a71d] (rev 01)
00:06.0 PCI bridge [0604]: Intel Corporation Device [8086:a74d] (rev 01)
00:07.0 PCI bridge [0604]: Intel Corporation Device [8086:a76e] (rev 01)
00:08.0 System peripheral [0880]: Intel Corporation GNA Scoring Accelerator module [8086:a74f] (rev 01)
00:0a.0 Signal processing controller [1180]: Intel Corporation Device [8086:a77d] (rev 01)
00:0d.0 USB controller [0c03]: Intel Corporation Device [8086:a71e] (rev 01)
00:0d.2 USB controller [0c03]: Intel Corporation Device [8086:a73e] (rev 01)
00:14.0 USB controller [0c03]: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller [8086:51ed] (rev 01)
00:14.2 RAM memory [0500]: Intel Corporation Alder Lake PCH Shared SRAM [8086:51ef] (rev 01)
00:14.3 Network controller [0280]: Intel Corporation Device [8086:51f1] (rev 01)
00:15.0 Serial bus controller [0c80]: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 [8086:51e8] (rev 01)
00:15.1 Serial bus controller [0c80]: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 [8086:51e9] (rev 01)
00:16.0 Communication controller [0780]: Intel Corporation Alder Lake PCH HECI Controller [8086:51e0] (rev 01)
00:1c.0 PCI bridge [0604]: Intel Corporation Device [8086:51bd] (rev 01)
00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:519d] (rev 01)
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:51ca] (rev 01)
00:1f.4 SMBus [0c05]: Intel Corporation Alder Lake PCH-P SMBus Host Controller [8086:51a3] (rev 01)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Alder Lake-P PCH SPI Controller [8086:51a4] (rev 01)
01:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO [144d:a80a]
2c:00.0 SD Host controller [0805]: O2 Micro, Inc. SD/MMC Card Reader Controller [1217:8621] (rev 01)
pla@plaTW:~>
No. It is your system, only you can test which device prevents suspend (if any).
As I recall, it was trial and error to find the troublesome device.
As root do:
echo XXXX > /proc/acpi/wakeup
one at a time changing XXXX for enabled devices, then test sleep.
As a guess, I’d start with TRP0. If there is no change, do echo XXXX > /proc/acpi/wakeup
again for the same device to enable it before going to the next device.
ok, manythanks, I will do it.
to start what I should privilege:
the enabled ones?
the TRPxx ones?
how can I know which device is the for example “TRP0 S4 *enabled pci:0000:00:07.0”?
I tried with all the enabled
pla@plaTW:~> echo TRP0 > /proc/acpi/wakeup
bash: /proc/acpi/wakeup: Permission denied
pla@plaTW:~> su
Password:
plaTW:/home/pla # echo TRP0 > /proc/acpi/wakeup
plaTW:/home/pla # echo TRP0 > /proc/acpi/wakeup
plaTW:/home/pla # echo PEG0 > /proc/acpi/wakeup
plaTW:/home/pla # echo PEG0 > /proc/acpi/wakeup
plaTW:/home/pla # echo XHCI > /proc/acpi/wakeup
plaTW:/home/pla # echo XHCI > /proc/acpi/wakeup
plaTW:/home/pla # echo RP06 > /proc/acpi/wakeup
plaTW:/home/pla # echo RP06 > /proc/acpi/wakeup
plaTW:/home/pla # echo TXHC > /proc/acpi/wakeup
plaTW:/home/pla # echo TXHC > /proc/acpi/wakeup
plaTW:/home/pla # echo TDM0 > /proc/acpi/wakeup
plaTW:/home/pla # echo TDM0 > /proc/acpi/wakeup
plaTW:/home/pla # echo TWRB > /proc/acpi/wakeup
plaTW:/home/pla # echo PWRB > /proc/acpi/wakeup
plaTW:/home/pla # echo PWRB > /proc/acpi/wakeup
plaTW:/home/pla # echo SLPB > /proc/acpi/wakeup
plaTW:/home/pla # echo SLPB > /proc/acpi/wakeup
plaTW:/home/pla # echo LID0 > /proc/acpi/wakeup
plaTW:/home/pla # echo LID0 > /proc/acpi/wakeup
plaTW:/home/pla #
after each command I checked in:
pla@plaTW:~> cat /proc/acpi/wakeup
if the device resulted disabled
then tested sleep
then after reenabled I checked if the device resulted enabled
but sleep doesnt works.
have I to do something other ?
test also for disabled devices?