Help! After 2025-08-12 updates, suspend no longer works on my Thinkpad T14

I’m running EOS/Cinnamon on a Thinkpad T14 Gen 1, and suspend, suspend-then-hibernate, hybrid-sleep and hibernate have been working fine for weeks.

I typically don’t shutdown this laptop for days, just close & reopen the lid 30-40 times a day, and sometimes connect it to the AC adapter to recharge it.

I didn’t:

  • install new software
  • play around with power settings
  • change any system settings

I did:

  • do normal updates a few times per day (using yay)
  • check & write in forums a lot

Now, since yesternight (2025-08-12), the system suddenly fails to suspend, and resumes immediately, asking me to login again (using cinnamon-screensaver).

BIOS is set for S3 (“Linux”) instead of S2idle (“Windows”). I have a separate swap partition (for hibernate).

$ cat /sys/power/mem_sleep 
s2idle [deep]
$ cat /sys/power/state 
freeze mem disk
$ cat /sys/power/disk 
[platform] shutdown reboot suspend test_resume
$ cat /sys/power/image_size 
6551207936
$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 476,9G  0 disk 
├─nvme0n1p1 259:1    0     2G  0 part /efi
├─nvme0n1p2 259:2    0 457,9G  0 part /
└─nvme0n1p3 259:3    0  17,1G  0 part [SWAP]

journalctl --since 7:10 | eos-sendlog of failed suspend, using systemctl suspend:

https://0x0.st/8CQE.txt

Note:

Aug 13 07:10:52 t14-mch kernel: xhci_hcd 0000:00:14.0: PM: pci_pm_suspend(): hcd_pci_suspend returns -16
Aug 13 07:10:52 t14-mch kernel: xhci_hcd 0000:00:14.0: PM: dpm_run_callback(): pci_pm_suspend returns -16
Aug 13 07:10:52 t14-mch kernel: xhci_hcd 0000:00:14.0: PM: failed to suspend async: error -16
Aug 13 07:10:52 t14-mch kernel: PM: Some devices failed to suspend, or early wake event detected

[...]

Aug 13 07:10:52 t14-mch systemd-sleep[21138]: Failed to put system to sleep. System resumed again: Device or resource busy
Aug 13 07:10:52 t14-mch kernel: PM: suspend exit
$ lspci
00:00.0 Host bridge: Intel Corporation Comet Lake-U v1 4c Host Bridge/DRAM Controller (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation CometLake-U GT2 [UHD Graphics] (rev 02)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0c)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Comet Lake Thermal Subsytem
00:14.0 USB controller: Intel Corporation Comet Lake PCH-LP USB 3.1 xHCI Host Controller
00:14.2 RAM memory: Intel Corporation Comet Lake PCH-LP Shared SRAM
00:14.3 Network controller: Intel Corporation Comet Lake PCH-LP CNVi WiFi
00:16.0 Communication controller: Intel Corporation Comet Lake Management Engine Interface
00:1c.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #1 (rev f0)
00:1c.4 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #5 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #9 (rev f0)
00:1d.4 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #13 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Comet Lake PCH-LP LPC Premium Controller/eSPI Controller
00:1f.3 Audio device: Intel Corporation Comet Lake PCH-LP cAVS
00:1f.4 SMBus: Intel Corporation Comet Lake PCH-LP SMBus Host Controller
00:1f.5 Serial bus controller: Intel Corporation Comet Lake SPI (flash) Controller
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (10) I219-V
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader (rev 01)
03:00.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01)
04:00.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01)
04:01.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01)
04:02.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01)
05:00.0 System peripheral: Intel Corporation JHL6240 Thunderbolt 3 NHI (Low Power) [Alpine Ridge LP 2016] (rev 01)
2b:00.0 USB controller: Intel Corporation JHL6240 Thunderbolt 3 USB 3.1 Controller (Low Power) [Alpine Ridge LP 2016] (rev 01)
2e:00.0 Non-Volatile memory controller: Toshiba Corporation XG6 NVMe SSD Controller

/var/log/pacman.log from yesterday night’s update:

Log snippet
[2025-08-12T22:26:44+0200] [PACMAN] Running 'pacman -S -y --config /etc/pacman.conf --'
[2025-08-12T22:26:44+0200] [PACMAN] synchronizing package lists
[2025-08-12T22:27:19+0200] [PACMAN] Running 'pacman -S -u -y --config /etc/pacman.conf --'
[2025-08-12T22:27:19+0200] [PACMAN] synchronizing package lists
[2025-08-12T22:27:19+0200] [PACMAN] starting full system upgrade
[2025-08-12T22:27:35+0200] [ALPM] running '00-timeshift-autosnap.hook'...
[2025-08-12T22:27:35+0200] [ALPM-SCRIPTLET] Mounted '/dev/nvme0n1p2' at '/run/timeshift/64567/backup'
[2025-08-12T22:27:35+0200] [ALPM-SCRIPTLET] ------------------------------------------------------------------------------
[2025-08-12T22:27:35+0200] [ALPM-SCRIPTLET] Creating new snapshot...(RSYNC)
[2025-08-12T22:27:35+0200] [ALPM-SCRIPTLET] Saving to device: /dev/nvme0n1p2, mounted at path: /run/timeshift/64567/backup
[2025-08-12T22:27:35+0200] [ALPM-SCRIPTLET] Linking from snapshot: 2025-08-12_14-39-54
[2025-08-12T22:27:35+0200] [ALPM-SCRIPTLET] Syncing files with rsync...
Created control file: /run/timeshift/64567/backup/timeshift/snapshots/2025-08-12_22-27-35/info.json
[2025-08-12T22:28:06+0200] [ALPM-SCRIPTLET] RSYNC Snapshot saved successfully (30s)
[2025-08-12T22:28:06+0200] [ALPM-SCRIPTLET] Tagged snapshot '2025-08-12_22-27-35': ondemand
[2025-08-12T22:28:06+0200] [ALPM-SCRIPTLET] ------------------------------------------------------------------------------
[2025-08-12T22:28:07+0200] [ALPM-SCRIPTLET] Mounted '/dev/nvme0n1p2' at '/run/timeshift/64719/backup'
[2025-08-12T22:28:07+0200] [ALPM-SCRIPTLET] ------------------------------------------------------------------------------
[2025-08-12T22:28:07+0200] [ALPM-SCRIPTLET] Removing '2025-08-11_23-14-46'...
Removed '2025-08-11_23-14-46'                                                   )
[2025-08-12T22:28:25+0200] [ALPM-SCRIPTLET] ------------------------------------------------------------------------------
[2025-08-12T22:28:25+0200] [ALPM] transaction started
[2025-08-12T22:28:25+0200] [ALPM] upgraded intel-ucode (20250512-1 -> 20250812-1)
[2025-08-12T22:28:25+0200] [ALPM] transaction completed
[2025-08-12T22:28:26+0200] [ALPM] running '30-systemd-update.hook'...
[2025-08-12T22:28:26+0200] [ALPM] running '90-kernel-install.hook'...
[2025-08-12T22:28:26+0200] [ALPM-SCRIPTLET] Running kernel-install for 6.15.9-arch1-1
[2025-08-12T22:28:32+0200] [ALPM-SCRIPTLET] dracut[I]: Executing: /usr/bin/dracut --no-hostonly --force /efi/e42b60dc716a4889a9c9cd478a72e159/6.15.9-arch1-1/initrd-fallback 6.15.9-arch1-1
[2025-08-12T22:28:35+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: bash ***
[2025-08-12T22:28:35+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd ***
[2025-08-12T22:28:35+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-ask-password ***
[2025-08-12T22:28:35+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-battery-check ***
[2025-08-12T22:28:35+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-cryptsetup ***
[2025-08-12T22:28:35+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-initrd ***
[2025-08-12T22:28:35+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-journald ***
[2025-08-12T22:28:35+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-modules-load ***
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-pcrphase ***
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-sysctl ***
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-tmpfiles ***
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-udevd ***
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: modsign ***
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: i18n ***
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-sysusers ***
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'nobody' with GID 65534.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'audio' with GID 996.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'disk' with GID 995.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'input' with GID 994.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'kmem' with GID 993.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'kvm' with GID 992.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'lp' with GID 991.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'optical' with GID 990.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'render' with GID 989.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'sgx' with GID 988.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'storage' with GID 987.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'tty' with GID 5.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'uucp' with GID 986.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'video' with GID 985.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'users' with GID 984.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating group 'systemd-journal' with GID 983.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating user 'root' (Super User) with UID 0 and GID 0.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534.
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: btrfs ***
[2025-08-12T22:28:36+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: crypt ***
[2025-08-12T22:28:37+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: dm ***
[2025-08-12T22:28:37+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: dmraid ***
[2025-08-12T22:28:37+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: kernel-modules ***
[2025-08-12T22:28:41+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: kernel-modules-extra ***
[2025-08-12T22:28:42+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: lvm ***
[2025-08-12T22:28:42+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: mdraid ***
[2025-08-12T22:28:42+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: multipath ***
[2025-08-12T22:28:42+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: nvdimm ***
[2025-08-12T22:28:43+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: qemu ***
[2025-08-12T22:28:43+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: qemu-net ***
[2025-08-12T22:28:43+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: fido2 ***
[2025-08-12T22:28:43+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: pkcs11 ***
[2025-08-12T22:28:43+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: hwdb ***
[2025-08-12T22:28:43+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: lunmask ***
[2025-08-12T22:28:43+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: resume ***
[2025-08-12T22:28:43+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: rootfs-block ***
[2025-08-12T22:28:43+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: terminfo ***
[2025-08-12T22:28:43+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: udev-rules ***
[2025-08-12T22:28:44+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: virtiofs ***
[2025-08-12T22:28:44+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: dracut-systemd ***
[2025-08-12T22:28:44+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: usrmount ***
[2025-08-12T22:28:44+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: base ***
[2025-08-12T22:28:44+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: fs-lib ***
[2025-08-12T22:28:44+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: shell-interpreter ***
[2025-08-12T22:28:44+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: shutdown ***
[2025-08-12T22:28:44+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including modules done ***
[2025-08-12T22:28:44+0200] [ALPM-SCRIPTLET] dracut[I]: *** Installing kernel module dependencies ***
[2025-08-12T22:28:45+0200] [ALPM-SCRIPTLET] dracut[I]: *** Installing kernel module dependencies done ***
[2025-08-12T22:28:45+0200] [ALPM-SCRIPTLET] dracut[I]: *** Resolving executable dependencies ***
[2025-08-12T22:28:47+0200] [ALPM-SCRIPTLET] dracut[I]: *** Resolving executable dependencies done ***
[2025-08-12T22:28:47+0200] [ALPM-SCRIPTLET] dracut[I]: *** Hardlinking files ***
[2025-08-12T22:28:47+0200] [ALPM-SCRIPTLET] dracut[I]: *** Hardlinking files done ***
[2025-08-12T22:28:47+0200] [ALPM-SCRIPTLET] dracut[I]: *** Generating early-microcode cpio image ***
[2025-08-12T22:28:47+0200] [ALPM-SCRIPTLET] dracut[I]: *** Constructing GenuineIntel.bin ***
[2025-08-12T22:28:47+0200] [ALPM-SCRIPTLET] dracut[I]: *** Store current command line parameters ***
[2025-08-12T22:28:47+0200] [ALPM-SCRIPTLET] dracut[I]: *** Stripping files ***
[2025-08-12T22:28:48+0200] [ALPM-SCRIPTLET] dracut[I]: *** Stripping files done ***
[2025-08-12T22:28:48+0200] [ALPM-SCRIPTLET] dracut[I]: *** Creating image file '/efi/e42b60dc716a4889a9c9cd478a72e159/6.15.9-arch1-1/initrd-fallback' ***
[2025-08-12T22:28:59+0200] [ALPM-SCRIPTLET] dracut[I]: *** Creating initramfs image file '/efi/e42b60dc716a4889a9c9cd478a72e159/6.15.9-arch1-1/initrd-fallback' done ***
[2025-08-12T22:29:00+0200] [ALPM-SCRIPTLET] dracut[I]: Executing: /usr/bin/dracut --hostonly --no-hostonly-cmdline -f /efi/e42b60dc716a4889a9c9cd478a72e159/6.15.9-arch1-1/initrd 6.15.9-arch1-1
[2025-08-12T22:29:02+0200] [ALPM-SCRIPTLET] dracut[W]: If you need to use bluetooth, please include it explicitly.
[2025-08-12T22:29:02+0200] [ALPM-SCRIPTLET] dracut[W]: If you need to use bluetooth, please include it explicitly.
[2025-08-12T22:29:03+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: bash ***
[2025-08-12T22:29:03+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd ***
[2025-08-12T22:29:03+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-ask-password ***
[2025-08-12T22:29:03+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-battery-check ***
[2025-08-12T22:29:03+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-initrd ***
[2025-08-12T22:29:03+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-journald ***
[2025-08-12T22:29:03+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-modules-load ***
[2025-08-12T22:29:03+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-pcrphase ***
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-sysctl ***
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-tmpfiles ***
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-udevd ***
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: i18n ***
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-sysusers ***
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'nobody' with GID 65534.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'audio' with GID 996.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'disk' with GID 995.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'input' with GID 994.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'kmem' with GID 993.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'kvm' with GID 992.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'lp' with GID 991.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'optical' with GID 990.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'render' with GID 989.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'sgx' with GID 988.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'storage' with GID 987.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'tty' with GID 5.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'uucp' with GID 986.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'video' with GID 985.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'users' with GID 984.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating group 'systemd-journal' with GID 983.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating user 'root' (Super User) with UID 0 and GID 0.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534.
[2025-08-12T22:29:04+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: kernel-modules ***
[2025-08-12T22:29:06+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: kernel-modules-extra ***
[2025-08-12T22:29:06+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: resume ***
[2025-08-12T22:29:06+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: rootfs-block ***
[2025-08-12T22:29:06+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: terminfo ***
[2025-08-12T22:29:06+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: udev-rules ***
[2025-08-12T22:29:07+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: dracut-systemd ***
[2025-08-12T22:29:08+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: usrmount ***
[2025-08-12T22:29:08+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: base ***
[2025-08-12T22:29:08+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: fs-lib ***
[2025-08-12T22:29:08+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: shell-interpreter ***
[2025-08-12T22:29:08+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including module: shutdown ***
[2025-08-12T22:29:08+0200] [ALPM-SCRIPTLET] dracut[I]: *** Including modules done ***
[2025-08-12T22:29:08+0200] [ALPM-SCRIPTLET] dracut[I]: *** Installing kernel module dependencies ***
[2025-08-12T22:29:08+0200] [ALPM-SCRIPTLET] dracut[I]: *** Installing kernel module dependencies done ***
[2025-08-12T22:29:08+0200] [ALPM-SCRIPTLET] dracut[I]: *** Resolving executable dependencies ***
[2025-08-12T22:29:09+0200] [ALPM-SCRIPTLET] dracut[I]: *** Resolving executable dependencies done ***
[2025-08-12T22:29:09+0200] [ALPM-SCRIPTLET] dracut[I]: *** Hardlinking files ***
[2025-08-12T22:29:09+0200] [ALPM-SCRIPTLET] dracut[I]: *** Hardlinking files done ***
[2025-08-12T22:29:09+0200] [ALPM-SCRIPTLET] dracut[I]: *** Generating early-microcode cpio image ***
[2025-08-12T22:29:09+0200] [ALPM-SCRIPTLET] dracut[I]: *** Constructing GenuineIntel.bin ***
[2025-08-12T22:29:09+0200] [ALPM-SCRIPTLET] dracut[I]: *** Store current command line parameters ***
[2025-08-12T22:29:09+0200] [ALPM-SCRIPTLET] dracut[I]: *** Stripping files ***
[2025-08-12T22:29:10+0200] [ALPM-SCRIPTLET] dracut[I]: *** Stripping files done ***
[2025-08-12T22:29:10+0200] [ALPM-SCRIPTLET] dracut[I]: *** Creating image file '/efi/e42b60dc716a4889a9c9cd478a72e159/6.15.9-arch1-1/initrd' ***
[2025-08-12T22:29:16+0200] [ALPM-SCRIPTLET] dracut[I]: *** Creating initramfs image file '/efi/e42b60dc716a4889a9c9cd478a72e159/6.15.9-arch1-1/initrd' done ***
[2025-08-12T22:29:16+0200] [ALPM] running 'eos-reboot-required.hook'...
[2025-08-12T22:29:18+0200] [ALPM] running 'rebuild-detector.hook'...

With the information at hand, I would normally suspect the USB 3.1 at PCI 00:14.0, but nothing is connected there. I even disconnected the AC adaptor (USB-C) since I thought it might be “talking” via USB. Also note the several messages in the journal stating … was not an MTP device, but these are in the log since 2025-07-27.

I did have my Pocketbook e-reader connected to USB in the evening, to transfer a book to it using Calibre. But that was long disconnected again before the update at around 22:30 yesterday.

(I also didn’t see any AUR error messages yesterday, as some others have reported.)

Help, please…

Interesting: I just tried a systemctl hibernate, and that works fine!

Not a solution to the original problem, of course.

2 Likes

I had something similar where the computer would sleep and then immediately wake up again. It was my wireless mouse constantly sending a signal.

I solved it with this systemd service:

[Unit]
Description=Disable USB Mouse wakeup triggers

[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo XHC0 > /proc/acpi/wakeup"
ExecStop=/bin/sh -c "echo XHC0 > /proc/acpi/wakeup"
RemainAfterExit=yes

[Install] 
WantedBy=multi-user.target
1 Like

Thanks for showing one way to solve such issues, and for reminding me of bluetooth devices.

I actually have two devices trusted (my headphones and a BT keyboard for testing) but not connected, and I’m sure these were turned off.

$ journalctl -u bluetooth

indeed shows no irregularities.


But it gets “curiouser and curiouser”: After leaving the laptop in hibernation after above tests for a few hours, now suddenly suspend seems to work again. Needs a few more tries to be sure, though.

I wonder what’s going on here. Ghosts?

And yes, I did also try a complete shutdown before, waiting a few minutes, and restarting the system, and suspend wouldn’t work.

There’s only two more ideas I have—could that have confused the suspend/resume system?

  • It’s possible I connected the (USB-C) AC charger while it was in suspend mode. I must surely have done that before, and it shouldn’t matter (hopefully).
  • I use the built-in fingerprint reader, and the Arch docs say somewhere one shouldn’t suspend/resume again within 30s. I might have inadvertently done that, but chances are almost nil, since I know about that issue.

I agree that they shouldn’t affect it but sometimes I swear that computers like to mess with our heads.

3 Likes

Having something work and you don’t know why is even worse than having it not work and you don’t know why

Now let me shutdown and then try to suspend again after a restart… This machine is used to do actual work and thus should be most reliable.

I must also re-test the suspend-then-hibernate—would you know offhand where to set the hibernation timeout? (It’s supposed to react on battery level and a settable “in suspend mode for” time, as far as I remember.)

Never mind, found it. Set HibernateDelaySec=300 in /etc/systemd/sleep.conf for a test (it’s normally 60min on this system), and invoked systemctl suspend-then-hibernate.

All good, RTC wakeup functions, system suspends, wakes up after 5 minutes and hibernates. When powering on again, it resumes fine from hibernation state.

Love that functionality. If ever I just suspend my laptop and then forget it, it’ll auto-hibernate when either a) the battery goes below 5%, or b) the HibernateDelaySec runs out, whichever comes first.

Linux is indeed a very fine system to work with.

1 Like

Worked for a while, now after the kernel 6.16 updates immediately resumes again!

Since we already saw it’s caused by the USB3 ACPI for some reason (xhci_hcd at PCI 0000:00:14.0):

Aug 17 22:43:42 t14-mch kernel: xhci_hcd 0000:00:14.0: PM: pci_pm_suspend(): hcd_pci_suspend returns -16
Aug 17 22:43:42 t14-mch kernel: xhci_hcd 0000:00:14.0: PM: dpm_run_callback(): pci_pm_suspend returns -16
Aug 17 22:43:42 t14-mch kernel: xhci_hcd 0000:00:14.0: PM: failed to suspend async: error -16
Aug 17 22:43:42 t14-mch kernel: PM: Some devices failed to suspend, or early wake event detected

I dont’t need the system to be woken up by something on the USB3 port, so I took more drastic measures and disabled it:

# /etc/tmpfiles.d/disable-usb-wake.conf
# Disable PCI 14.0 XHC USB wakeup (prevents suspending)

#    Path                  Mode UID  GID  Age Argument
w    /proc/acpi/wakeup     -    -    -    -   XHC

Result after each boot/resume:

$ cat /proc/acpi/wakeup 
Device   S-state    Status  Sysfs node
XHC        S3    *disabled  pci:0000:00:14.0

Seems to work: suspend, suspend-then-hibernate, hibernate and hybrid-sleep all working for now.

See also: https://wiki.archlinux.org/title/Systemd#systemd-tmpfiles_-_temporary_files

The little things take the most time to fix.

that certainly handicaps any troubleshooting :slight_smile:

what did the numbers do? force systemctl to stop suspend service?

Which? The HibernateDelaySec=300 just sets it to 300s (5min), so I didn’t have to wait an hour after suspending in order to check if it wakes up again, saves RAM to disk and goes to hibernate. I reset that back after testing. It then goes to hibernate after 1 hour of being suspended or when the battery goes below 5%.

I get it now.

what an adventure this was. all your troubleshooting moved in a positive direction…it’s like you’ve done this before :slight_smile:

Yep, this lil Thinkpad was just too good to give up on it. I love it more every day (the keyboard is so fantastic!) and don’t regret a minute having put EOS instead of Mint on it.

Done this before? Well, not exactly this, but it helps having been in IT for more than 50 years. Once you grok how Linux works, they’re all pretty much the same underneath. Just the packaging and WMs/DEs differ a little.

Also, doing a little bug-hunting keeps the brains working, always good at my age! :grin: And the Arch Wiki is a tremendous help.

[Putting this stinky ole cigarillo into my mouth and muttering: “I love it when a plan comes together!”…]

1 Like