Laptop does not suspend

On doing sudo systemctl suspend the screen goes black then wakes up immediately.
dmesg

[  404.821728] PM: suspend entry (s2idle)
[  404.839580] Filesystems sync: 0.017 seconds
[  404.841120] Freezing user space processes
[  404.847067] Freezing user space processes completed (elapsed 0.005 seconds)
[  404.847074] OOM killer disabled.
[  404.847076] Freezing remaining freezable tasks
[  404.848306] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[  404.848309] printk: Suspending console(s) (use no_console_suspend to debug)
[  404.880622] sd 2:0:0:0: [sda] Synchronizing SCSI cache
[  404.883904] atkbd serio0: Disabling IRQ1 wakeup source to avoid platform firmware bug
[  406.135871] ACPI: EC: interrupt blocked
[  406.294296] dell_wmi: Unknown key with type 0x0010 and code 0x0140 pressed
[  406.294302] dell_wmi: Invalid length of WMI event
[  406.299232] dell_wmi: Unknown key with type 0x0010 and code 0x0140 pressed
[  406.299234] dell_wmi: Invalid length of WMI event
[  407.103194] ACPI: EC: interrupt unblocked
[  407.117251] dell_wmi: Unknown key with type 0x0010 and code 0x0130 pressed
[  407.117254] dell_wmi: Invalid length of WMI event
[  407.444883] pci 0000:00:00.2: can't derive routing for PCI INT A
[  407.444889] pci 0000:00:00.2: PCI INT A: no GSI
[  407.446053] [drm] PCIE GART of 1024M enabled.
[  407.446059] [drm] PTB located at 0x000000F417C00000
[  407.446086] amdgpu 0000:04:00.0: amdgpu: SMU is resuming...
[  407.447625] amdgpu 0000:04:00.0: amdgpu: dpm has been disabled
[  407.448674] amdgpu 0000:04:00.0: amdgpu: SMU is resumed successfully!
[  407.491184] [drm] VCN decode and encode initialized successfully(under DPG Mode).
[  407.491597] [drm] JPEG decode initialized successfully.
[  407.491601] amdgpu 0000:04:00.0: amdgpu: ring gfx uses VM inv eng 0 on hub 0
[  407.491604] amdgpu 0000:04:00.0: amdgpu: ring gfx_low uses VM inv eng 1 on hub 0
[  407.491606] amdgpu 0000:04:00.0: amdgpu: ring gfx_high uses VM inv eng 4 on hub 0
[  407.491608] amdgpu 0000:04:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 5 on hub 0
[  407.491610] amdgpu 0000:04:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 6 on hub 0
[  407.491612] amdgpu 0000:04:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 7 on hub 0
[  407.491613] amdgpu 0000:04:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 8 on hub 0
[  407.491615] amdgpu 0000:04:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 9 on hub 0
[  407.491616] amdgpu 0000:04:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 10 on hub 0
[  407.491618] amdgpu 0000:04:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 11 on hub 0
[  407.491619] amdgpu 0000:04:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 12 on hub 0
[  407.491621] amdgpu 0000:04:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 13 on hub 0
[  407.491623] amdgpu 0000:04:00.0: amdgpu: ring sdma0 uses VM inv eng 0 on hub 8
[  407.491624] amdgpu 0000:04:00.0: amdgpu: ring vcn_dec uses VM inv eng 1 on hub 8
[  407.491626] amdgpu 0000:04:00.0: amdgpu: ring vcn_enc0 uses VM inv eng 4 on hub 8
[  407.491627] amdgpu 0000:04:00.0: amdgpu: ring vcn_enc1 uses VM inv eng 5 on hub 8
[  407.491629] amdgpu 0000:04:00.0: amdgpu: ring jpeg_dec uses VM inv eng 6 on hub 8
[  407.605402] nvme nvme0: 16/0/0 default/read/poll queues
[  407.755838] ata2: SATA link down (SStatus 0 SControl 300)
[  407.757612] ata1: SATA link down (SStatus 0 SControl 300)
[  407.962073] OOM killer enabled.
[  407.962076] Restarting tasks ... done.
[  407.963777] random: crng reseeded on system resumption
[  407.965728] PM: suspend exit

inxi --full -xxx

System:
  Host: g15 Kernel: 6.6.8-2-MANJARO arch: x86_64 bits: 64 compiler: gcc
    v: 13.2.1 clocksource: tsc Desktop: KDE Plasma v: 5.27.10 tk: Qt v: 5.15.11
    wm: kwin_x11 dm: SDDM Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: Dell product: Dell G15 5515 v: 1.9.0 serial: 
    Chassis: type: 10 v: 1.9.0 serial: 
  Mobo: Dell model: 0TGD6F v: A04 serial: 
    UEFI: Dell v: 1.9.0 date: 11/10/2022
Battery:
  ID-1: BAT1 charge: 33.5 Wh (63.1%) condition: 53.1/56.0 Wh (94.7%)
    volts: 11.9 min: 11.4 model: Simplo 0x50,0x39,0x35,0x41,0x0B,0x0A,0x03
    type: Li-ion serial: 000E status: not charging
CPU:
  Info: 6-core model: AMD Ryzen 5 5600H with Radeon Graphics bits: 64
    type: MT MCP smt: enabled arch: Zen 3 rev: 0 cache: L1: 384 KiB L2: 3 MiB
    L3: 16 MiB
  Speed (MHz): avg: 1767 high: 2400 min/max: 400/4280 volts: 1.2 V
    ext-clock: 100 MHz cores: 1: 2013 2: 400 3: 2400 4: 2398 5: 1959 6: 400
    7: 2398 8: 2397 9: 2012 10: 400 11: 2290 12: 2138 bogomips: 79083
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: NVIDIA GA107M [GeForce RTX 3050 Mobile] vendor: Dell
    driver: nvidia v: 545.29.06 arch: Ampere pcie: speed: 8 GT/s lanes: 8
    bus-ID: 01:00.0 chip-ID: 10de:25a2 class-ID: 0300
  Device-2: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series]
    vendor: Dell driver: amdgpu v: kernel arch: GCN-5 pcie: speed: 8 GT/s
    lanes: 16 ports: active: eDP-1 empty: DP-1 bus-ID: 04:00.0
    chip-ID: 1002:1638 class-ID: 0300 temp: 47.0 C
  Device-3: Microdia Integrated_Webcam_HD driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 1-4:3 chip-ID: 0c45:6a09
    class-ID: 0e02
  Display: server: X.Org v: 21.1.10 compositor: kwin_x11 driver: X:
    loaded: amdgpu,nvidia unloaded: modesetting,nouveau alternate: fbdev,nv,vesa
    dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93") monitors: <missing: xrandr>
  Monitor-1: eDP-1 model: BOE Display 0x0a8a res: 1920x1080 dpi: 142
    size: 344x194mm (13.54x7.64") diag: 395mm (15.5") modes: max: 1920x1080
    min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia drv: amd radeonsi platforms: device: 0
    drv: nvidia device: 1 drv: radeonsi device: 3 drv: swrast gbm:
    drv: kms_swrast surfaceless: drv: nvidia x11: drv: radeonsi
    inactive: wayland,device-2
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: amd mesa v: 23.1.9-manjaro1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon Graphics (renoir LLVM
    16.0.6 DRM 3.54 6.6.8-2-MANJARO) device-ID: 1002:1638
  API: Vulkan v: 1.3.274 layers: 1 surfaces: xcb,xlib device: 0
    type: discrete-gpu driver: nvidia device-ID: 10de:25a2 device: 1
    type: integrated-gpu hw: amd driver: mesa radv device-ID: 1002:1638
Audio:
  Device-1: NVIDIA vendor: Dell driver: snd_hda_intel v: kernel pcie:
    speed: 8 GT/s lanes: 8 bus-ID: 01:00.1 chip-ID: 10de:2291 class-ID: 0403
  Device-2: AMD Renoir Radeon High Definition Audio vendor: Dell
    driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16
    bus-ID: 04:00.1 chip-ID: 1002:1637 class-ID: 0403
  Device-3: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Dell
    driver: snd_rn_pci_acp3x v: kernel pcie: speed: 8 GT/s lanes: 16
    bus-ID: 04:00.5 chip-ID: 1022:15e2 class-ID: 0480
  Device-4: AMD Family 17h/19h HD Audio vendor: Dell driver: snd_hda_intel
    v: kernel pcie: speed: 8 GT/s lanes: 16 bus-ID: 04:00.6 chip-ID: 1022:15e3
    class-ID: 0403
  API: ALSA v: k6.6.8-2-MANJARO status: kernel-api with: aoss
    type: oss-emulator
  Server-1: JACK v: 1.9.22 status: off
  Server-2: PipeWire v: 1.0.0 status: n/a (root, process) with:
    1: pipewire-pulse status: active 2: wireplumber status: active
    3: pipewire-alsa type: plugin
Network:
  Device-1: Intel Wi-Fi 6 AX200 vendor: Rivet Networks Killer driver: iwlwifi
    v: kernel pcie: speed: 5 GT/s lanes: 1 bus-ID: 03:00.0 chip-ID: 8086:2723
    class-ID: 0280
  IF: wlp3s0 state: up mac: 50:84:92:b3:25:9a
Bluetooth:
  Device-1: Intel AX200 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 bus-ID: 1-3:4 chip-ID: 8087:0029 class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 2 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: see --recommends
Drives:
  Local Storage: total: 942.7 GiB used: 8.91 GiB (0.9%)
  ID-1: /dev/nvme0n1 vendor: Toshiba model: KBG40ZNS512G NVMe KIOXIA 512GB
    size: 476.94 GiB speed: 31.6 Gb/s lanes: 4 tech: SSD serial: 22EPG2OFQXD3
    fw-rev: 10410106 temp: 32.9 C scheme: GPT
  ID-2: /dev/sda vendor: Western Digital model: WDS500G2B0A-00SM50
    size: 465.76 GiB type: USB rev: 3.2 spd: 5 Gb/s lanes: 1 tech: SSD
    serial: 21374C451301 scheme: GPT
Partition:
  ID-1: / size: 9.75 GiB used: 8.91 GiB (91.4%) fs: ext4 dev: /dev/sda4
  ID-2: /boot/efi size: 1023 MiB used: 308 KiB (0.0%) fs: vfat
    dev: /dev/sda3
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 58.9 C mobo: N/A gpu: amdgpu temp: 48.0 C
  Fan Speeds (rpm): N/A
Info:
  Processes: 328 Uptime: 4m wakeups: 0 Memory: total: 16 GiB note: est.
  available: 15.1 GiB used: 2.62 GiB (17.4%) Init: systemd v: 254
  default: graphical Compilers: gcc: 13.2.1 clang: 16.0.6 Packages: pm: pacman
  pkgs: 1126 Shell: Sudo (sudo) v: 1.9.15p4 default: Bash v: 5.2.21
  running-in: konsole inxi: 3.3.31

sudo dmidecode | grep Wake-up

Wake-up Type: Power Switch

sort /proc/acpi/wakeup | grep -v disabled

Device  S-state   Status   Sysfs node
GP17      S4    *enabled   pci:0000:00:08.1
GPP0      S4    *enabled   pci:0000:00:01.1
GPP1      S4    *enabled   pci:0000:00:01.2

I disabled all wakeups but suspend still doesn’t work.

S2idle works terribly (most of the time not at all) on Ryzens under Linux. Being a Dell, there’s a chance your bios has a switch to “legacy” suspend mode (s3) ; it should work. This is what I had to do to tame my HP Envy : https://forum.manjaro.org/t/putting-an-amd-ryzen-based-hp-x360-envy-13-ar0xxx-into-legacy-s3-suspend-mode/114532
Cheers,
M.

No, the bios doesn’t have such an option.

It seems there is some key press when it goes to autosuspend ? I checked the linux dell wmi driver source, maybe adding these keycodes in ignore list will fix the issue.

It won’t.
You’ll need to edit the acpi tables to fix that, and that is, if it’s even possible. I’ve seen some claims of success on other forums. https://askubuntu.com/questions/1316481/suspend-not-working-dell-i15-5505-ryzen-7

There’s also a generic AMD bios you can boot from a USB key that should allow you to enable S3 mode ; but it may also brick your system if you modify certain parameters unwisely : https://github.com/DavidS95/Smokeless_UMAF
M.

Is there a simple way to enable s3 ? Windows has registry, something similar for linux ?

No. It’s a bios option, and in their recent OEM guidelines, Microsoft dictated S3 was deprecated in favour of S2idle (or S0ix or whatever you want to call it), and that in case a vendor supported their newfangled hare-brained scheme, the computer shouldn’t be able to revert to S3. Most OEMs obliged (HP, Dell etc.), with only a few providing a bios switch between both (Lenovo).
You’re suffering so some hipster can receive their emails with their computer in standby while sipping some overpriced craft beer.
M.

When following the askubuntu thread you linked, I get this error when decompiling dsdt

iasl -e *.dat -d dsdt.dat

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20220331
Copyright (c) 2000 - 2022 Intel Corporation

File appears to be binary: found 18280 non-ASCII characters, disassembling
Binary file appears to be a valid ACPI table, disassembling
Input file dsdt.dat, Length 0xBB29 (47913) bytes
ACPI: DSDT 0x0000000000000000 00BB29 (v01 DELL   CL09     00000002 ASL  01000013)
External object resolution file         vfct.dat
Input file vfct.dat, Length 0xD884 (55428) bytes
    vfct.dat: Table [VFCT] is not an AML table - ignoring
External object resolution file         uefi.dat
Input file uefi.dat, Length 0x236 (566) bytes
    uefi.dat: Table [UEFI] is not an AML table - ignoring
External object resolution file         tpm2.dat
Input file tpm2.dat, Length 0x4C (76) bytes
    tpm2.dat: Table [TPM2] is not an AML table - ignoring
External object resolution file        ssdt9.dat
Input file ssdt9.dat, Length 0x2FA9 (12201) bytes
ACPI: SSDT 0x0000000000000000 002FA9 (v01 Insyde NvdTable 00001000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt8.dat
Input file ssdt8.dat, Length 0x80 (128) bytes
ACPI: SSDT 0x0000000000000000 000080 (v01 INSYDE EDK2     00000002      01000013)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt7.dat
Input file ssdt7.dat, Length 0x472 (1138) bytes
ACPI: SSDT 0x0000000000000000 000472 (v02 INSYDE TPMACPI  00001000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt6.dat
Input file ssdt6.dat, Length 0x3A21 (14881) bytes
ACPI: SSDT 0x0000000000000000 003A21 (v01 AMD    AMD AOD  00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt5.dat
Input file ssdt5.dat, Length 0x72B0 (29360) bytes
ACPI: SSDT 0x0000000000000000 0072B0 (v02 AMD    AmdTable 00000002 MSFT 04000000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt4.dat
Input file ssdt4.dat, Length 0xB2B (2859) bytes
ACPI: SSDT 0x0000000000000000 000B2B (v02 INSYDE UsbCTabl 00001000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt3.dat
Input file ssdt3.dat, Length 0x33 (51) bytes
ACPI: SSDT 0x0000000000000000 000033 (v02 Compal CompTabl 00003000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt2.dat
Input file ssdt2.dat, Length 0x76F (1903) bytes
ACPI: SSDT 0x0000000000000000 00076F (v02 Compal CompCMFC 00003000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt22.dat
Input file ssdt22.dat, Length 0x4DB (1243) bytes
ACPI: SSDT 0x0000000000000000 0004DB (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt21.dat
Input file ssdt21.dat, Length 0x7D (125) bytes
ACPI: SSDT 0x0000000000000000 00007D (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt20.dat
Input file ssdt20.dat, Length 0x36E (878) bytes
ACPI: SSDT 0x0000000000000000 00036E (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt1.dat
Input file ssdt1.dat, Length 0x106 (262) bytes
ACPI: SSDT 0x0000000000000000 000106 (v02 Compal CompTabl 00003000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt19.dat
Input file ssdt19.dat, Length 0x6DA (1754) bytes
ACPI: SSDT 0x0000000000000000 0006DA (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt18.dat
Input file ssdt18.dat, Length 0x20A (522) bytes
ACPI: SSDT 0x0000000000000000 00020A (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt17.dat
Input file ssdt17.dat, Length 0x362F (13871) bytes
ACPI: SSDT 0x0000000000000000 00362F (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt16.dat
Input file ssdt16.dat, Length 0x28D (653) bytes
ACPI: SSDT 0x0000000000000000 00028D (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt15.dat
Input file ssdt15.dat, Length 0x216 (534) bytes
ACPI: SSDT 0x0000000000000000 000216 (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt14.dat
Input file ssdt14.dat, Length 0x10C5 (4293) bytes
ACPI: SSDT 0x0000000000000000 0010C5 (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt13.dat
Input file ssdt13.dat, Length 0xD53 (3411) bytes
ACPI: SSDT 0x0000000000000000 000D53 (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt12.dat
Input file ssdt12.dat, Length 0x139 (313) bytes
ACPI: SSDT 0x0000000000000000 000139 (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt11.dat
Input file ssdt11.dat, Length 0x3E88 (16008) bytes
ACPI: SSDT 0x0000000000000000 003E88 (v02 AMD    AmdTable 00000001 AMD  00000001)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt10.dat
Input file ssdt10.dat, Length 0xF8 (248) bytes
ACPI: SSDT 0x0000000000000000 0000F8 (v01 INSYDE PcdTabl  00001000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file         slic.dat
Input file slic.dat, Length 0x176 (374) bytes
    slic.dat: Table [SLIC] is not an AML table - ignoring
External object resolution file         msdm.dat
Input file msdm.dat, Length 0x55 (85) bytes
    msdm.dat: Table [MSDM] is not an AML table - ignoring
External object resolution file         mcfg.dat
Input file mcfg.dat, Length 0x3C (60) bytes
    mcfg.dat: Table [MCFG] is not an AML table - ignoring
External object resolution file         ivrs.dat
Input file ivrs.dat, Length 0x1A4 (420) bytes
    ivrs.dat: Table [IVRS] is not an AML table - ignoring
External object resolution file         hpet.dat
Input file hpet.dat, Length 0x38 (56) bytes
    hpet.dat: Table [HPET] is not an AML table - ignoring
External object resolution file         fpdt.dat
Input file fpdt.dat, Length 0x44 (68) bytes
    fpdt.dat: Table [FPDT] is not an AML table - ignoring
External object resolution file         facs.dat
Input file facs.dat, Length 0x40 (64) bytes
ACPI Warning: Table header for [FACS] has invalid ASCII character(s) (20220331/acfileio-521)
    facs.dat: Table [FACS] is not an AML table - ignoring
External object resolution file         facp.dat
Input file facp.dat, Length 0x10C (268) bytes
    facp.dat: Table [FACP] is not an AML table - ignoring
External object resolution file         crat.dat
Input file crat.dat, Length 0xB68 (2920) bytes
    crat.dat: Table [CRAT] is not an AML table - ignoring
External object resolution file         cdit.dat
Input file cdit.dat, Length 0x29 (41) bytes
    cdit.dat: Table [CDIT] is not an AML table - ignoring
External object resolution file         boot.dat
Input file boot.dat, Length 0x28 (40) bytes
    boot.dat: Table [BOOT] is not an AML table - ignoring
External object resolution file         bgrt.dat
Input file bgrt.dat, Length 0x38 (56) bytes
    bgrt.dat: Table [BGRT] is not an AML table - ignoring
External object resolution file         asf!.dat
Input file asf!.dat, Length 0xA5 (165) bytes
    asf!.dat: Table [ASF!] is not an AML table - ignoring
External object resolution file         apic.dat
Input file apic.dat, Length 0x138 (312) bytes
    apic.dat: Table [APIC] is not an AML table - ignoring
Pass 1 parse of [DSDT]
Firmware Error (ACPI): Failure creating named object [\_SB.PCI0.GP17.XHC0._S0W], AE_ALREADY_EXISTS (20220331/dswload-387)
ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-264)
Could not parse ACPI tables, AE_ALREADY_EXISTS

Apparantely there are duplicates and I need to exclude the files.
I can decompile with iasl -dl dsdt.dat ssdt*.dat but with following warning :

iasl -dl dsdt.dat ssdt*.dat

iASL Warning: There were 8 external control methods found during
disassembly, but only 0 were resolved (8 unresolved). Additional
ACPI tables may be required to properly disassemble the code. This
resulting disassembler output file may not compile because the
disassembler did not know how many arguments to assign to the
unresolved methods. Note: SSDTs can be dynamically loaded at
runtime and may or may not be available via the host OS.

To specify the tables needed to resolve external control method
references, the -e option can be used to specify the filenames.
Example iASL invocations:
iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
iasl -e ssdt*.aml -d dsdt.aml

In addition, the -fe option can be used to specify a file containing
control method external declarations with the associated method
argument counts. Each line of the file must be of the form:
External (, MethodObj, )
Invocation:
iasl -fe refs.txt -d dsdt.aml

And object does not exist errors when recompiling.

See how I did it on my HP, it’s probably going to be roughly the same procedure. You have to extract the dsdt.dat like this :
iasl -e ssdt*.dat -d dsdt.dat
to crossref the ssdt[X].dat tables.
Now this is very hardware dependent, and sadly I don’t have your computer model on hand to duplicate the procedure. It took me months of preparation and trials and errors to do mine (okay, I could have done it faster with more free time). I was very wary of messing up something, but in fact correcting the acpi is just some kind of hot-patching, no changes are written in firmware, the tables are substituted early in the boot process at the kernel level. You won’t break your machine.
M.

I have the same problem with my Lenovo Thinkpad z13. What resolved this (as it worked before): I downgraded to kernel 6.6.7.

Can you please also try and report.

it looks like only s2idle is supported…

post output from:
inxi -R
cat /sys/power/mem_sleep

$ iasl -e ssdt*.dat -d dsdt.dat

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20220331
Copyright (c) 2000 - 2022 Intel Corporation

File appears to be binary: found 18280 non-ASCII characters, disassembling
Binary file appears to be a valid ACPI table, disassembling
Input file dsdt.dat, Length 0xBB29 (47913) bytes
ACPI: DSDT 0x0000000000000000 00BB29 (v01 DELL   CL09     00000002 ASL  01000013)
External object resolution file        ssdt9.dat
Input file ssdt9.dat, Length 0x2FA9 (12201) bytes
ACPI: SSDT 0x0000000000000000 002FA9 (v01 Insyde NvdTable 00001000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt8.dat
Input file ssdt8.dat, Length 0x80 (128) bytes
ACPI: SSDT 0x0000000000000000 000080 (v01 INSYDE EDK2     00000002      01000013)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt7.dat
Input file ssdt7.dat, Length 0x472 (1138) bytes
ACPI: SSDT 0x0000000000000000 000472 (v02 INSYDE TPMACPI  00001000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt6.dat
Input file ssdt6.dat, Length 0x3A21 (14881) bytes
ACPI: SSDT 0x0000000000000000 003A21 (v01 AMD    AMD AOD  00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt5.dat
Input file ssdt5.dat, Length 0x72B0 (29360) bytes
ACPI: SSDT 0x0000000000000000 0072B0 (v02 AMD    AmdTable 00000002 MSFT 04000000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt4.dat
Input file ssdt4.dat, Length 0xB2B (2859) bytes
ACPI: SSDT 0x0000000000000000 000B2B (v02 INSYDE UsbCTabl 00001000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt3.dat
Input file ssdt3.dat, Length 0x33 (51) bytes
ACPI: SSDT 0x0000000000000000 000033 (v02 Compal CompTabl 00003000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt2.dat
Input file ssdt2.dat, Length 0x76F (1903) bytes
ACPI: SSDT 0x0000000000000000 00076F (v02 Compal CompCMFC 00003000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt22.dat
Input file ssdt22.dat, Length 0x4DB (1243) bytes
ACPI: SSDT 0x0000000000000000 0004DB (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt21.dat
Input file ssdt21.dat, Length 0x7D (125) bytes
ACPI: SSDT 0x0000000000000000 00007D (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt20.dat
Input file ssdt20.dat, Length 0x36E (878) bytes
ACPI: SSDT 0x0000000000000000 00036E (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file        ssdt1.dat
Input file ssdt1.dat, Length 0x106 (262) bytes
ACPI: SSDT 0x0000000000000000 000106 (v02 Compal CompTabl 00003000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt19.dat
Input file ssdt19.dat, Length 0x6DA (1754) bytes
ACPI: SSDT 0x0000000000000000 0006DA (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt18.dat
Input file ssdt18.dat, Length 0x20A (522) bytes
ACPI: SSDT 0x0000000000000000 00020A (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt17.dat
Input file ssdt17.dat, Length 0x362F (13871) bytes
ACPI: SSDT 0x0000000000000000 00362F (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt16.dat
Input file ssdt16.dat, Length 0x28D (653) bytes
ACPI: SSDT 0x0000000000000000 00028D (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt15.dat
Input file ssdt15.dat, Length 0x216 (534) bytes
ACPI: SSDT 0x0000000000000000 000216 (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt14.dat
Input file ssdt14.dat, Length 0x10C5 (4293) bytes
ACPI: SSDT 0x0000000000000000 0010C5 (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt13.dat
Input file ssdt13.dat, Length 0xD53 (3411) bytes
ACPI: SSDT 0x0000000000000000 000D53 (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt12.dat
Input file ssdt12.dat, Length 0x139 (313) bytes
ACPI: SSDT 0x0000000000000000 000139 (v01 AMD    AmdTable 00000001 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt11.dat
Input file ssdt11.dat, Length 0x3E88 (16008) bytes
ACPI: SSDT 0x0000000000000000 003E88 (v02 AMD    AmdTable 00000001 AMD  00000001)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       ssdt10.dat
Input file ssdt10.dat, Length 0xF8 (248) bytes
ACPI: SSDT 0x0000000000000000 0000F8 (v01 INSYDE PcdTabl  00001000 INTL 20130117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Pass 1 parse of [DSDT]
Firmware Error (ACPI): Failure creating named object [\_SB.PCI0.GP17.XHC0._S0W], AE_ALREADY_EXISTS (20220331/dswload-387)
ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-264)
Could not parse ACPI tables, AE_ALREADY_EXISTS

$ sudo inxi -R                                                                                                                                                                                                         
RAID:
  Message: No RAID data found.
$ cat /sys/power/mem_sleep
[s2idle]

No it’s still the same after downgrade.

Can you run :

acpidump -o tables

And find a way to send me the resulting file ?
I’m willing to give it a look. I don’t promise much, but in case I can help …
M.

Thank you very much for looking into it.

your pc supports only s2idle unfortunately…
you can set it to deep, but it will probably not work:

I tried this. It does not work.

Thx, I’ve taken a quick look. At first glance, one of the problems is the acpi tables were compiled with Microsoft Asl instead of Intel’s, which is the one available under Linux. MSFT ASL is known to create garbage (sorry, just “good enough code for Windows Interpreter”). I’ll poke into it given a bit of time. Good news, the S3 mode isn’t deleted, so there should be a way to revive it.
M.

That’s awesome. It would be really nice to have S3 sleep.