Suspend fails on Ryzen 4700U Notebook (Clevo NL50RU)
I try to get S0ix working on the Clevo NL50RU, which does not offer a S3 fallback option. However it doesn't fully suspend: The fan keeps spinning while the power LED goes from permanently on to blinking, like it is suspended. From this state I can't wake the PC up anymore: Tried internal and external keyboard, mouse, power-button, sleep-button and rtcwake timer.
When I boot the PC with no gpu utilization in getty only mode, meaning "nomodeset" as boot parameter and nothing that starts an xserver, the behaviour changes. Here the fan still keeps spinning when going into suspend. The led also goes into blinking mode, but I now can wake the pc up again. The led however stays in the blinking mode. So some part of the mainboard still didn't get the wakeup call. I can suspend and wakeup again fter this with the same effect. dmesg output: dmesg_1.07.08_5.11_nomodeset_no_xserver_bootdmesg_1.07.08_5.11_nomodeset_no_xserver_suspend_resume_1dmesg_1.07.08_5.11_nomodeset_no_xserver_suspend_resume_2
I currently run the latest BIOS available from Clevo (1.07.08). ACPI dump is attached: ACPI_Dump_1.07.08.zip and tried Kernel 5.4, 5.11 (both from Ubuntu), and 5.15-rc2 (Self compiled).
This BIOS version also also another issue that might or might not be related: amd_iommu is not functional for the integrated Vega GPU. The output will freeze during boot if I'm not in the no gpu mode described above or have set "amd_iommu=off" as a boot parameter. Kombining both doesn'T solve the problem either (corresponding dmesg: dmesg_1.07.08_5.11_nomodeset_no_xserver_amd_iommu_off_suspend_resume). This issue was not present in BIOS version 1.07.04 or earlier and does not occur with Linux Kernel 5.4 (from the Ubuntu repos) on 1.07.08. But since this is workaroundable I want to first concentrate on the S0ix issue.
I allready tried this debugging guide in the hopes of finding the breaking component: https://www.kernel.org/doc/html/v5.15-rc3/power/s2ram.html
$ cat /sys/power/mem_sleep
[s2idle]
$ echo 1 | sudo tee /sys/power/pm_trace
$ dmesg -w > dmesg_1.07.08_5.11_pm_trace_before_seep &
-> pluged in external keyboard at this point as seen in the dmesg
$ echo mem | sudo tee /sys/power/state
-> Could not wakeup with power button, internal keboard, external keyboard, or mouse
-> I also tried with /sys/class/rtc/rtc0/wakealarm (not on this recorded session), which also didn't wakeup the device
-> After hardreset and boot:
$ dmesg > dmesg_1.07.08._5.11_pm_trace_after_hard_reset
-> pm_trace output:
-> [ 2.238194] PM: Magic number: 0:302:178
-> [ 2.238196] PM: hash matches drivers/base/power/main.c:1258
-> [ 2.238238] acpi PNP0C02:0b: hash matches
-> [ 2.238250] acpi device:0e: hash matches
-> [ 2.238265] platform: hash matches
$ cat /sys/power/pm_trace_dev_match
acpi
acpi
dmesg_1.07.08_5.11_pm_trace_before_seepdmesg_1.07.08._5.11_pm_trace_after_hard_reset
However I can't really find what PNP0C02:0b: and device:0e: actually is.