tp_smapi / Ladeschwellen auf T420(s)/X220/... - Tester gesucht

Specialist

Member
Themenstarter
Registriert
1 Feb. 2011
Beiträge
56
Hallo zusammen,

scheinbar funktioniert das tp_smapi-Kernelmodul zum Einstellen der Ladeschwellen nicht auf allen neuen ThinkPads (T420(s), X220, ?) auf Anhieb. Dabei gibt es zwei Probleme:
a) Der Embedded Controller wird nicht erkannt
b) Das Einstellen der Ladeschwellen funktioniert nicht zuverlässig

Da ich seit kurzem selbst ein T420s besitze, dachte ich mir, ich ändere mal etwas an dieser Situation. Das Ergebnis ist ein experimentelles tp_smapi-Paket, welches ohne Source-Code-Patches auf T420(s) und X220 geladen werden kann und bei dem sich die obere Ladeschwelle einstellen lassen sollte. Rückwärtskompatibel mit älteren ThinkPads sollte das Modul ebenfalls sein.

Was mir nun fehlt, sind Tester, bei denen das ungepatchte Modul nicht lädt oder bei denen das Einstellen der Ladeschwellen gemäß einem wie in http://thinkpad-forum.de/threads/11...vidia-Grafik?p=1104516&viewfull=1#post1104516 vorgeschlagen gepatchten Modul keine Wirkung zeigt.

Den Quellcode des gepatchten Moduls gibt es unter: https://github.com/ginkel/tp_smapi
Ein fertiges .deb für Ubuntu Natty gibt es unter: https://launchpad.net/~thilo.ginkel/+archive/thinkpad

Es wäre super, wenn sich ein paar Tester für folgendes Procedere fänden (Instruktionen für Ubuntu Natty - Nutzer anderer Distributionen können sich das Paket direkt aus den Quellen kompilieren):
Code:
sudo add-apt-repository ppa:thilo.ginkel/thinkpad
sudo apt-get update
sudo apt-get install tp-smapi-dkms
sudo rmmod tp_smapi thinkpad_ec # falls eine alte Version des Moduls noch geladen ist
sudo modprobe tp_smapi
cat /sys/devices/platform/smapi/BAT0/stop_charge_thresh # sollte standardmäßig 100 ausgeben
echo 95 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh
cat /sys/devices/platform/smapi/BAT0/stop_charge_thresh # sollte jetzt 95 ausgeben

Die untere Ladeschwelle lässt sich momentan leider noch nicht einstellen. Kann jemand der T420(s)/X220-Besitzer mit Dual-Boot-Umgebung bitte mal nachschauen, ob diese Einstellung unter Windows mit der Lenovo-Software konfigurierbar ist?

Bitte gebt bei eurer Rückmeldung euer ThinkPad-Modell sowie die genutzte Distribution und Kernel-Version an. Wenn etwas nicht klappt, ladet das Modul wie folgt bitte mit Debug-Ausgaben neu, wiederholt den Test und hängt den Schluss der dmesg-Ausgabe mit smapi-Bezug mit an:
Code:
sudo rmmod tp_smapi thinkpad_ec
sudo modprobe tp_smapi debug=1

Danke & viele Grüße
Specialist
 
Ja, ich verwende das Paket nicht weil es sich um einen i386 Build handeld ich aber ein amd64 System nutze. Da würde ich mir das schon ganz gerne selber passend bauen. Die Kernelheader habe ich inklusive des Kernels aus den Repositorys gezogen.
Leider (gottseidank) falsch:
tp-smapi-dkms_0.40-11~ppa3_all.deb (45.0 KiB)
tp-smapi-source_0.40-11~ppa3_all.deb (58.0 KiB)
*all* bedeutet architektur-neutral. es wurd ledeglich auf einem i386 gebaut...

warum baust du mit make? wenn du ein debian paket willst baust du mit dpkg-buildpackage
 
Hallo,

ich habe es auch mal ausprobiert und es sieht recht gut aus.

Code:
# uname -r 
2.6.38-8-generic-pae
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 11.04
Release:    11.04
Codename:   natty
# dmidecode -s system-version
ThinkPad T420
# dmidecode -s system-product-name
4236NGG
# cat /sys/devices/platform/smapi/BAT0/stop_charge_thresh
80

Ich freue mich auf eine untere Ladeschwelle :)
 
Hallo Specialist,

sehe ich es richtig, dass mit deinem Patch auch andere tp_smapi-abhängige Sachen (z.B. Festplattenschutz) wieder laufen müssten? Habe ein X220.

Viele Grüße
 
Sobald tp_smapi lädt, sollte auch der Festplattenschutz laufen. Wäre schön, wenn Du berichten könntest -> Funktionstest (heutzutage haben ja alle SSD ...)
 
Wobei man mit den Rotationssensoren ja schöne Sachen machen kann (http://www.thinkwiki.org/wiki/Script_for_theft_alarm_using_HDAPS).
Edit: Wenn die auf dem Mainboard sind, müsste die oben genannte Spielerei auch mit SSD funktionieren.
Danke für die Antwort!

Edit2: Der Festplattenschutz funktioniert jetzt. Mit der voreingestellten Empfindlichkeit 15 kann man tippen, ohne ein parken auszulösen. Sollte also passen.
Die obere Ladeschwelle funktioniert natürlich ebenfalls.

Modell: X220
2.6.38-8-generic
Natty

Eine Frage noch zum ppa: Welche Verbesserung bietet das dort angebotene Memtest? Es wird mir jetzt natürlich über die Aktualisierungsverwaltung angeboten, weswegen ich die originale Version pinnen müsste.

Grüße und vielen Dank an Specialist und linrunner.
 
Zuletzt bearbeitet:
Eine Frage noch zum ppa: Welche Verbesserung bietet das dort angebotene Memtest? Es wird mir jetzt natürlich über die Aktualisierungsverwaltung angeboten, weswegen ich die originale Version pinnen müsste.

Es friert auf Sandy-Bridge-CPUs im Gegensatz zum bei Natty mitgelieferten memtest 4.10 nicht bei der Initialisierung ein. ;-)
 
Danke für den Patch!

Ich nutze das X220 und habe mal den fix_hdaps_orientation.patch abgeändert, damit beim X220 auch die hdaps-Axen stimmen:
+ HDAPS_DMI_MATCH_INVERT("LENOVO", "ThinkPad X220", HDAPS_ORIENT_SWAP),

Grüße,
meega
 
Es friert auf Sandy-Bridge-CPUs im Gegensatz zum bei Natty mitgelieferten memtest 4.10 nicht bei der Initialisierung ein. ;-)
Jep, das war mir dann auch aufgefallen, als ich es interessehalber ausprobiert habe. Und dass deine Version funktioniert:thumbup:

Ab welcher Linux-Version werden diese Änderungen eigentlich integriert sein? Schon im 3.0 oder wird es auch in Backports zur Verfügung gestellt werden?

Viele Grüße
 
Hallo, danke für den Patch!

Zur revanche stelle ich hier gleich mal ein aktuelles Archlinux-Paket rein, das auf tp_smapi 0.40-6 basiert, diese Patches enthält und darum von mir tp_smapi 0.40-7 genannt wurde. (Muss in .tar.gz umbenannt werden.)

Es enthält auch
Code:
+ HDAPS_DMI_MATCH_INVERT("LENOVO", "ThinkPad X220", HDAPS_ORIENT_SWAP),

Download: Anhang anzeigen tp_smapi_new.tar.gz.txt
 
wie sieht es eigentlich jetzt mit der unteren Ladeschwelle aus? Ist die immer noch nicht möglich zu setzen oder hat sich da schon was getan?

Würde gerne meine Windows Partition vom Rechner schmeißen, aber erst wenn ich beide Ladeschwellen setzen kann, sonst steh ich da und muss immer warten bis mein Akku genügend entladen ist bevor ich wieder laden kann, selbst wenn ich mal gezwungen bin schnell aufzuladen.
 
sonst steh ich da und muss immer warten bis mein Akku genügend entladen ist bevor ich wieder laden kann, selbst wenn ich mal gezwungen bin schnell aufzuladen.
Und wie kommst Du auf diesen Blödsinn? Es ist völlig unnötig den Akku vor dem Laden zu entladen.
 
Wenn er eine untere Ladeschwelle unter Windows gesetzt hat und sie unter Linux nicht löschen kann, muss er den Akku ja entsprechend unter die Schwelle entladen, sonst weigert sich das Notebook ja ihn zu laden ;-)

Aber zum Thema:
Ich glaub es hat sich noch niemand die Arbeit gemacht, dass mal zu reverse-engineern oder jemanden ein paar Scheine in die Hand zu drücken, damit er sich mal ransetzt.
 
Zuletzt bearbeitet:
@linrunner ja, ich meinte das wie ccyx es beschrieben hat. Und warum Blödsinn? So steht es doch auch im ThinkWiki als Empfohlene Einstellung. Wenn ich die Ladeschwelle schön hoch setze, dann brauch ich die Funktion doch nicht. :)
 
Danke für den Patch/das Programm

obere Ladeschwelle einstellen klappt auf einem X220 super!

Hast du den Patch an die die Autoren weiter geleitet das er im "offiziellen" code auch landet?

Grüße
 
Hi,

schafft es die Version 0.41-1 noch in Oneiric? Der DebianImportFreeze war ja schon am 30.06.
 
Bisher scheint es mit dem tp_smapi (0.41) weiterhin nicht möglich, die start_charge_thresh und force_discharge Option bei einem T420 zu nutzen.

Da ich selbst eher zufällig auf eine andere (funktionierende) Möglichkeit zur Regelung der start-/stop Ladeschwellen bei einem T420 gestoßen bin, hier eine kleine Zusammenfassung der Informationen:

Benötigt wird:
Kernel-Modul acpi_call - https://github.com/mkottman/acpi_call
Perl-Script tpacpi-bat - https://github.com/teleshoes/tpbattstat-applet/blob/master/tpacpi-bat

Der Aufruf erfolgt dann z.B. so (1 = Hauptbatterie):
./tpacpi-bat startChargeThreshold 1 40
./tpacpi-bat stopChargeThreshold 1 80
./tpacpi-bat forceDischarge 1 no
./tpacpi-bat inhibitCharge 1 yes 17
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben