Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:archlinux_-_laptop_batterie-verbrauch_nach_poweroff

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:archlinux_-_laptop_batterie-verbrauch_nach_poweroff [2020/08/18 11:00] – angelegt klaustachtler:archlinux_-_laptop_batterie-verbrauch_nach_poweroff [2020/08/18 13:21] (aktuell) klaus
Zeile 8: Zeile 8:
 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). 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 bei Starten ausgeführt wird, so konfiguriert wird.+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 Skript Dienste-Verzeichnis von ''systemd'' und mit nachfolgendem Namen+Nachfolgend soll ein Start-Skript im Dienste-Verzeichnis von ''systemd'' und mit nachfolgendem Namen
   * ''/etc/systemd/system/disable-wakeup.service''   * ''/etc/systemd/system/disable-wakeup.service''
-erstellt werden und bei jedem Betriebssystemstart einmal ausgeführt werden, wie nachfolgend beschrieben. +erstellt werden und bei jedem Betriebssystemstart einmal ausgeführt zu werden, wie nachfolgend beschrieben. 
  
 ^ Beschreibung      ^ Externer Link                                                                   ^ ^ Beschreibung      ^ Externer Link                                                                   ^
Zeile 22: Zeile 22:
 $ su - $ su -
 Password:  Password: 
 +</code>
 +
 +===== 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):
 +<code>
 +# 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
 +</code>
 +
 +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ät
 +  * **''SLPB''** - 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''
 +<code>
 +# touch /etc/systemd/system/disable-wakeup.service
 +</code>
 +
 +Der Inhalt sollte dann wie folgt aussehen und kann mit einem Editor der eigenen Wahl hinzugefügt werden:
 +<code ini>
 +[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
 +</code>
 +
 +Nach der Erstellung eines neuen Dienstes für **''systend''**, muss nachfolgender Befehl zur Bekanntgabe der Änderungen ausgeführt werden:
 +<code>
 +# systemctl daemon-reload
 +</code>
 +
 +===== 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:
 +<code>
 +# systemctl enable disable-wakeup.service
 +Created symlink /etc/systemd/system/multi-user.target.wants/disable-wakeup.service → /etc/systemd/system/disable-wakeup.service.
 +</code>
 +
 +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:
 +<code>
 +# systemctl list-unit-files --type=service | grep -e ^disable-wakeup.service
 +disable-wakeup.service                     enabled         disabled
 +</code>
 +bzw.
 +<code>
 +# systemctl is-enabled disable-wakeup.service
 +enabled
 +</code>
 +
 +===== Start: disable-wakeup.service =====
 +
 +Nachfolgender Befehl startet den Dienst einmalig:
 +<code>
 +systemctl start disable-wakeup.service
 +</code>
 +
 +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:
 +<code>
 +# 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
 </code> </code>
  
tachtler/archlinux_-_laptop_batterie-verbrauch_nach_poweroff.1597741247.txt.gz · Zuletzt geändert: 2020/08/18 11:00 von klaus