View previous topic :: View next topic |
Author |
Message |
AprilGrimoire n00b
Joined: 05 Jun 2020 Posts: 57
|
Posted: Wed Sep 18, 2024 4:57 am Post subject: Cannot figuring out the event causing wakeup |
|
|
Hi! I'm using Gentoo on a Laptop. However, after suspending, sometimes it wakes up unexpectedly. I found that closing and opening the lid seems to cause wakeups. My lid isn't recognized as a lid, so modifying systemd config didn't work:
Code: |
➜ ~ cat /proc/acpi/wakeup
Device S-state Status Sysfs node
GP11 S4 *disabled
SWUS S4 *disabled
GP12 S4 *disabled
SWUS S4 *disabled
XHC0 S4 *enabled pci:0000:07:00.3
XHC1 S4 *enabled pci:0000:07:00.4
XHC2 S4 *disabled pci:0000:09:00.0
XHC3 S4 *enabled pci:0000:09:00.3
XHC4 S4 *enabled pci:0000:09:00.4
NHI0 S4 *disabled
NHI1 S4 *disabled
GPP5 S0 *enabled pci:0000:00:02.1
GPP6 S0 *enabled pci:0000:00:02.2
GPP0 S4 *enabled pci:0000:00:01.1
|
In dmesg, while I already have detailed logging enabled
Code: |
➜ ~ cat /proc/cmdline
BOOT_IMAGE=/kernel-6.10.9-gentoo root=/dev/mapper/vg0-gentoo--rootvol ro root=UUID=778ffb43-269a-4ac3-8786-ccddcfbe8140 rd.luks.uuid=b02398b6-9c80-4ea2-a188-76d6c3fc2a3b rd.luks.uuid=188c0d5e-4344-42cd-9b99-b9a581fab427 rd.luks.options=discard,cache_keyring rd.lvm.vg=vg0 atkbd.reset iommu=pt amd_iommu=on pcie_acs_override=downstream,multifunction acpi.debug_layer=0x00200000 acpi.debug_level=0x02 loglevel=8
|
I only see some generic info, without detail of what event from what device triggered the wakeup:
Code: |
[ 106.026829] PM: suspend entry (s2idle)
[ 106.102622] Filesystems sync: 0.075 seconds
[ 106.321886] rfkill: input handler enabled
[ 106.340423] Loading firmware: rtl_nic/rtl8168h-2.fw
[ 106.340440] Loading firmware: mediatek/WIFI_RAM_CODE_MT7922_1.bin
[ 106.340447] Loading firmware: mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin
[ 106.340448] Loading firmware: amdgpu/psp_13_0_4_toc.bin
[ 106.340455] Loading firmware: amdgpu/psp_13_0_4_ta.bin
[ 106.340464] Loading firmware: amdgpu/gc_11_0_1_pfp.bin
[ 106.340463] Loading firmware: amdgpu/dcn_3_1_4_dmcub.bin
[ 106.340468] Loading firmware: amdgpu/gc_11_0_1_me.bin
[ 106.340473] Loading firmware: amdgpu/gc_11_0_1_mec.bin
[ 106.340473] Loading firmware: amdgpu/gc_11_0_1_imu.bin
[ 106.340472] Loading firmware: amdgpu/gc_11_0_1_rlc.bin
[ 106.340476] Loading firmware: amdgpu/sdma_6_0_1.bin
[ 106.340477] Loading firmware: amdgpu/vcn_4_0_2.bin
[ 106.340481] Loading firmware: amdgpu/gc_11_0_1_mes1.bin
[ 106.340480] Loading firmware: amdgpu/gc_11_0_1_mes_2.bin
[ 106.340783] Freezing user space processes
[ 106.342972] Freezing user space processes completed (elapsed 0.002 seconds)
[ 106.342996] OOM killer disabled.
[ 106.343005] Freezing remaining freezable tasks
[ 106.344256] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[ 106.344267] printk: Suspending console(s) (use no_console_suspend to debug)
[ 106.355092] queueing ieee80211 work while going to suspend
[ 106.473306] ACPI: EC: interrupt blocked
[ 113.657838] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.ACDC.RTAC], AE_NOT_FOUND (20240322/psargs-330)
[ 113.657847] ACPI Error: Aborting method \_SB.PEP._DSM due to previous error (AE_NOT_FOUND) (20240322/psparse-529)
[ 113.658037] ACPI: EC: interrupt unblocked
[ 114.549804] [drm] PCIE GART of 512M enabled (table at 0x000000801FD00000).
[ 114.549846] amdgpu 0000:07:00.0: amdgpu: SMU is resuming...
[ 114.551256] nvme nvme0: 16/0/0 default/read/poll queues
[ 114.552983] amdgpu 0000:07:00.0: amdgpu: SMU is resumed successfully!
[ 114.570742] nvme nvme1: 16/0/0 default/read/poll queues
[ 114.821688] amdgpu 0000:07:00.0: [drm:jpeg_v4_0_hw_init [amdgpu]] JPEG decode initialized successfully.
[ 114.821901] amdgpu 0000:07:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[ 114.821904] amdgpu 0000:07:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[ 114.821905] amdgpu 0000:07:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[ 114.821906] amdgpu 0000:07:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[ 114.821907] amdgpu 0000:07:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[ 114.821908] amdgpu 0000:07:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[ 114.821909] amdgpu 0000:07:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[ 114.821910] amdgpu 0000:07:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[ 114.821911] amdgpu 0000:07:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[ 114.821912] amdgpu 0000:07:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[ 114.821914] amdgpu 0000:07:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
[ 114.821915] amdgpu 0000:07:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
[ 114.821916] amdgpu 0000:07:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 13 on hub 0
[ 114.854754] [drm] ring gfx_32771.1.1 was added
[ 114.855956] [drm] ring compute_32771.2.2 was added
[ 114.857134] [drm] ring sdma_32771.3.3 was added
[ 114.857202] [drm] ring gfx_32771.1.1 ib test pass
[ 114.857280] [drm] ring compute_32771.2.2 ib test pass
[ 114.857401] [drm] ring sdma_32771.3.3 ib test pass
[ 114.862886] OOM killer enabled.
[ 114.862892] Restarting tasks ... done.
[ 114.864757] random: crng reseeded on system resumption
[ 114.866692] PM: suspend exit
|
How can I track down the issue? Thanks! |
|
Back to top |
|
|
pjp Administrator
Joined: 16 Apr 2002 Posts: 20372
|
Posted: Wed Sep 18, 2024 5:59 pm Post subject: |
|
|
Do you have kernel support for ACPI and related features?
For example, I can see this on my laptop: Code: | $ grep . /sys/bus/acpi/drivers/button/*:00/input/input*/name
/sys/bus/acpi/drivers/button/LNXPWRBN:00/input/input2/name:Power Button
/sys/bus/acpi/drivers/button/PNP0C0D:00/input/input1/name:Lid Switch
/sys/bus/acpi/drivers/button/PNP0C0E:00/input/input0/name:Sleep Button |
Sleep states were also messed with at the hardware level some time ago. If I recall correctly, newer hardware only supports some sort of sleep state, not hibernation. I believe this keeps the management engines of the processor running, so there's a chance it might not be an event that you can block. _________________ Quis separabit? Quo animo? |
|
Back to top |
|
|
AprilGrimoire n00b
Joined: 05 Jun 2020 Posts: 57
|
Posted: Wed Sep 18, 2024 6:15 pm Post subject: |
|
|
pjp wrote: | Do you have kernel support for ACPI and related features?
For example, I can see this on my laptop: Code: | $ grep . /sys/bus/acpi/drivers/button/*:00/input/input*/name
/sys/bus/acpi/drivers/button/LNXPWRBN:00/input/input2/name:Power Button
/sys/bus/acpi/drivers/button/PNP0C0D:00/input/input1/name:Lid Switch
/sys/bus/acpi/drivers/button/PNP0C0E:00/input/input0/name:Sleep Button |
Sleep states were also messed with at the hardware level some time ago. If I recall correctly, newer hardware only supports some sort of sleep state, not hibernation. I believe this keeps the management engines of the processor running, so there's a chance it might not be an event that you can block. |
Yes, I do have ACPI support enabled.
Code: |
➜ ~ grep . /sys/bus/acpi/drivers/button/*:00/input/input*/name
/sys/bus/acpi/drivers/button/PNP0C0C:00/input/input0/name:Power Button
/sys/bus/acpi/drivers/button/PNP0C0D:00/input/input2/name:Lid Switch
/sys/bus/acpi/drivers/button/PNP0C0E:00/input/input1/name:Sleep Button
|
|
|
Back to top |
|
|
pjp Administrator
Joined: 16 Apr 2002 Posts: 20372
|
Posted: Wed Sep 18, 2024 10:22 pm Post subject: |
|
|
I don't know what systemd does, but since Linux can see the hardware, it seems like it should be configurable. If I didn't misunderstand, systemd subsumed udev, so I wonder if a udev rule could be created. That is if it isn't something else causing the state change. _________________ Quis separabit? Quo animo? |
|
Back to top |
|
|
AprilGrimoire n00b
Joined: 05 Jun 2020 Posts: 57
|
Posted: Thu Sep 19, 2024 12:30 am Post subject: |
|
|
pjp wrote: | I don't know what systemd does, but since Linux can see the hardware, it seems like it should be configurable. If I didn't misunderstand, systemd subsumed udev, so I wonder if a udev rule could be created. That is if it isn't something else causing the state change. |
Yeah, I'm considering if I can confirm the event causing wakeup first before configuring. |
|
Back to top |
|
|
AprilGrimoire n00b
Joined: 05 Jun 2020 Posts: 57
|
Posted: Thu Sep 19, 2024 12:43 am Post subject: |
|
|
pjp wrote: | I don't know what systemd does, but since Linux can see the hardware, it seems like it should be configurable. If I didn't misunderstand, systemd subsumed udev, so I wonder if a udev rule could be created. That is if it isn't something else causing the state change. |
Code: |
➜ ~ grep . /sys/bus/acpi/drivers/button/*/power/wakeup
/sys/bus/acpi/drivers/button/PNP0C0C:00/power/wakeup:disabled
/sys/bus/acpi/drivers/button/PNP0C0D:00/power/wakeup:disabled
/sys/bus/acpi/drivers/button/PNP0C0E:00/power/wakeup:disabled
|
I think I've disabled all of them, however it is still not working. |
|
Back to top |
|
|
pjp Administrator
Joined: 16 Apr 2002 Posts: 20372
|
Posted: Thu Sep 19, 2024 2:25 am Post subject: |
|
|
I presume you've tried searching for anything related to your specific laptop.
The only other thing that comes to mind would be something in the BIOS.
Quote: | Code: | [ 113.657838] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.ACDC.RTAC], AE_NOT_FOUND (20240322/psargs-330) |
| I didn't find much on that earlier other than there being no official Linux support. I wonder if there might be other parts of the system which are unsupported or at least not supported well. _________________ Quis separabit? Quo animo? |
|
Back to top |
|
|
AprilGrimoire n00b
Joined: 05 Jun 2020 Posts: 57
|
Posted: Thu Sep 19, 2024 2:17 pm Post subject: |
|
|
pjp wrote: | I presume you've tried searching for anything related to your specific laptop.
The only other thing that comes to mind would be something in the BIOS.
Quote: | Code: | [ 113.657838] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.ACDC.RTAC], AE_NOT_FOUND (20240322/psargs-330) |
| I didn't find much on that earlier other than there being no official Linux support. I wonder if there might be other parts of the system which are unsupported or at least not supported well. |
I'm confused. In order for Linux to enter suspension, it needs to react to some kind of signal, which should be logged in any case. |
|
Back to top |
|
|
|