Linux Projektvorstellung: TLP – Linux Stromsparen

Linux Betriebssystem

linrunner

Ubuntuversteher
Themenstarter
Registriert
22 Juni 2007
Beiträge
13.683
Nachdem im Forum öfters nachgefragt wird, wie man Linux die Feinheiten des Stromsparens beibringt, habe ich mich vor einiger Zeit entschlossen, meine Skriptsammlung in eine allgemein benutzbare Form zu bringen. Das Ergebnis möchte ich Euch an dieser Stelle vorstellen.

Dokumentation ist auf der offiziellen Website https://linrunner.de/tlp/ zu finden (die Infos in unserem Wiki werden von mir nicht mehr gepflegt und sind veraltet).

Fragen und Probleme einfach hier im Thread posten.

Für die erste Analyse benötige ich bitte stets den kompletten Output von

Code:
sudo tlp-stat
Anmerkung: ich fordere oft in der weiteren Analyse Teilausgaben an - das sollt ihr jedoch nicht selbstständig tun! Immer zuerst die vollständige Ausgabe.

Bitte auch die FAQ beachten!

Rückmeldungen der Art "alles funktioniert" sind natürlich auch gern gesehen ... :cool:
 
Zuletzt bearbeitet:
ahoi, dann stelle ich mal eine Frage zu meinen Einstellugen:

für beide Akkus ist tlp so eingestellt, dass die Werte zwischen 40 und 70 bzw. 80 % lliegen. Jedoch wird im Akkubetireb zunächst der externe gelert bis auf 5% runter. Dann wird umgeschaltet auf den internen. Das konnte ich nun in den letzten Tagen mehrfach beobachten, weil das TP zu Hause über Nacht nicht am Storm hing, sondern im Sleepmode zugeklappt in der Ecke lag.

Das scheint mir so aber nicht so zu sein, wie es sollte, oder? An welcher Stelle in der config muss ich denn dann mal schauen?
 
@Volvo-Berti : auch hier muss die Antwort leider knapp und abschlägig ausfallen: Lenovo lässt eine Änderung des Verhaltens nicht zu.

Welcher der beiden Akkus in welcher Reihenfolge entladen/geladen wird, ist in der EC Firmware hart kodiert (siehe FAQ). Von daher kann leider weder TLP noch irgendeine andere Software im bekannten Teil des Universums eine Änderung bewerkstelligen.

Die Unterschiede zwischen den Generationen wurden hier schon erwähnt: https://thinkpad-forum.de/threads/x270-mit-2-akkus-reihenfolge-der-akkus.244333/#post-2441354
 
Zuletzt bearbeitet:
sorry, da hab ich mich wohl unklar ausgedrückt. Mir gehts nicht um die Reihenfolge, sondern um die Entladung, die so tief geht trotz des Wertes in der config.
 
@Volvo-Berti beim Entladen der Akkus spielen die Ladeschwellen bzw. deren Config überhaupt keine Rolle. Die sind nur beim Aufladen relevant, ansonsten müßten sie auch anders heißen.

Beim Entladen schaltet der EC um, sobald der aktive Akku (fast) leer ist. Hard coded.
 
Hallo Linrunner.

die Rekalibrieren sowie die Discharge Funktion von TLP funktioniert auf einem frisch aufgesetzten x200 nicht.
Error: there is no hardware driver support for battery recalibrate.

Scheinbar fehlt ein Kernel Treiber, ich vermute es ist tp_smapi. Hab es zwar nachinstalliert, aber ich krieg es nicht nachgeladen. In /lib/modules ist der Treiber nicht auffindbar und unter lsmod taucht er auch nicht auf.

Hier ein paar Infos:
Code:
sudo tlp-stat -s -b
--- TLP 1.8.0 --------------------------------------------

+++ System Info
System         = LENOVO ThinkPad X200 7458AU2
BIOS           = CBET4000 25.06
EC Firmware    = 0.0
OS Release     = Void Linux
Kernel         = 6.12.48_1 #1 SMP PREEMPT_DYNAMIC Fri Sep 19 23:47:13 UTC 2025 x86_64
/proc/cmdline  = BOOT_IMAGE=/boot/vmlinuz-6.12.48_1 root=UUID=** ro loglevel=4
Init system    = sysvinit
Boot mode      = BIOS (CSM, Legacy)
Suspend mode   = s2idle shallow [deep]

+++ TLP Status
State          = enabled
RDW state      = enabled
Last run       = 15:40:30, 684 sec(s) ago
Mode           = AC
Power source   = AC

+++ Battery Care
Plugin: thinkpad
Supported features: charge thresholds
Driver usage:
* natacpi (thinkpad_acpi) = active (charge thresholds)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1:  0(off)..96(default)..99
* STOP_CHARGE_THRESH_BAT0/1:   1..100(default)

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = LGC
/sys/class/power_supply/BAT0/model_name                     = 42T4648
/sys/class/power_supply/BAT0/cycle_count                    =      0 (or not supported)
/sys/class/power_supply/BAT0/energy_full_design             =  56160 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  47820 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  33330 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Not charging

/sys/class/power_supply/BAT0/charge_control_start_threshold =     40 [%]
/sys/class/power_supply/BAT0/charge_control_end_threshold   =     70 [%]

Charge                                                      =   69.7 [%]
Capacity                                                    =   85.1 [%]

+++ Recommendations
* Install kernel 5.17 (or later) for battery recalibration support

Dazu sei ferner gesagt. Es handelt sich um ein gelibrebootetes x200. Wie du auch wohl bemerkt hast, steht hinter der EC Version der Wert 0. Außderm ist der Init Prozess falsch, es handelt sich um Runit. Und S3 wird (auch laut powertop) unterstützt. Paar Ungereimtheiten, aber das ist evtl auch auf LB zurückzuführen..
 
@Ambrosius Die Recalibration wird doch unter Coreboot/Libreboot von nahezu keinem ThinkPad unterstützt, oder?

Teste einmal diese ectool Befehle, um ein "Force Discharge" und somit eine Kalibrierung anzustoßen: https://www.ott.net/installing-coreboot/res/coreboot/x200/#Recalibrate_batteries

Vorher unbedingt die Ladeschwellen wieder so zurücksetzen, dass (temporär) auf 100% geladen wird! Bei z.B. einem T440p sind es andere Argumente (Blogbeitrag), aber prinzipiell sollte es über so einen Trick funktionieren. Völlig ohne TLP oder ACPI-Unterstützung.
 
Zuletzt bearbeitet:
Die Recalibration wird doch unter Coreboot/Libreboot von nahezu keinem ThinkPad unterstützt, oder?
Das weiss ich nicht. Ich hoffe nicht.

Ich hab die Tlp Docs etwas eingehender studiert, bin aber nicht darauf gestoßen.

Teste einmal diese ectool Befehle
Damit sind die coreboot utils gemeint, oder? Ich hab cb hier noch nicht geklont, könnte das aber demnächst mal machen.
Danke für den Tipp.
 
Das gucke ich mir mal an. Ich würde den Faden hier auf TLP fokussiert lassen.

Ich hab auch gerade diesen Nebenthread wiedergefunden:
Hatte das noch vage im Hinterkopf gehabt. @linrunner : wenn du magst können wir den Faden drüben wieder aufnehmen. Hab nämlich die Ausgaben von den anderen dort verglichen und es scheint als hättest du Recht @KB19 Coreboot unterstützt kein Rekalibrieren. Was sehr schade ist.
 
@Ambrosius der richtige Treiber ist bereits aktiv:
natacpi (thinkpad_acpi) = active (charge thresholds)
Coreboot (Libreboot) bildet nämlich auf dem X200 die ACPI-Calls des Lenovo-BIOS der neueren Modelle (ab Sandy Bridge, X220 et al.) für die Ladeschwellen nach. Der ACPI-Call für force-discharge wird hingegen nicht unterstützt. Man sieht das auch daran, dass /sys/class/power_supply/BAT0/charge_behaviour nicht da ist. Genausowenig wird tp-smapi als Kerneltreiber unterstützt.

Leider kann man nicht alles haben.

ps. das Thema force-discharge wird auch nicht wieder aufgenommen, solange der notwendige ACPI-Call nicht in Coreboot ist und vom Kernel akzeptiert wird.
 
TLP 1.9.0 ist heute fertig geworden. Meinen herzlichsten Dank an die unermüdlichen Alpha- und Beta-Tester hier im Forum!


Für Ubuntu stehen bereits Pakete im PPA zur Verfügung. Die offiziellen Distributionspakete dauern wie immer ihre Zeit, bis die jeweiligen Maintainer sie aktualisiert haben. Ich halte euch auf dem Laufenden.

ps. über ein paar Boosts würde ich mich freuen.
 
Zuletzt bearbeitet:
ps2. keiner von euch bei Mastodon, der einen Boost absetzen kann? :(
 
  • ok1.de
  • IT Refresh - IT Teile & mehr
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben