Wie stelle ich die Ladeschwellen des Laptop-Akkus ein?

12

Mein Laptop ist Lenovo T400 und das Betriebssystem ist Ubuntu 12.04.

Ich konnte die Schwellenwerte für das Starten und Beenden des Ladevorgangs des Akkus nicht anpassen. Ich habe festgestellt, dass die aktuelle Startladeschwelle etwa 40% und die Stoppladeschwelle etwa 60% beträgt. Ich habe vergessen, ob ich es war und welches Programm ich zur Steuerung des Akkus verwendet habe, um den Ladevorgang bei 60% zu beenden und den Ladevorgang bei 40% zu starten.

Ich folgte meinem vorherigen Beitrag /ubuntu/58789/how-to-check-charged-percentage-of-battery-and-to-adjust-its-thresholds , aber ich finde nicht /sys/devices/platform/smapi. Auch ich habe /proc/acpi/battery/BAT0/, aber ich habe nur drei Dateien alarm, infound state.

Ich möchte die Schwellenwerte anpassen. Also frage ich mich, wie das geht?

Tim
quelle
Versuchen Sie es modprobe tp_smapials root und prüfen Sie dann, ob die Dateien unter vorhanden /sys/devices/platform/smapisind.
Renan
@ Renan: Das Modul wurde nicht gefunden FATAL: Module tp_smapi not found..
Tim
1
Installieren Sie tp_smapi gemäß den dortigen Anweisungen: thinkwiki.org/wiki/… und versuchen Sie es erneut.
Renan
@ Renan: Ist tp_smapi nur für Lenovo Laptops? Unterscheiden sich die Batterieladeverwaltungsmodule für verschiedene Laptop-Marken?
Tim
Einige Lenovo Laptops verfügen über bestimmte Funktionen, auf die Sie mit tp_smapi zugreifen können. Ich weiß nicht , über andere Marken, aber sie haben wahrscheinlich ähnliche Werkzeuge (Ich habe einen Dell - Laptop , und ich sehe , dass ich eine haben dell_laptop und dell_wmiModul, zum Beispiel, ich erforschte es nie zu sehen , was es tut)
Renan

Antworten:

4

Sie müssen installieren tp_smapi-dkms, tun Sie es einfach

apt-get install tp_smapi-dkms

Wenn Sie fertig sind lsmod | grep tp_smapi, überprüfen Sie, ob das Modul geladen ist, und passen Sie die Ladeschwellen an

echo 40 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 60 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh

Fügen Sie diese Zeilen hinzu /etc/rc.local, um sie beim Booten auszuführen.

Dieses Modul funktioniert mindestens auf X220.

Gänseblümchen
quelle
Wenn jemand die Erlaubnis auch mit Sudo-Berechtigungen verweigert bekommt, versuchen Sie es echo 60 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh.
Andrey Kaipov
8

Neuere Lenovo ThinkPads (wie mein E540) sind nicht mit tp_smapi-dkms kompatibel. Glücklicherweise stellte ich fest, dass das TLP-Dienstprogramm eines von zwei verschiedenen Modulen verwenden kann - das tk_smapi- Modul oder das thinkpad_acpi-DKMS-Modul -, um die Schwellenwerte an die Batterie zu übermitteln.

Heutzutage ist TLP über Standard-Ubuntu- oder Debian-Repositorys verfügbar. (Sie können jedoch von der neuesten Version profitieren, die auf der TLP-Website verfügbar ist , um die Pakete zu installieren.)

Stellen Sie nach der Installation von TLP die Schwellenwerte für die Batterieladung in zwei Zeilen in der Konfigurationsdatei / etc / default / tlp ein

START_CHARGE_THRESH_BAT0=65
STOP_CHARGE_THRESH_BAT0=80

In diesem Beispiel wird TLP angewiesen, die Batterieschwellenwerte so einzustellen, dass der Ladevorgang bei 65% beginnt und der Ladevorgang bei 80% beendet wird. Ich finde, dass die Schwellenwerte auch beim Booten auf einem anderen Betriebssystem, auf dem TLP nicht installiert ist, korrekt bestehen bleiben. (Obwohl ich davon ausgehe, dass beim Booten von Windows oder einem anderen Betriebssystem, auf dem Energieverwaltungstools installiert sind, dieses Betriebssystem möglicherweise die zuvor festgelegten Ladeschwellen überschreibt.)

Geben Sie den folgenden Terminalbefehl ein, um den Akku VORÜBERGEHEND vollständig aufzuladen:

 $ sudo tlp fullcharge

Der Akku wird dann auf seine maximale Kapazität aufgeladen und kehrt anschließend zu den vorherigen Schwellenwerten zurück.

Hinweis: Wenn Ihr Laptop kein "ThinkPad" ist, kann TLP den Ladezustand Ihres Akkus wahrscheinlich nicht einstellen . Wenn Ihr Anbieter ein Energieverwaltungsdienstprogramm für Windows bereitstellt, können Sie wahrscheinlich mit Windows starten, um die Ladezustände des Akkus festzulegen, und dann unter Linux neu starten. Nach meiner Erfahrung bleiben die Einstellungen für die Batterieladeschwelle nach dem Neustart des Systems bestehen.

Tommy Trussell
quelle
Dies funktioniert nur für ThinkPads. Was ist mit anderen Modellen?
Akronix
@Akronix Ich glaube, TLP kann auf verschiedenen Arten von Laptops installiert werden und hängt je nach Hardware, Firmware und Architektur von verschiedenen Bibliotheken ab. Ich bin erst kürzlich auf die verschiedenen Bibliotheken aufmerksam geworden, weil mein relativ modernes Lenovo TLP etwas anders verwendet als ältere ThinkPads.
Tommy Trussell
Es funktioniert jedoch nicht in meiner G-Serie Lenovo
Akronix
@Akronix Ich musste schauen ... mein ThinkPad ist ein E540. Indem ich den Menüs unter support.lenovo.com folgte, stellte ich fest, dass meine als "Edge Series Thinkpad" bekannt ist. Ich musste viele Websites erkunden, bevor fast die gesamte Hardware wie gewünscht funktionierte (ich habe zum Beispiel den Fingerabdrucksensor aufgegeben).
Tommy Trussell
1
@Akronix Ja, ich habe Windows noch nie auf meinem gestartet. Ich habe wahrscheinlich immer noch die Festplatten, aber ich habe versucht, "rein" zu bleiben. Leider hat Lenovo anscheinend die Unterstützung von Linux auch auf meinem Modell stillschweigend eingestellt, obwohl ich es gekauft habe, weil es für Ubuntu und Red Hat "zertifiziert" war.
Tommy Trussell
1

Auf meinem Laptop (Yoga 260) musste ich acpi-call-dkms herunterladen, das das Kernelmodul acpi_call bereitstellt:

sudo apt install tlp acpi-call-dkms
sudo tlp setcharge 40 60 #set the start and stop thresholds to 40% and 60%

Ausgabe von sudo tlp stat -b:

--- TLP 1.1 --------------------------------------------

+++ ThinkPad Battery Features
tp-smapi   = inactive (unsupported hardware)
tpacpi-bat = active

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SMP
/sys/class/power_supply/BAT0/model_name                     = 00HW027
/sys/class/power_supply/BAT0/cycle_count                    = (not supported)
/sys/class/power_supply/BAT0/energy_full_design             =  44000 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  37970 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  18910 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Unknown (threshold effective)

tpacpi-bat.BAT0.startThreshold                              =     40 [%]
tpacpi-bat.BAT0.stopThreshold                               =     60 [%]
tpacpi-bat.BAT0.forceDischarge                              =      0

Charge                                                      =   49.8 [%]
Capacity                                                    =   86.3 [%]
Takhisis
quelle
Warum 40 60? Hört der Ladevorgang wirklich bei 60% auf? Warum ist da BAT0/status = Unknown- scheint seltsam.
hrvoj3e
@ hrvoj3e Ich habe gerade 40 60 als Beispiel für die Übereinstimmung mit der Antwort von daisy gewählt, aber der Grund, warum Sie den Ladevorgang bei 60% beenden möchten, ist, dass dies die Lebensdauer des Akkus verlängern kann: superuser.com/questions/502328/… The "Unknown" Status ist genau das, was es sagt, wenn es weder geladen noch entladen wird. Ich hatte es auf 49,8% entladen und dann das Ladegerät wieder angeschlossen, und da es immer noch über dem Startschwellenwert liegt, würde es nicht aufgeladen.
Takhisis