TLP - Linux Stromsparen: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K (hat „TLP - Stromspareinstellungen fuer Ubuntu“ nach „TLP - Linux Stromsparen“ verschoben) |
(kein Unterschied)
|
Version vom 22. Juli 2011, 21:00 Uhr
Was ist TLP?
Mit jedem Release werden in Ubuntu weitere Verbesserungen des Stromverbrauchs beim Einsatz auf Laptops implementiert, so daß mit einer einfachen Standardinstallation bereits recht gute Verbrauchswerte zu erzielen sind.
Die danach noch verbleibenden Möglichkeiten des Stromsparens sind recht leicht im WWW mittels einer Suchmaschine aufzufinden. Das Auswählen und Anwenden der jeweils zur eigenen Hardware und Ubuntu-Version passenden Einstellungen aus der gebotenen Vielfalt von Wiki-, Blog- und Foren-Beiträgen, fordert dem Anwender hingegen oft fortgeschrittene Linux- bzw. Ubuntu-Kenntnisse ab.
Hier soll TLP Abhilfe schaffen, indem es Ubuntu die Feinheiten des Stromsparens beibringt, ohne daß der Anwender allzuviel Detailwissen mitbringen muß.
TLP ersetzt nicht das vorhandene Power Management von Ubuntu, sondern ergänzt es. Dazu wird TLP beim Systemstart und bei jedem Wechsel der Stromquelle von Ubuntus Power Management aufgerufen und nimmt dann seine Einstellungen vor.
TLP ist für alle Laptops geeignet, das Einstellen der Akkuladeschwellen ist jedoch nur für IBM/Lenovo ThinkPads verfügbar.
Weitere Fragen zu TLP beantwortet die TLP FAQ.
Funktionen
Einstellungen in Abhängigkeit von der Stromquelle
Folgende Einstellungen, die auch die relevanten Empfehlungen des Werkzeugs Powertop umfassen, werden in Abhängigkeit von der aktiven Stromquelle (Akku/Netzteil) automatisch vorgenommen:
- Kernel-Laptop-Mode und Timeouts für das Zurückschreiben der Dateisystempuffer auf die Festplatte
- Advanced Power Management Level je Festplatte
- Spindown Timeout je Festplatte
- I/O-Scheduler je Festplatte
- SATA Aggressive Link Power Management (ALPM)
- PCI Express Active State Power Management (PCIe ASPM); ab Ubuntu 10.10 bzw. Kernel 2.6.35
- Radeon Taktfrequenz; ab Ubuntu 10.10 bzw. Kernel 2.6.35 (nicht fglrx)
- WLAN (WiFi) Power Saving Mode für Karten mit iwlagn-Treiber (Intel 5100, 5300, ...); ab Ubuntu 10.04 bzw. Kernel 2.6.32
- Wake on LAN (nur deaktivieren)
- Audio Power Saving Mode für Intel HDA- und AC97-Sound
- Runtime Power Management für PCI/SPI/I2C-Bus-Geräte; ab Ubuntu 10.10 bzw. Kernel 2.6.35.
- USB Auto Suspend mit der Möglichkeit einer Geräte-Blacklist, Eingabegeräte werden automatisch ausgespart
- PHC-Einstellungen für Undervolting (erfordert einen Kernel mit PHC-Patch)
- Akku-Ladeschwellen **ThinkPad
- Optisches Laufwerk in Wechselschacht bzw. UltraBay ausschalten (beim Wechsel zum Akkubetrieb)
Hinweis **ThinkPad : so gekennzeichnete Einstellungen erfordern tp-smapi und funktionieren daher nur bei ThinkPads, nicht jedoch bei der SL-, L- und Edge-Baureihe sowie dem X100e.
Einstellungen beim Systemstart
- Integriertes Bluetooth, WLAN und WWAN (UMTS) lassen sich selektiv beim Systemstart bzw. vor dem Herunterfahren deaktivieren
- Der Schaltzustand Ein/Aus des integrierten WWAN wird nach Suspend und Hibernation automatisch wiederhergestellt
Abgrenzung
Einstellungsmöglichkeiten die TLP absichtlich nicht berücksichtigt, sind in der TLP FAQ beschrieben.
Installieren
Voraussetzungen
- Eigene Stromspar-Einstellungen oder -Skripte z.B. in /etc/rc.local sind deaktiviert, ansonsten sind schwer vorhersagbare Resultate zu erwarten.
- Das Paket laptop-mode-tools ist nicht installiert.
Ubuntu 10.04, 10.10 und 11.04
In die Ubuntu-Paketquellen ist das TLP-PPA einzutragen per
sudo add-apt-repository ppa:linrunner/tlp sudo apt-get update
Pakete installieren
- tlp (PPA)
Hinweis (nur Ubuntu 10.04): es wird automatisch das Ubuntu-Paket pm-utils-powersave-policy deinstalliert, da es die Funktion von TLP stören kann.
- tp-smapi-dkms (universe) - optional **ThinkPad, tp-smapi ermöglicht das Einstellen der Akkuladeschwellen und erweiterte Statusanzeigen.
- smartmontools (main) - optional, ermöglicht die Anzeige von SMART-Daten für die Festplatte(n) durch tlp-stat.
- ethtool (main) - optional, ermöglicht es Wake On LAN zu deaktivieren.
- powertop (main) - optional, zur Messung des Stromverbrauchs
Die Pakete installiert man über die Paketverwaltung (Ubuntu Software Center, Synaptic, ...) oder im Terminal:
sudo apt-get install --no-install-recommends tlp tp-smapi-dkms smartmontools ethtool powertop
Debian 6.0
Die folgenden Schritte sind - wie bei Debian üblich - in einer Root-Shell auszuführen:
- Als Paketquelle wird das TLP-PPA für Ubuntu 10.04 verwendet. Dafür ist folgende Zeile in /etc/apt/sources.list einzutragen
deb http://ppa.launchpad.net/linrunner/tlp/ubuntu lucid main
- Public-Key des TLP-PPA hinterlegen
apt-key adv --keyserver gpg-keyserver.de --recv-keys 02D65EFF
- Update der Quellen
apt-get update
Pakete installieren
- tlp (PPA)
- tp-smapi-dkms (main) - optional **ThinkPad, ermöglicht das Einstellen der Akkuladeschwellen und erweiterte Statusanzeigen.
- smartmontools (main) - optional, ermöglicht die Anzeige von SMART-Daten für die Festplatte(n) durch tlp-stat.
- ethtool (main) - optional, ermöglicht es Wake On LAN zu deaktivieren.
- powertop (main) - optional, zur Messung des Stromverbrauchs
Die Pakete installiert man über die Paketverwaltung oder im Terminal:
apt-get install --no-install-recommends tlp tp-smapi-dkms smartmontools ethtool powertop
Arch Linux
TLP für Arch Linux ist über AUR erhältlich. Die Installation ist im Arch Wiki beschrieben.
openSUSE 11.3, 11.4
Zur Installation von TLP auf openSUSE müssen folgende Schritte in einer Root-Shell ausgeführt werden:
- Hinzufügen der Paketquellen in openSUSE 11.3
zypper ar http://download.opensuse.org/repositories/openSUSE:/11.3:/Contrib/standard/openSUSE:11.3:Contrib.repo (falls Contrib Repo noch nicht aktiv) zypper ar http://download.opensuse.org/repositories/home:/cdersch:/TLP/openSUSE_11.3/home:cdersch:TLP.repo
- Hinzufügen der Paketquellen in openSUSE 11.4
zypper ar http://download.opensuse.org/repositories/openSUSE:/11.4:/Contrib/standard/openSUSE:11.4:Contrib.repo (falls Contrib Repo noch nicht aktiv) zypper ar http://download.opensuse.org/repositories/home:/cdersch:/TLP/openSUSE_11.4/home:cdersch:TLP.repo
- Paketquellen aktualisieren
zypper ref
Pakete installieren
- tlp
- tp_smapi-kmp-$kernelname - optional, z.b. zum Setzen der Akkuladeschwellen bei ThinkPads erforderlich. Passend zur Kernelversion (lässt sich mit uname -r prüfen), in den meisten Fällen tp_smapi-kmp-desktop, installieren!
- smartmontools - optional, ermöglicht die Anzeige von SMART-Daten für die Festplatte(n) durch tlp-stat.
- ethtool - optional, ermöglicht es Wake On LAN zu deaktivieren.
- powertop - optional, zur Messung des Stromverbrauchs
Zur Installation über das Terminal folgendes Kommando als root eingeben (tp_smapi Paketnamen evtl anpassen):
zypper in tlp tp_smapi-kmp-desktop smartmontools ethtool powertop
Start
Nach der Installation wird TLP beim nächsten Systemstart automatisch aktiv. Alternativ kann man es an der Kommandozeile sofort starten mit
sudo tlp start
Einstellungen vornehmen
- alle TLP-Einstellungen finden sich in /etc/default/tlp: ausführliche Beschreibung.
- Änderungen können ohne Neustart des Systems aktiviert werden mit
sudo tlp start
Terminal-Kommandos
Debian: alle in diesem Kapitel beschriebenen, mit sudo beginnenden Kommandos, sind, wie bei Debian üblich, ohne sudo in einer root-Shell auszuführen.
wifi, bluetooth, wwan
Integriertes WLAN, Bluetooth und WWAN (UMTS) lassen sich im Terminal ein-, aus- und umschalten bzw. bei Aufruf ohne Parameter abfragen:
wifi [ on | off | toggle ]
Hinweis: Für Intel 2200bg- und 2915abg-Karten muß das Kommando mit sudo
aufgerufen werden.
bluetooth [ on | off | toggle ]
wwan [ on | off | toggle ]
Debian: die Kommandos wifi, bluetooth und wwan müssen in einer root-Shell ausgeführt werden.
Hinweis: Voraussetzung für die gezeigten Funktionen ist, daß die Hardware das rfkill-Framework des Kernels unterstützt (Ausnahme: Intel 2200/2915). Zur Überprüfung gibt man
rfkill list
ein und schaut ob die gewünschte Geräteklasse wifi/bluetooth/wwan in der Auflistung erscheint (für Debian ist zuvor das Paket rfkill zu installieren).
ThinkPad SL-, L- und Edge-Baureihe, X100e: Bluetooth und WWAN lassen sich bis einschließlich Ubuntu 10.04 wg. fehlender rfkill-Unterstützung nicht schalten, da das Kernelmodul thinkpad_acpi nicht lädt; ab 10.10 entfällt diese Einschränkung.
tlp-stat
Statusbericht aller aktiven Einstellungen erstellen:
sudo tlp-stat
tlp
Einstellungen für die momentane Stromquelle aktivieren/testen
sudo tlp start
Einstellungen für Akkubetrieb aktivieren
(unabhängig von der tatsächlichen, momentanen Stromquelle)
sudo tlp bat
Einstellungen für Betrieb am Netzteil aktivieren
(unabhängig von der tatsächlichen, momentanen Stromquelle)
sudo tlp ac
Stromspar-Einstellungen für WLAN aktivieren
(nur für unterstützte Adapter bzw. Kernel)
sudo tlp wifi
Auto Suspend für alle angeschlossenen USB-Geräte aktivieren
(außer in Blacklist enthaltene und Eingabegeräte)
sudo tlp usb
Optisches Laufwerk in Wechselschacht/Ultrabay ausschalten
sudo tlp bayoff
Hinweise zu bayoff:
- Das Laufwerk kann über den Wechselschacht-/Ultrabay-Entriegelungsschieber bzw. bei neueren Modellen über den Auswurfknopf am Laufwerk wieder eingeschaltet werden.
- Alle anderen Geräte in Wechselschacht/UltraBay, insbesondere Festplatten, werden durch dieses Kommando nicht ausgeschaltet.
Akku im Betrieb am Netzteil entladen **ThinkPad
Dient zum Rekalibrieren.
sudo tlp discharge [ BAT0 | BAT1 ]
Mit dem Parameter BAT0
(Default) wird der Hauptakku, mit BAT1
der Ultrabayakku entladen. Das Kommando zeigt laufend die verbleibende Kapazität und Entladezeit an. Das Entladen kann jederzeit mit Strg+C abgebrochen werden.
Hinweise:
- das Kommando funktioniert nur mit angeschlossenem Netzteil
- während des Entladevorgangs kann ganz normal mit dem ThinkPad gearbeitet werden
- bei Problemen mit dieser Funktion bitte auch die TLP FAQ beachten
Akku-Ladeschwellen vorübergehend ändern **ThinkPad
Die Ladeschwellen werden auf die angegebenen Werte gesetzt (nur für ThinkPads, nicht SL, L- und Edge-Baureihe).
Wertebereich von 1 bis 100; START_SCHWELLE muß kleiner als die STOP_SCHWELLE - 3 sein. Gibt man keine Parameter an, werden die in den Einstellungen angegebenen Schwellen für den Hauptakku (BAT0) verwendet.
sudo tlp setcharge [ START_SCHWELLE STOP_SCHWELLE [ BAT0 | BAT1 ] ]
Die geänderten Akku-Ladeschwellen werden beim nächsten Systemstart wieder auf die in den Einstellungen vorgegebenen Werte gesetzt.
Akku-Ladeschwellen vorübergehend auf Maximum setzen **ThinkPad
Die Ladeschwellen werden auf 96/100% gesetzt. Dient dazu den Akku voll aufzuladen (nur für ThinkPads, nicht SL, L- und Edge-Baureihe).
sudo tlp fullcharge [ BAT0 | BAT1 ]
Die geänderten Akku-Ladeschwellen werden beim nächsten Systemstart wieder auf die in den Einstellungen vorgegebenen Werte gesetzt.
Akku rekalibrieren **ThinkPad
Hinweis: der Rekalibrierungsvorgang sorgt dafür, daß die Elektronik im Akku Ladezustand und Kapazität korrekt wiedergibt. Verschlissene oder defekte Akkuzellen werden dadurch nicht repariert.
Zum Rekalibrieren entlädt man den Akku einmal vollständig am Netzteil mit
sudo tlp discharge [ BAT0 | BAT1 ]
Anschließend lädt man den Akku auf 100% mit
sudo tlp fullcharge [ BAT0 | BAT1 ]
Disk ID
tlp diskid
Ermittelt die IDs der Festplatten zur Angabe im Konfigurationsparameter DISK_DEVICES.
Statusbericht
sudo tlp stat
Entspricht tlp-stat.
run-on-ac, run-on-bat
Bedingtes Starten von Befehlen in Abhängigkeit von der aktiven Stromquelle:
run-on-ac befehl parameter ... run-on-bat befehl parameter ...
Der befehl
wird nur ausgeführt, wenn die passende Stromquelle (-ac
für das Netzteil, -bat
für den Akku) aktiv ist. Dies kann man z.B. in "System -> Einstellungen -> Startprogramme" verwenden.
Details aller Befehle erhält man auch per:
man <befehl>
Lizenz
TLP ist nach der GPL Version 2 lizensiert. Die Quellen sind im PPA verfügbar (tlp_VERSION.tar.gz).
Portierungen
Bisher ist TLP für Ubuntu, Debian und Arch Linux verfügbar. Alle notwendigen Informationen um TLP für weitere Distributionen anzupassen bzw. zu paketieren finden sich in der TLP Programmdokumentation.
Support
FAQ
Erste Anlaufstation bei Fragen und Problemen ist die TLP FAQ.
Thinkpad-Forum
Für darüber hinaus gehende Fragen und Probleme gibt es einen Support-Thread im Thinkpad-Forum (selbstverständlich sind dort auch Nutzer anderer Fabrikate willkommen). Bitte bei Anfragen dort stets die vollständige Ausgabe von (möglichst im Akkubetrieb)
egrep -v '^#|^\s*$' /etc/default/tlp sudo tlp-stat
per http://paste.ubuntuusers.de beifügen.
Trace-Modus
Bei komplexen Fehlersituationen kann durch folgende Einstellung in /etc/default/tlp der Trace-Modus aktiviert werden:
TLP_DEBUG="run rf pm usb sysfs"
Die gesammelten Informationen können jederzeit mit
grep "tlp" /var/log/debug
ausgelesen werden,
Changelog
Version 0.3.2 - 04.07.2011
Fehlerbehebung:
- Bug #22: Runtime PM führt beim Herunterfahren stattdessen zum Neustart -> per Default deaktiviert (fabio)
Nachtrag 12.07.2011 - Paketversion 0.3.2-2
Fehlerbehebung für Ubuntu und Debian:
- Bug #23: Init-Skript wird nicht verlinkt/entfernt (LePatron)
Version 0.3.1 - 02.07.2011
Fehlerbehebung:
- Bug #18: fehlerhafte Ausgabe "started in bat mode" von
tlp start
im Netzbetrieb (yatpu) - Bug #19: fehlerhafte Ausgabe von
tlp-stat
bei Braodcom-WLAN mit wl-Treiber (DrPaulaner) - Bug #20: im Kernel deaktiviertes PCIe ASPM korrekt handhaben und in
tlp-stat
ausweisen (Schmitti, g3eB4Y) - Bug #21: Akku-Attribute /sys/class/power_supply/BAT?/charge_* werden nicht erkannt (tanjapetri)
Neue Features und Änderungen:
- Runtime Power Management für PCI/SPI/I2C-Bus-Geräte (ccyx)
- Spindown Timeout je Festplatte unabhängig vom APM Level einstellbar (enrico65, hausmarke86)
tlp-stat
nur noch mit Root-Rechten (sudo
) ausführbar- Sperre für untere Ladeschwelle bei der Edge-Reihe entfernt. Die Anzeige von
tlp-stat
ist inkorrekt, dennoch funktioniert die Schwelle richtig. Ursache liegt in tp-smapi - Bash Completion für die Kommandos tlp, bluetooth, wifi, wwan
Version 0.3.0.202 - 07.05.2011
- Version 0.3.0.202 enthält gegenüber 0.3.0 keine Funktionserweiterungen, es wurden nur Anpassungen vorgenommen, die die Portierung auf andere Linux-Distributionen erleichtern sollen.
Ubuntu 9.10 Wartungsende:
- Release aus der Beschreibung entfernt, da das Wartungsende erreicht ist. Das Paket bleibt im PPA, es werden jedoch keine neuen TLP-Versionen mehr für 9.10 bereitgestellt.
Version 0.3.0 - 19.03.2011
Gewidmet den Opfern der Katastrophe in Japan.
Fehlerbehebung:
- WWAN/UMTS vor dem Suspend ausschalten (Workaround für Kernel- bzw. Network-Manager-Problem)
Neue Features:
- SCHED_POWERSAVE: bei geringer Last Anzahl der verwendeten CPU-Kerne reduzieren
- DISK_DEVICES: Festplatten können per ID aus /dev/disk/by-id angegeben werden (egalus)
- tlp diskid: o.g. IDs anzeigen
- DISK_IOSCHED: I/O-Scheduler je Festplatte angeben (egalus)
- PCIe ASPM
- START_CHARGE_THRESH: Ausnahmebehandlung für ThinkPad-Edge-Modelle die tp-smapi unterstützen - nur obere Ladeschwelle möglich
- Radeon-Taktfrequenz beinflussen - via /sys/class/drm/card*/device/power_profile
Packaging:
- Systemstart geändert von Upstart in SysV-Skript - /etc/init.d/tlp
- Natty
Nachtrag 20.03.2011 - Paketversion 0.3.0-2
Fehlerbehebung für Debian:
- DEVICES_TO_DISABLE_ON_STARTUP: das Abschalten der Funkgeräte beim Systemstart funktioniert jetzt zuverlässig
Version 0.2.8 - 27.09.2010
Neue Features:
- Support für Ubuntu 10.10 Maverick
- DISK_APM_LEVEL: es können Werte für mehrere Platten eingetragen werden (Stifflers_mom)
- USB_AUTOSUSPEND: Eingabegeräte werden automatisch vom Autosuspend ausgenommen, d.h. es ist kein Eintrag in USB_BLACKLIST mehr nötig
- tlp-stat: in der Liste der USB-Geräte wird der jeweilige Treiber angezeigt
Version 0.2.7 - 11.09.2010
Fehlerbehebung:
- USB Autosuspend und
tlp-stat
erfassen nicht alle Geräte - Bug #15:
tlp-stat
Abbruch bei Intel 2200bg (agape) - Bug #16: PHC_CONTROLS wird jetzt für alle Cores/CPUs gesetzt (pumpe et al.)
Neue Features:
- Ladeschwellen: neues Kommando
tlp setcharge
setzt temporäre Schwellen (crishu) - DEVICES_TO_DISABLE_ON_STARTUP: Zeitpunkt für das Abschalten von Bluetooth vor die Benutzeranmeldung verschoben
- USB Autosuspend: wird zusätzlich nach jedem WWAN-Verbindungsaufbau aufgerufen
Version 0.2.6 - 12.06.2010
Fehlerbehebung:
- Bug #14: Anmeldedialog erscheint stark verzögert mit
USB_AUTOSUSPEND=1
.
Neue Features:
tlp fullcharge
: Akku abweichend von den eingestellten Ladeschwellen voll aufladen.tlp-stat
zeigt an wenn kein Power Save für den WLAN-Adapter möglich ist: "off (not supported)".
Version 0.2.5 (-0ubuntu2) - 17.05.2010
Fehlerbehebung nur für Ubuntu 10.04:
- Das Paket pm-utils-powersave-policy wird ab sofort bei der Installation von TLP automatisch entfernt.
Hintergrund: durch einen Fehler "deaktiviert" pm-utils-powersave-policy die Stromsparfunktionen von TLP, wenn der SATA-Controller im BIOS auf den Modus "Compatible" eingestellt ist (Bugreport: LP# 514881). Da die Funktionalität von pm-utils-powersave-policy vollständig von TLP abgedeckt wird, kann es problemlos entfernt werden.
Version 0.2.5 - 03.05.2010
Fehlerbehebung:
- Bug #10: USB_AUTOSUSPEND=1 mit leerer USB_BLACKLIST führt zu stark verlängerter Bootzeit.
- Bug #11: tlp-stat-Fehlermeldung bei SSDs ohne APM.
Neue Features:
- #12: bluetooth/wifi/wwan toggle (thatgui).
- USB Autosuspend-Modus per Default eingeschaltet.
- WLAN Power Save für Ubuntu 10.04 (Kernel 2.6.32) wieder möglich (nur Intel 5x00).
- Anpassungen für Lucid.
Version 0.2.4 - 14.03.2010
Fehlerbehebung:
- Bug #8: Warnmeldung von
tlp-stat
"...No such file or directory" wenn weder internes Bluetooth noch WWAN vorhanden sind. - Bug #9: Ausgeschaltetes Ultrabaylaufwerk ist nach Suspend/Resume wieder eingeschaltet und wird erst nach Entfernen und erneutem Einschieben wieder erkannt.
Neue Features:
- Akku im Betrieb am Netzteil entladen (
tlp discharge
). run-on-ac
,run-on-bat
.
Version 0.2.3 - 07.03.2010
Fehlerbehebung:
- Bug #7: Medium nicht ausgehängt (umount) vor dem Abschalten des Ultrabay-Laufwerks; keine Erkennung optischer Laufwerke != /dev/sr0.
Version 0.2.2 - 06.03.2010
Fehlerbehebung:
- Bug #3: Bluetooth läßt sich nicht mehr einschalten, wenn es zuvor beim Systemstart ausgeschaltet wurde. Die Lösung ist nur ein Workaround für einen Bug in Ubuntu (rfkill); Bluetooth wird nun erst bei der Benutzeranmeldung ausgeschaltet.
- Bug #5: Kernelmodul tp_smapi wird von
tlp
undtlp-stat
nicht automatisch geladen. - Bug #6: Warnmeldung "tlp: [: 79: -a: unexpected operator" (WLAN Intel 2200bg).
Neue Features:
- Umstellung des Systemstarts von Init-Skript auf Upstart
- Erweiterte Ausgabe und Fehlerprüfungen bei
tlp-stat
- Optisches UltraBay-Laufwerk beim Wechsel zum Batteriebetrieb ausschalten (Parameter
BAY_POWEROFF_ON_BAT=1
) wifi on|off
für WLAN Intel 2200bg/2915abg (nur mitsudo
möglich)
Version 0.2.1 - 02.02.2010
Fehlerbehebung:
- Bug #1: Kommandos
pm-suspend
undpm-hibernate
bleiben hängen. - Bug #2: Warnmeldung "/usr/sbin/tlp: 79: cannot create /sys/class/scsi_host/host*/link_power_management_policy: Directory nonexistent".
Version 0.2.0 - 30.01.2010
Initiales Release.