TLP - ustawienia oszczędzania energii dla Ubuntu
Z ThinkPad-Wiki
Czym jest TLP?
Z każdym wydaniem Ubuntu wprowadzane są kolejne usprawnienia w zakresie zużycia energii w laptopach, dzięki czemu już przy prostej standardowej instalacji można osiągnąć całkiem dobre wyniki zużycia energii.
Pozostałe możliwości oszczędzania energii można łatwo znaleźć w internecie za pomocą wyszukiwarki. Wybór i zastosowanie ustawień odpowiednich dla własnego sprzętu i wersji Ubuntu spośród bogactwa wpisów na wiki, blogach i forach wymaga jednak od użytkownika często zaawansowanej wiedzy o Linuksie i Ubuntu.
Tu z pomocą ma przyjść TLP, ucząc Ubuntu niuansów oszczędzania energii, bez konieczności posiadania przez użytkownika szczegółowej wiedzy.
TLP nie zastępuje istniejącego zarządzania energią w Ubuntu, lecz je uzupełnia. W tym celu TLP jest wywoływany przez zarządzanie energią Ubuntu przy starcie systemu i przy każdej zmianie źródła zasilania, a następnie dokonuje swoich ustawień.
TLP nadaje się do wszystkich laptopów, jednak ustawianie progów ładowania akumulatora jest dostępne tylko dla ThinkPadów IBM/Lenovo.
Odpowiedzi na dalsze pytania dotyczące TLP znajdziesz w TLP FAQ.
Funkcje
Ustawienia zależne od źródła zasilania
Poniższe ustawienia, obejmujące również istotne zalecenia narzędzia Powertop, są wprowadzane automatycznie w zależności od aktywnego źródła zasilania (akumulator/zasilacz):
- Tryb laptopa jądra (Kernel Laptop Mode) i limity czasu zapisu buforów systemu plików z powrotem na dysk twardy
- Poziom Advanced Power Management dla każdego dysku twardego
- Planista I/O dla każdego dysku twardego
- SATA Aggressive Link Power Management (ALPM)
- PCI Express Active State Power Management (PCIe ASPM); od Ubuntu 10.10 lub jądra 2.6.35
- Częstotliwość taktowania Radeon; od Ubuntu 10.10 lub jądra 2.6.35 (nie fglrx)
- Tryb oszczędzania energii WLAN (WiFi) dla kart ze sterownikiem iwlagn (Intel 5100, 5300, ...); od Ubuntu 10.04 lub jądra 2.6.32
- Wake on LAN (tylko wyłączanie)
- Tryb oszczędzania energii audio dla dźwięku Intel HDA i AC97
- USB Auto Suspend z możliwością czarnej listy urządzeń; urządzenia wejściowe są automatycznie pomijane
- Ustawienia PHC dla undervoltingu (wymaga jądra z łatką PHC)
- Progi ładowania akumulatora **ThinkPad
- Wyłączanie napędu optycznego we wnęce wymiennej lub UltraBay (przy przejściu na zasilanie bateryjne)
Uwaga **ThinkPad: tak oznaczone ustawienia wymagają tp-smapi i dlatego działają tylko w ThinkPadach, nie działają jednak w seriach SL, L i Edge ani w X100e.
Ustawienia przy starcie systemu
- Zintegrowane Bluetooth, WLAN i WWAN (UMTS) można selektywnie wyłączać przy starcie systemu lub przed jego zamknięciem
- Stan włączenia/wyłączenia zintegrowanego WWAN jest automatycznie przywracany po suspend i hibernacji
Zakres działania
Opcje konfiguracji, których TLP celowo nie uwzględnia, opisano w TLP FAQ.
Instalacja
Wymagania
- Własne ustawienia lub skrypty oszczędzania energii, np. w /etc/rc.local, są dezaktywowane, w przeciwnym razie należy spodziewać się trudnych do przewidzenia rezultatów.
- Pakiet laptop-mode-tools nie jest zainstalowany.
Ubuntu
Do źródeł pakietów Ubuntu należy dodać TLP-PPA poleceniem
sudo add-apt-repository ppa:linrunner/tlp sudo apt-get update
Instalacja pakietów - od Ubuntu 10.04
- tlp (PPA)
Wskazówka (tylko Ubuntu 10.04): pakiet Ubuntu pm-utils-powersave-policy jest automatycznie odinstalowywany, ponieważ może zakłócać działanie TLP.
- tp-smapi-dkms (universe) - opcjonalny **ThinkPad, umożliwia ustawianie progów ładowania akumulatora oraz rozszerzone wskazania stanu.
- smartmontools (main) - opcjonalnie, umożliwia wyświetlanie danych SMART dysku/dysków przez tlp-stat.
- ethtool (main) - opcjonalny, umożliwia wyłączenie Wake On LAN.
Debian
Poniższe kroki należy, jak zwykle w Debianie, wykonać w powłoce roota:
- Jako źródło pakietów używane jest TLP-PPA dla Ubuntu 10.04. W tym celu należy dodać następującą linię w /etc/apt/sources.list
deb http://ppa.launchpad.net/linrunner/tlp/ubuntu lucid main
- Dodanie klucza publicznego TLP-PPA
apt-key adv --keyserver gpg-keyserver.de --recv-keys 02D65EFF
- Aktualizacja źródeł
apt-get update
Instalacja pakietów - Debian 6.0 „Squeeze”
- tlp (PPA)
- tp-smapi-dkms (main) - opcjonalny **ThinkPad, umożliwia ustawianie progów ładowania akumulatora i rozszerzone wyświetlanie stanu.
- smartmontools (main) - opcjonalnie, umożliwia wyświetlanie danych SMART dysku/dysków przez tlp-stat.
- ethtool (main) - opcjonalny, umożliwia wyłączenie Wake On LAN.
Arch Linux
TLP dla Arch Linux jest dostępny w AUR. Instalacja jest opisana w Arch Wiki.
Uruchomienie
Po instalacji TLP uaktywni się automatycznie przy następnym uruchomieniu systemu. Alternatywnie można go uruchomić od razu z wiersza poleceń za pomocą
sudo tlp start
Konfiguracja
- wszystkie ustawienia TLP znajdują się w /etc/default/tlp: szczegółowy opis.
- Zmiany można aktywować bez ponownego uruchamiania systemu za pomocą
sudo tlp start
Polecenia terminala
Debian: wszystkie opisane w tym rozdziale polecenia zaczynające się od sudo należy - jak zwykle w Debianie - wykonywać bez sudo w powłoce roota.
wifi, bluetooth, wwan
Zintegrowane WLAN, Bluetooth i WWAN (UMTS) można w terminalu włączać, wyłączać i przełączać, a po wywołaniu bez parametrów sprawdzać ich stan:
wifi [ on | off | toggle ]
Wskazówka: w przypadku kart Intel 2200bg i 2915abg polecenie należy wywołać z sudo.
bluetooth [ on | off | toggle ]
wwan [ on | off | toggle ]
Debian: polecenia wifi, bluetooth i wwan należy wykonywać w powłoce roota.
Wskazówka: warunkiem działania pokazanych funkcji jest obsługa przez sprzęt frameworka rfkill jądra (wyjątek: Intel 2200/2915). Aby to sprawdzić, wpisz
rfkill list
i sprawdź, czy żądana klasa urządzeń wifi/bluetooth/wwan pojawia się na liście (w Debianie należy wcześniej zainstalować pakiet rfkill).
ThinkPad serii SL, L i Edge, X100e: Bluetooth i WWAN nie dają się przełączać do Ubuntu 10.04 włącznie z powodu braku obsługi rfkill, ponieważ moduł jądra thinkpad_acpi się nie ładuje; od 10.10 to ograniczenie nie występuje.
tlp-stat
Utworzenie raportu o stanie wszystkich aktywnych ustawień:
sudo tlp-stat
tlp
Aktywacja/test ustawień dla bieżącego źródła zasilania
sudo tlp start
Aktywacja ustawień dla pracy na akumulatorze
(niezależnie od faktycznego, bieżącego źródła zasilania)
sudo tlp bat
Aktywacja ustawień dla pracy na zasilaczu
(niezależnie od faktycznego, bieżącego źródła zasilania)
sudo tlp ac
Aktywacja ustawień oszczędzania energii dla WLAN
(tylko dla obsługiwanych adapterów lub jąder)
sudo tlp wifi
Aktywacja auto suspend dla wszystkich podłączonych urządzeń USB
(z wyjątkiem urządzeń z czarnej listy i urządzeń wejściowych)
sudo tlp usb
Wyłączanie napędu optycznego we wnęce wymiennej/Ultrabay
sudo tlp bayoff
Wskazówki dotyczące bayoff:
- Napęd można ponownie włączyć za pomocą dźwigni zwalniającej wnęki wymiennej/Ultrabay, a w nowszych modelach przyciskiem wysuwania na napędzie.
- Wszystkie inne urządzenia we wnęce wymiennej/UltraBay, w szczególności dyski twarde, nie są wyłączane tym poleceniem.
Rozładowywanie akumulatora podczas pracy na zasilaczu **ThinkPad
Służy do rekalibracji.
sudo tlp discharge [ BAT0 | BAT1 ]
Z parametrem BAT0 (domyślnie) rozładowywany jest akumulator główny, z BAT1 akumulator UltraBay. Polecenie na bieżąco wyświetla pozostałą pojemność i czas rozładowania. Rozładowywanie można w każdej chwili przerwać za pomocą Ctrl+C.
Uwagi:
- polecenie działa tylko z podłączonym zasilaczem
- podczas rozładowywania można normalnie pracować na ThinkPadzie
- w razie problemów z tą funkcją prosimy zapoznać się także z TLP FAQ
Tymczasowa zmiana progów ładowania akumulatora **ThinkPad
Progi ładowania zostaną ustawione na podane wartości. Zakres wartości od 1 do 100; PRÓG_START musi być mniejszy niż PRÓG_STOP. (tylko dla ThinkPadów, nie dla serii SL, L i Edge).
sudo tlp setcharge START_SCHWELLE STOP_SCHWELLE [ BAT0 | BAT1 ]
Zmienione progi ładowania akumulatora zostaną przy następnym uruchomieniu systemu ponownie ustawione na wartości zdefiniowane w ustawieniach.
Tymczasowe ustawienie progów ładowania akumulatora na maksimum **ThinkPad
Progi ładowania zostaną ustawione na 96/100%. Służy to do pełnego naładowania akumulatora (tylko dla ThinkPadów, nie dla serii SL, L i Edge).
sudo tlp fullcharge [ BAT0 | BAT1 ]
Zmienione progi ładowania akumulatora zostaną przy następnym uruchomieniu systemu ponownie ustawione na wartości zdefiniowane w ustawieniach.
Rekalibracja akumulatora **ThinkPad
Uwaga: proces rekalibracji sprawia, że elektronika w akumulatorze prawidłowo podaje stan naładowania i pojemność. Zużyte lub uszkodzone ogniwa akumulatora nie zostaną w ten sposób naprawione.
Aby przeprowadzić rekalibrację, należy raz całkowicie rozładować akumulator przy zasilaczu sieciowym poleceniem
sudo tlp discharge [ BAT0 | BAT1 ]
Następnie należy naładować akumulator do 100% poleceniem
sudo tlp fullcharge [ BAT0 | BAT1 ]
Disk ID
tlp diskid
Ustala identyfikatory dysków do podania w parametrze konfiguracyjnym DISK_DEVICES.
Raport stanu
sudo tlp stat
Odpowiada poleceniu tlp-stat.
run-on-ac, run-on-bat
Warunkowe uruchamianie poleceń w zależności od aktywnego źródła zasilania:
run-on-ac befehl parameter ... run-on-bat befehl parameter ...
befehl zostanie wykonane tylko wtedy, gdy aktywne jest odpowiednie źródło zasilania (-ac dla zasilacza, -bat dla akumulatora). Można tego użyć np. w „System -> Preferencje -> Programy startowe”.
Szczegóły wszystkich poleceń można również uzyskać poleceniem:
man <befehl>
Licencja
TLP jest licencjonowany na podstawie GPL w wersji 2. Źródła są dostępne w PPA (tlp_VERSION.tar.gz).
Portowanie
Dotychczas TLP jest dostępny dla Ubuntu, Debiana i Arch Linuksa. Wszystkie informacje potrzebne do dostosowania TLP do innych dystrybucji lub utworzenia pakietów znajdują się w dokumentacji programu TLP.
Wsparcie
FAQ
Pierwszym miejscem, do którego warto się zwrócić w razie pytań i problemów, jest TLP FAQ.
Forum Thinkpad
W przypadku dalszych pytań i problemów istnieje wątek na forum Thinkpad (oczywiście użytkownicy innych marek są tam również mile widziani). Przy zapytaniach należy zawsze podawać pełne wyjście polecenia (możliwie podczas pracy na akumulatorze)
egrep -v '^#|^\s*$' /etc/default/tlp sudo tlp-stat
za pośrednictwem http://paste.ubuntuusers.de.
Tryb trace
W przypadku złożonych błędów można aktywować tryb trace za pomocą następującego ustawienia w /etc/default/tlp:
TLP_DEBUG="run rf pm usb sysfs"
Zebrane informacje można w każdej chwili odczytać poleceniem
grep "tlp" /var/log/debug
odczytać,
Changelog
Wersja 0.3.0.201 - 07.05.2011
- Wersja 0.3.0.201 nie zawiera w porównaniu z 0.3.0 żadnych nowych funkcji; wprowadzono jedynie dostosowania, które mają ułatwić przeniesienie na inne dystrybucje Linuksa.
Koniec wsparcia dla Ubuntu 9.10:
- Wydanie usunięto z opisu, ponieważ zakończył się okres wsparcia. Pakiet pozostaje w PPA, jednak nowe wersje TLP dla 9.10 nie będą już udostępniane.
Wersja 0.3.0 - 19.03.2011
Dedykowane ofiarom katastrofy w Japonii.
Poprawki błędów:
- Wyłączanie WWAN/UMTS przed wstrzymaniem (obejście problemu jądra lub Network Managera)
Nowe funkcje:
- SCHED_POWERSAVE: przy niskim obciążeniu zmniejszanie liczby używanych rdzeni procesora
- DISK_DEVICES: dyski można podawać za pomocą ID z /dev/disk/by-id (egalus)
- tlp diskid: wyświetlanie powyższych ID
- DISK_IOSCHED: określanie planisty I/O dla każdego dysku (egalus)
- PCIe ASPM
- START_CHARGE_THRESH: obsługa wyjątku dla modeli ThinkPad Edge obsługujących tp-smapi – możliwy tylko górny próg ładowania
- Wpływanie na taktowanie Radeona – przez /sys/class/drm/card*/device/power_profile
Pakietowanie:
- Uruchamianie systemu zmieniono z Upstart na skrypt SysV – /etc/init.d/tlp
- Natty
Uzupełnienie 20.03.2011 - wersja pakietu 0.3.0-2
Poprawki błędów dla Debiana:
- DEVICES_TO_DISABLE_ON_STARTUP: wyłączanie urządzeń bezprzewodowych przy starcie systemu działa teraz niezawodnie
Wersja 0.2.8 - 27.09.2010
Nowe funkcje:
- Wsparcie dla Ubuntu 10.10 Maverick
- DISK_APM_LEVEL: można wpisać wartości dla kilku dysków (Stifflers_mom)
- USB_AUTOSUSPEND: urządzenia wejściowe są automatycznie wyłączane z autosuspend, tzn. wpis w USB_BLACKLIST nie jest już potrzebny
- tlp-stat: na liście urządzeń USB wyświetlany jest odpowiedni sterownik
Wersja 0.2.7 - 11.09.2010
Poprawki błędów:
- USB Autosuspend i
tlp-statnie obejmują wszystkich urządzeń - Bug #15: przerwanie
tlp-statprzy Intel 2200bg (agape) - Bug #16: PHC_CONTROLS jest teraz ustawiane dla wszystkich rdzeni/procesorów (pumpe et al.)
Nowe funkcje:
- Progi ładowania: nowe polecenie
tlp setchargeustawia progi tymczasowe (crishu) - DEVICES_TO_DISABLE_ON_STARTUP: moment wyłączenia Bluetootha przesunięto przed logowanie użytkownika
- USB Autosuspend: dodatkowo wywoływane po każdym nawiązaniu połączenia WWAN
Wersja 0.2.6 - 12.06.2010
Poprawki błędów:
- Bug #14: okno logowania pojawia się z dużym opóźnieniem przy
USB_AUTOSUSPEND=1.
Nowe funkcje:
tlp fullcharge: pełne naładowanie akumulatora niezależnie od ustawionych progów ładowania.tlp-statwyświetla informację, gdy oszczędzanie energii dla karty Wi-Fi nie jest możliwe: „off (not supported)”.
Wersja 0.2.5 (-0ubuntu2) - 17.05.2010
Poprawka błędów tylko dla Ubuntu 10.04:
- Pakiet pm-utils-powersave-policy jest od teraz automatycznie usuwany podczas instalacji TLP.
Tło: z powodu błędu pm-utils-powersave-policy „dezaktywuje” funkcje oszczędzania energii TLP, gdy kontroler SATA w BIOS-ie jest ustawiony na tryb „Compatible” (zgłoszenie błędu: LP# 514881). Ponieważ funkcjonalność pm-utils-powersave-policy jest w pełni pokryta przez TLP, pakiet można bez problemu usunąć.
Wersja 0.2.5 - 03.05.2010
Poprawki błędów:
- Bug #10: USB_AUTOSUSPEND=1 z pustą USB_BLACKLIST powoduje znacznie wydłużony czas uruchamiania.
- Bug #11: komunikat o błędzie tlp-stat przy dyskach SSD bez APM.
Nowe funkcje:
- #12: przełączanie bluetooth/wifi/wwan (thatgui).
- Tryb USB Autosuspend domyślnie włączony.
- Oszczędzanie energii Wi-Fi dla Ubuntu 10.04 (jądro 2.6.32) znów możliwe (tylko Intel 5x00).
- Dostosowania dla Lucid.
Wersja 0.2.4 - 14.03.2010
Poprawki błędów:
- Bug #8: ostrzeżenie
tlp-stat„...No such file or directory”, gdy nie ma ani wewnętrznego Bluetootha, ani WWAN. - Bug #9: wyłączony napęd Ultrabay po suspend/resume jest ponownie włączony i zostaje rozpoznany dopiero po wyjęciu i ponownym włożeniu.
Nowe funkcje:
- Rozładowanie akumulatora podczas pracy na zasilaczu (
tlp discharge). -
run-on-ac,run-on-bat.
Wersja 0.2.3 - 07.03.2010
Poprawki błędów:
- Bug #7: nośnik nie jest odmontowywany (umount) przed wyłączeniem napędu Ultrabay; brak rozpoznawania napędów optycznych != /dev/sr0.
Wersja 0.2.2 - 06.03.2010
Poprawki błędów:
- Bug #3: Bluetooth nie daje się już włączyć, jeśli został wcześniej wyłączony przy starcie systemu. Rozwiązanie to tylko obejście błędu w Ubuntu (rfkill); Bluetooth jest teraz wyłączany dopiero przy logowaniu użytkownika.
- Bug #5: moduł jądra tp_smapi nie jest automatycznie ładowany przez
tlpitlp-stat. - Bug #6: ostrzeżenie „tlp: [: 79: -a: unexpected operator” (Wi-Fi Intel 2200bg).
Nowe funkcje:
- Zmiana uruchamiania systemu ze skryptu init na Upstart
- Rozszerzone wyjście i kontrole błędów w
tlp-stat - Wyłączaj napęd optyczny UltraBay przy przełączeniu na zasilanie bateryjne (parametr
BAY_POWEROFF_ON_BAT=1) wifi on|offdla WLAN Intel 2200bg/2915abg (możliwe tylko zsudo)
Wersja 0.2.1 - 02.02.2010
Poprawki błędów:
- Bug #1: polecenia
pm-suspendipm-hibernatezawieszają się. - Bug #2: ostrzeżenie „/usr/sbin/tlp: 79: cannot create /sys/class/scsi_host/host*/link_power_management_policy: Directory nonexistent”.
Wersja 0.2.0 - 30.01.2010
Wydanie początkowe.

