tpacpi-bat: Akkufunktionen für X220/T420 etc. – schon jemand Erfahrungen?

linrunner

Ubuntuversteher
Themenstarter
Registriert
22 Juni 2007
Beiträge
13.274
Zuletzt bearbeitet:
find /lib/modules/ -type f -name acpi_call* gibt nichts aus, ist das normal?

Auf jeden Fall hat sich was geändert, wenn auch noch nicht in der Weise wie es sein sollte:

Code:
fabio@ThinkPad:~$ find /lib/modules/ -type f -name acpi_call*
fabio@ThinkPad:~$ sudo depmod -a
fabio@ThinkPad:~$ ./tpacpi-bat startChargeThreshold 1 75
Could not find /proc/acpi/call. Is module acpi_call loaded?
fabio@ThinkPad:~$ sudo modprobe acpi_call
fabio@ThinkPad:~$ ./tpacpi-bat startChargeThreshold 1 75
Cannot write to /proc/acpi/call: Keine Berechtigung at ./tpacpi-bat line 268.
fabio@ThinkPad:~$
 
Also lags doch an einem fehlenden depmod. Wie wäre es mit
Code:
sudo -s
./tpacpi-bat startChargeThreshold 1 75
 
Hab ich gemacht, und jetzt meckert auch nichts mehr. Mal schauen, ob nacher auch wirklich die Ladeschwelle gesetzt ist.

Mit sudo -s bin ich je als root angemeldet, und wenn ich das Terminal schließen will, bekomme ich eine Meldung, dass noch ein Prozess läuft. Wie melde ich mich als root wieder ab?
 
exit
das geht auch als normaler user. das fenster schließt sich dann
 
Bei mir läuft das Skript soweit gut unter archlinux.
Ein paar Fragen sind noch übrig:
Wie verträgt sich das Kernelmodul mit tp_smapi, und tlp?
Muss das einstellen der Ladeschwellen mit dem Skript bei jedem booten gemacht werden?
 
So mal ein Update:

Es scheint jetzt so weit alles zu funktionieren. Hab die obere Ladeschwelle weiterhin über TLP und tp-smapi gesetzt (85%) und die untere mit acpi_call und tpacpi-bat (75%). Hab danach voll laden lassen -> obere Ladeschwelle wird eingehalten. Danach auf 81% entladen, Stecker rein -> untere Ladeschwelle wird eingehalten. Heruntergefahren, Stecker raus und wieder rein, hochgefahren -> Ladeschwelle wird auch dann eingehalten wenn das Laptop aus ist.

@X220 Ei sieht also so aus, als reicht es das einmal zu machen, wenn man eine Änderung vornimmt.

Jetzt bin ich nur mal gespannt, wie sich das über die Zeit hinweg verhält, denn wie gesagt unter Windows gibt es nach kurzer Zeit krasse Sprünge wenn man die Ladeschwellen einstellt. Ich hoffe ja stark, dass es an den Lenovo-Treibern liegt. Werd ich dann berichten.

Vielen Dank an depeee, Myon und yaptu!!
 
Die Schwellen-Einstellungen in TLP sind natürlich zu deaktivieren, tp-smapi an sich sollte nicht stören. Wenn man die Schwellen nicht bei jedem Boot setzt, sind sie nach Entnehmen des Akkus wech.
 
ich vermute mal, dass nach entfernen des akkus die werte neu gesetzt werden müssen.

edit:
etwas zu langsam...
 
Und wie kann ich es so einstellen, dass sie nach jedem Boot gesetzt werden?

@linrunner warum "natürlich zu deaktivieren"? Klappt doch so, oder kann das unter Umständen schaden?

EDIT: nochwas, wo würdet ihr den Ordner mit dem Modul acpi_call und das tpacpi-bat-Skript ablegen? Ich hab es jetzt zum testen im persönlichen Ordner, wo es aber nicht bleiben soll.
 
Zuletzt bearbeitet:
Du baust den Skriptaufruf in /etc/rc.local ein (ohne sudo).

Auf zwei Wegen vorgenommene Einstellungen sorgen mindestens für Verwirrung im Problemfall. Sowas macht man einfach nicht.
 
Ok, werd ich dann aus TLP rausnehmen.

In der rc.local trage ich dann einfach nur ein:
Code:
./tpacpi-bat startChargeThreshold 1 75
./tpacpi-bat stopChargeThreshold 1 85

oder muss ich davor auch ein modprobe acpi_call setzen?

Code:
modprobe acpi_call
./tpacpi-bat startChargeThreshold 1 75
./tpacpi-bat stopChargeThreshold 1 85

Kann ich die Dateien irgendwo anders hin verschieben oder sie mit "." verstecken? Apropos, wenn ich das über die rc.local setzen lasse, stimmen dann die Pfade noch? dann muss ich sicher den ganzen Pfad zum Skript angeben oder?
 
Zuletzt bearbeitet:
Das Skript sollte nach /usr/local/sbin/ dann braucht es in rc.local auch keinen Pfad.
 
ok, danke. Muss ich dann das ganze Prozedere mit make und sudo make install acpi_call nochmal machen oder reicht es wenn ich die Dateien rüberschiebe?

Und modprobe mit in die rc.local?
 
einfach dorthin schieben.
das modul brauchst du nicht verschieben. das liegt bereits irgendwo unterhalb von /lib/modules/. bei jedem kernelupgrade muss das modul jedoch neu kompiliert werden.
 
acpi_call war nicht mit "Skript" gemeint, sondern tpacpi-bat. acpi_call bleibt wo es ist. Zum Laden des Kernelmoduls nimmst Du eine Zeile in /etc/modules auf:
Code:
acpi_call
 
@yaptu oh, gut zu wissen.

@linrunner kann ich den Ordner acpi_call nicht auch irgendwo anders hin verschieben - oder den originalen Ordner an anderer Stelle nochmals kompilieren?
 
Zuletzt bearbeitet:
das modul wird nicht aus dem verzeichnis heraus geladen, in dem es kompiliert wurde, sondern aus seinem platz unterhalb von /lib/modules. daher kannst du das verzeichnis beliebig umbenennen und/oder verschieben. nach jedem kernelupdate musst du dann wieder in das verzeichnis wechseln und dort make und sudo make install ausführen..
 
Hab ich grad gemacht. Hab das Verzeichnis einfach "unsichtbar" gemacht.

Ich hab jetzt auch in /etc/modules acpi_call eingetragen, tpacpi-bat nach /usr/local/sbin kopiert und in die /etc/rc.local die Befehle

Code:
./tpacpi-bat startChargeThreshold 1 75
./tpacpi-bat stopChargeThreshold 1 85

eingetragen. Aber wenn ich den Akku entferne, hochfahre und dann den Netzstecker wieder einstöpsel erkennt er die Ladeschwellen nicht wieder. Scheinen also nicht automatisch gesetzt zu werden und musste sie per Hand wieder setzen.

Vielleicht setzt die rc.local die Ladeschwellen bevor das Modul geladen ist? Ich hatte im Wiki irgendwas von sleep gelesen. Aber das versuch ich vielleicht morgen.

P.S.: aus TLP sind die Ladeschwellen raus.
 
du musst das "./" weglassen, da du das script jetzt nicht mehr aus dem verzeichnis, indem es liegt, aufrufst. /usr/local/sbin gehört zum suchpfad für programme. dort kann es ohne exakte angabe des speicherortes gefunden und aufgerufen werden.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben