Unter Linux im allgemeinen kann es bei Laptops, hier einem Lenovo Thinkpad E14 vorkommen, dass nach dem Poweroff einige Geräte noch Strom verbrauchen. Nachfolgende Einstellungen wurden im BIOS - deaktiviert - um dies zu verhinden:
Das Probleme kann gelöst werden, indem das alle Geräte, auch im Betriebssystem beim Herunterfahren nicht in den Suspend-Modus (S3) versetzt werden, sondern tatsächlich heruntergefahren werden (S4 oder höher).
Dies kann dadurch erreicht werden, das beim Starten des Betriebssystems, dies durch ein systemd
-Start-Skript, welches nur einmal beim Starten ausgeführt wird, so konfiguriert wird.
Nachfolgend soll ein Start-Skript im Dienste-Verzeichnis von systemd
und mit nachfolgendem Namen
/etc/systemd/system/disable-wakeup.service
erstellt werden und bei jedem Betriebssystemstart einmal ausgeführt zu werden, wie nachfolgend beschrieben.
Beschreibung | Externer Link |
---|---|
Homepage | https://www.archlinux.de/ |
Herunterladen | https://www.archlinux.de/download |
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer root
zu werden, geben Sie bitte nachfolgenden Befehl ein:
$ su - Password:
Nachfolgender Befehl ermittelt, ob ein APCI (Advanced Configuration and Power Interface) enabled ist und in den Suspend-Modus (S3) versetzt wird und nicht heruntergefahren wird (S4 oder höher):
# cat /proc/acpi/wakeup | grep enabled XHC S3 *enabled pci:0000:00:14.0 RP09 S4 *enabled pci:0000:00:1d.0 RP13 S4 *enabled pci:0000:00:1d.4 SLPB S3 *enabled platform:PNP0C0E:00 LID S4 *enabled platform:PNP0C0D:00
Vorhergehende Liste zeigt zwei Geräte, welche in den Suspend-Modus (S3) versetzt werden, anstelle das diese heruntergefahren werden (S4 oder höher).
XHC
- USB 3.0 GerätSLPB
- Ein/Aus (Power)-Knopf
WICHTIG - SLPB
- Ein/Aus (Power)-Knopf, sollte NIEMALS heruntergefahren (S4 oder höher) versetzt werden!
HINWEIS - Nachfolgend betrifft es also hier nur das XHC
- USB 3.0 Gerät.
Nachfolgender Befehl erstellt ein Start-Skript im Dienste-Verzeichnis von systemd
mit nachfolgendem Namen
/etc/systemd/system/disable-wakeup.service
# touch /etc/systemd/system/disable-wakeup.service
Der Inhalt sollte dann wie folgt aussehen und kann mit einem Editor der eigenen Wahl hinzugefügt werden:
[Unit] Description=Disable USB controllers in /proc/acpi/wakeup [Service] Type=oneshot ExecStart=bash -c '\ while read -r device _ status _; do \ [[ $device == +([EX]HC*|USB*|PS2*) && $status == "*enabled" ]] && \ echo $device > /proc/acpi/wakeup; \ done < /proc/acpi/wakeup; \ true \ ' [Install] WantedBy=multi-user.target
Nach der Erstellung eines neuen Dienstes für systend
, muss nachfolgender Befehl zur Bekanntgabe der Änderungen ausgeführt werden:
# systemctl daemon-reload
Um einen Dienst/Deamon hinzuzufügen, welcher auch nach einem Neustart des Servers zur Verfügung stehen soll, muss der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:
# systemctl enable disable-wakeup.service Created symlink /etc/systemd/system/multi-user.target.wants/disable-wakeup.service → /etc/systemd/system/disable-wakeup.service.
Eine Überprüfung, ob beim Neustart des Server der Dienst/Daemon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
# systemctl list-unit-files --type=service | grep -e ^disable-wakeup.service disable-wakeup.service enabled disabled
bzw.
# systemctl is-enabled disable-wakeup.service enabled
Nachfolgender Befehl startet den Dienst einmalig:
systemctl start disable-wakeup.service
Nach erfolgreichem Start des Dienstes, sollte die Ausgabe des nachfolgenden Befehls zur Ermittlung, ob ein APCI (Advanced Configuration and Power Interface) enabled ist und in den Suspend-Modus (S3) versetzt wird und nicht heruntergefahren wird (S4 oder höher), das nachfolgende Ergebnis liefern:
# cat /proc/acpi/wakeup | grep enabled RP09 S4 *enabled pci:0000:00:1d.0 RP13 S4 *enabled pci:0000:00:1d.4 SLPB S3 *enabled platform:PNP0C0E:00 LID S4 *enabled platform:PNP0C0D:00