Standby-Modus unter Linux mit Thinkpad: XHC deaktivieren

Folgende Befehle:

#cat /sys/power/mem_sleep
s2idle shallow [deep]

Überprüfen, ob der Standby-Modus funktioniert:

#systemctl suspend
#cat /sys/power/mem_sleep
s2idle shallow [deep]
#journalctl --since "10 min ago" --grep=suspend
Mai 01 21:46:10 Friedrich kernel: printk: Suspending console(s) (use no_console_suspend to debug)
Mai 01 21:46:10 Friedrich kernel: xhci_hcd 0000:00:14.0: PM: pci_pm_suspend(): hcd_pci_suspend+0x0/0x20 returns -16
Mai 01 21:46:10 Friedrich kernel: xhci_hcd 0000:00:14.0: PM: dpm_run_callback(): pci_pm_suspend+0x0/0x170 returns -16
Mai 01 21:46:10 Friedrich kernel: xhci_hcd 0000:00:14.0: PM: failed to suspend async: error -16
Mai 01 21:46:10 Friedrich kernel: PM: Some devices failed to suspend, or early wake event detected
Mai 01 21:46:10 Friedrich kernel: PM: suspend exit
#cat /proc/acpi/wakeup | grep enabled
XHC S3 *enabled pci:0000:00:14.0
RP01 S4 *enabled pci:0000:00:1c.0
RP03 S4 *enabled pci:0000:00:1c.2
LID0 S4 *enabled platform:PNP0C0D:00

XHC war bei der journalctl-Ausgabe der Übeltäter –> mit folgendem Befehl sorgen wir dafür, dass XHC den PC nicht mehr aufwecken kann:

#echo XHC > /proc/acpi/wakeup

#cat /proc/acpi/wakeup | grep enabled
RP01 S4 *enabled pci:0000:00:1c.0
RP03 S4 *enabled pci:0000:00:1c.2
LID0 S4 *enabled platform:PNP0C0D:00

Prüfen, ob Standby-Modus nun funktioniert:

#systemctl suspend

Diesmal sieht es gut aus. Wir machen die Änderung nun permanent mittels

#crontab -e

Hier Folgendes eintragen:

@reboot echo XHC > /proc/acpi/wakeup

Dadurch wird bei jedem PC-Neustart das Aufwecken durch XHC ausgeschaltet.