Inhaltsverzeichnis
ArchLinux - Laptop Batterie-Verbrauch nach Poweroff
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:
- Always On USB - Laden über USB, wenn der Laptop heruntergefahren/ausgeschaltet ist
- Wake On LAN - Dienst deaktiviert
- Absolute Persistence® Module Activation - Absolute Manage-Software-Agenten Überwachung deaktiviert
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:
Datenermittlung
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.
/etc/systemd/system/disable-wakeup.service
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
Dienst/Deamon-Start einrichten
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
Start: disable-wakeup.service
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