TLP - Linux Stromsparen
Wozu 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 ist grundsätzlich für alle Laptop-Fabrikate geeignet, einige Einstellungsmöglichkeiten sind jedoch nur für IBM/Lenovo ThinkPads verfügbar.
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
- APM Level für die Festplatte(n)
- Wake on LAN (nur deaktivieren)
- SATA Link Power
- WLAN Power Save für Intel 3945abg- und 4965/5100/5300agn-Karten (diese Funktion ist leider seit Ubuntu 9.10 kernelseitig deaktiviert)
- Sound Power Save für Intel HDA- und AC97-Sound
- USB Autosuspend mit der Möglichkeit einer Geräte-Blacklist
- PHC-Einstellungen für Undervolting (erfordert einen Kernel mit PHC-Patch)
- Akku-Ladeschwellen (nur für ThinkPads, erfordert tp-smapi)
- Optisches Laufwerk in der UltraBay ausschalten (beim Wechsel zum Akkubetrieb, nur für ThinkPads)
Einstellungen beim Systemstart
- Integriertes Bluetooth, WLAN und WWAN (UMTS) lassen sich selektiv beim Systemstart bzw. vor dem Herunterfahren deaktivieren (Letzteres ist als Umgehungslösung gedacht, wenn das System beim Herunterfahren hängen bleibt)
- Der Schaltzustand Ein/Aus des integrierten WWAN wird nach Suspend und Hibernation automatisch wiederhergestellt
Abgrenzung
Folgende Themen berücksichtigt TLP (absichtlich) nicht:
- Lüftersteuerung (Lösungen sind bereits vorhanden: z.B. ThinkPad Fan Control)
- Grafikkarten-Stromsparmodi (Lösungswege sind stark treiberabhängig)
- Einschränkung bzw. Beinflussung der Prozessor-Taktfrequenzen (erhöht den Stromverbrauch, die Ubuntu-Standardeinstellung Ondemand-Governor ist bereits optimal)
Installation
Voraussetzungen
- Ubuntu
- Karmic Koala 9.10
- Lucid Lynx 10.04
- Paket devicekit-power in Version 013 oder höher - betrifft nur Ubuntu 9.10: die dort enthaltene Version 012 ist fehlerhaft und ruft die Skripte beim Wechsel der Stromquelle nicht zuverlässig auf, daher wird im TLP-PPA die Version 013 bereitgestellt.
- Die Laptop-Mode-Tools (siehe hier und hier) sind deaktiviert per
ENABLE_LAPTOP_MODE=false
in /etc/default/acpi-support; andernfalls verweigert TLP den Start. - eigene Stromspar-Einstellungen oder -Skripte z.B. in /etc/rc.local sind deaktiviert; ansonsten sind schwer vorhersagbare Resultate zu erwarten.
Paketinstallation
- manuell: hier herunterladen und mit
dpkg
installieren - automatisch: das TLP-PPA in die Ubuntu-Paketquellen eintragen mit
sudo add-apt-repository ppa:linrunner/tlp
Zu installierende Pakete
- tlp
- devicekit-power (nur Ubuntu 9.10)
- libdevkit-power-gobject1 (nur Ubuntu 9.10)
Optional:
- tp-smapi-source (Ubuntu 9.10) bzw. tp-smapi-dkms (Ubuntu 10.04) - ermöglicht das Einstellen der Akkuladeschwellen und erweiterte Statusanzeigen.
- smartmontools - ermöglicht die Anzeige von zusätzlichen Angaben zur Festplatte
Hinweis: nach der Installation von tp-smapi-source (Ubuntu 9.10) müssen die Kernelmodule erzeugt werden mit
sudo m-a a-i tp-smapi
Der Befehl ist zudem nach jedem Kernel-Update erneut auszuführen.
Konfiguration
- 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
wifi, bluetooth, wwan
Integriertes WLAN, Bluetooth und WWAN (UMTS) lassen sich im Terminal ein- und ausschalten bzw. bei Aufruf ohne Parameter abfragen:
wifi [ on | off ]
Hinweis: Für Intel 2200bg- und 2915abg-Karten muß das Kommando mit sudo
aufgerufen werden.
bluetooth [ on | off ]
wwan [ on | off ]
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 (diese Funktion ist leider seit Ubuntu 9.10 kernelseitig deaktiviert):
sudo tlp wifi
Auto Suspend für alle angeschlossenen USB-Geräte (außer in Blacklist enthaltene) aktivieren:
sudo tlp usb
Optisches Laufwerk in der Ultrabay ausschalten (nur für ThinkPads):
sudo tlp bayoff
Hinweise zu bayoff:
- Das Laufwerk kann über den Ultrabay-Entriegelungsschieber bzw. bei neueren Modellen über den Auswurfknopf am Laufwerk wieder eingeschaltet werden.
- Festplatten in der UltraBay werden durch dieses Kommando nicht ausgeschaltet.
Akku im Betrieb am Netzteil entladen, z.B. zum Rekalibrieren (nur für ThinkPads):
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.
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).
Support
Für Fragen und Probleme gibt es einen Thread im Thinkpad-Forum. Bitte bei Anfragen dort stets die vollständige Ausgabe von
sudo tlp-stat
beifügen.
Changelog
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 Management für Ubuntu 10.04 (Kernel 2.6.32) wieder möglich (nur Intel 5x00)
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.