Projektvorstellung: Tpfanco - Wartung und Paketierung von tp-fan

Myon

Member
Themenstarter
Registriert
2 März 2007
Beiträge
795
Hi,

einige von euch werden sicherlich Thinkpad Fan Control (aka tpfand, tpfan-admin oder tp-fan) von S. Urban kennen. Da tp-fan leider seit Ubuntu Jaunty nicht mehr gewartet wird, waren ab Ubuntu 10.10 immer kompliziertere Anleitungen nötig, um das Ding doch zum Laufen zu bekommen. Da ich auf das Hacken von alten deb-Paketen keine Lust mehr habe und die Anleitungen mittlerweile sowieso größtenteils von mir stammen, habe ich nun mal beschlossen, ein Projekt zum Warten und Paketieren von tp-fan zu gründen:

http://code.google.com/p/tpfanco/

Die schlimmsten Launchpad Bugs von tp-fan sind gefixt, Pakete für Natty, Maverick und Lucid stehen zum Download bereit. Auch Kubuntu und Xubuntu werden unterstützt.

Ich habe zwar die Thinkpad Wiki Seite zu TPFC bereits aktualisiert, das offizielle Wiki ist jedoch das Googlecode-Wiki (derzeit nur auf Englisch). Dort finden sich auch Häufig gestellte Fragen und Installationshinweise.

Eine Launchpad-Seite mit PPA ist vorerst nicht geplant, das Paketieren für Nicht Debian basierte Distris müssen deren Benutzer wohl selbst übernehmen. Der Quellcode ist natürlich vorhanden, ebenso ein SVN Repository.

Wie kann man als Benutzer dem Projekt helfen?
Tests und Feedback seien erwünscht. Außerdem wäre es nett, wenn man gute Lüfterprofile für TP-Modelle einsenden könnte, für die es noch gar keine Profile gibt. Wie man das macht steht hier erklärt.

Gruß
Myon
 
Schade. Ich muss zugeben, dass ich mich bis jetzt kaum mit dem Fan Control Algorithmus von tpfand auseinandergesetzt habe, da der Code schließlich gar nicht von mir stammt. Wenn ich den Fehler aber gar nicht reproduzieren kann, kann ich ihn leider auch nicht beheben. Es bleibt also nur zu hoffen, dass sich ein T410s-Besitzer findet, der genug Python-Kenntnisse und Geduld mitbringt, um den Fehler einzugrenzen und eine Lösung zu finden.
 
Schade. Ich muss zugeben, dass ich mich bis jetzt kaum mit dem Fan Control Algorithmus von tpfand auseinandergesetzt habe, da der Code schließlich gar nicht von mir stammt.

Heißt das, dass du mehr maintainer und weniger upstream maintainer bist? Mit dem packaging und mit python kenne ich mich aktuell recht gut aus. Wenn ich mal zu viel Zeit habe, werde ich mir den Quellcode mal angucken. Habe vorhin mal kurz drüber geschaut. Auf die Schnelle sind mir da ein paar Schönheitsfehler aufgefallen. Nix, was die Funktionalität beeinträchtigt, aber im Zweifelsfalle zu Fehlern führen könnte.
Die ganzen Sachen, die Lintian bemängelt, könnte man auch noch ausmerzen und die debian-Verzeichnisse teilweise etwas verschlanken.
Ein Launchpad PPA zusammen mit einem Bazaar-Repository wäre noch was schönes für daily-builds...

Da kann man noch einiges machen :D
 
Zuletzt bearbeitet:
Ursprünglich wollte ich eigentlich nur paketieren und gelegentlich kleinere Fehler ausmerzen, aber jetzt stellt sich heraus, dass der Code doch auch größere Bugs enthält.

Mit dem Packaging kenne ich mich ehrlich gesagt auch nicht wirklich gut aus, da ich das erst seit September dieses Jahres mache. Erst heute ist mir aufgefallen, dass meine Änderungen im trunk von svn-buildpackage nicht automatisch in Patches umgewandelt werden, sondern dass ich das per Hand mit quilt machen muss. Naja ...

Vielleicht fragt man sich, warum ich das überhaupt mache, wenn ich davon so wenig Ahnung habe. Nun ist es aber so, dass sich seit fast zwei Jahren niemand gefunden hat, der tp-fan warten möchte, obwohl sich immer noch viele Benutzer für das Programm interessieren. Deshalb bin ich notgedrungen eingesprungen und lernfähig bin ich auf jeden Fall ;)

Zeit ist bei mir leider auch das größte Problem. In diesem Semester hab ich mit meiner Masterarbeit angefangen, dazu kommen noch zwei Seminare und eine Vorlesung. Da bleibt mir kaum Zeit für was anderes übrig.

Wenn du also etwas konstruktives wie z.B. packaging Tipps oder Patches beitragen möchtest, nur zu!

EDIT: Ich merke schon, dass svn-buildpackage eine ziemliche Krücke ist, da muss ich wohl oder übel auf git-buildpackage umsteigen.
 
Zuletzt bearbeitet:
Das tolle an open source ist ja, dass jeder mitmachen kann :)
Im Packaging stecke ich grad ganz gut drin, da ich jüngst ein paar Pakete für mein Institut an der Uni erstellt habe.
Bei mir ist es zeitlich aber das gleiche Problem wie bei dir, da ich in den nächsten zwei bis drei Wochen meine Diplomarbeit anmelden werde.
Aber ich werde demnächst auch mal darüber schauen. Und patchen via quilt ist auch kein Hexenwerk :)

Aber wie schon gesagt: Warum nicht den Code über Launchpad hosten? Da hat man dann ein Bazaar Repository und kan mittels recipe daily builds anwerfen. Dann hat man mit dem patching etc. auch nicht mehr so viel am Hut, wenn ich mich recht entsinne. Das Paket wird dann automatisch von Launchpad gebastelt. Über ein Packaging Team könnte man auch den Zugriff durch jedermann regulieren. An das Repository kommst doch momentan nur du ran, oder?
 
Zuletzt bearbeitet:
Mittlerweile glaube ich, dass es fast einfacher wäre, die Änderungen als upstream einzupflegen und daraus dann Pakete zu bauen. Es stehen umfangreiche Code-Änderungen bevor und das alles als Patches gegen die letzte Release-Version aus 2009 zu implementieren kann schnell unübersichtlich werden.

Wo der Code aktuell gehostet wird, spielt meiner Meinung nach aktuell keine so große Rolle. Daily builds ergeben bei einigen wenigen Änderungen pro Monat keinen Sinn und da bis jetzt keiner irgend etwas zu dem Code beigetragen hat, muss ich vorerst niemanden den Zugriff auf das Repository gewähren. Auschecken kann natürlich jeder und wenn es mal nötig wird, kann man bei Googlecode problemlos weitere Entwickler hinzufügen, die ins Repository commiten können. Wenn man das Projekt irgendwann wirklich soweit ist, dass PPAs bereitgestellt werden müssen, kann man das immer problemlos nachholen.

Wie gesagt, mir fehlt leider aktuell die Zeit, mich mit der Sache gründlich zu beschäftigen. Die Masterarbeit ist schon an sich sehr programmierlästig und wenn ich abends nach einer Stunde Zugfahrt endlich zu Hause bin, fühle ich mich meist komplett ausgepowert.
 
Da hast du natürlich recht. Wenn es umfangreiche Änderungen gibt, ist es definitiv angenehmer, einfach ein 9.6 zu releasen, als ein 9.5-0ubuntu4 zu bauen. Ich werd da bald mal drüber schauen und gucken, ob ich da was dran getan bekomme. Irgendwie werd ich Dir die Änderungen dann zukommen lassen.
 
Hey,

ich versuche gerade auch Fan Control zum Laufen zu bekommen.
Klappt nur nicht.

wenn ich auf das Admin Tool starten will, kommt die Fehlermeldung, dass ich kein Thinkpad hätte oder das acpi nicht geladen ist.
mit
Code:
 sudo /etc/init.d/tpfand start[/ CODE]  passiert auch nichts...

Wenn ich [CODE]echo level 1 | sudo tee /proc/acpi/ibm/fan
mache, geht der Lüfter zwar kurz etwas zurück, dreht dann aber wieder auf...

Hoffe ihr könnt mir weiterhelfen...
Bin jetzt auf Linux Mint umgestiegen.... ;)
 
tpfanco geht auf dem X220 nicht, da /proc/acpi/ibm/thermal nicht vorhanden ist. Probier es mit Thinkfan und beachte den Abschnitt zu deiner Hardware.

@Myon, Fusel Wusel: ich hab die Abgrenzung für T420(s)/T520/W520/X220 mal ins Wiki geschrieben.
 
Zuletzt bearbeitet:
Hm aber das Verzeichnis gibts bei mir xD
Oder wurde das nur neu angelegt ?
 
Ist das normal dass der Lüfter beim Starten erst gehörig aufdreht ?^^
 
Ich versteh den Zusammenhang deiner Frage mit tpfanco nicht. "Geht nicht" bleibt "geht nicht". Das "warum?" wird ja in diesem Thread besprochen.
 
Zuletzt bearbeitet:
Eine kleine Rückmeldung zu dem aktuellen Stand des Projekts. In der Zwischenzeit habe ich versucht, herauszufinden,
wie man das Pulsieren des Lüfters bei manchen Modellen verhindern könnte. Laut Thinkwiki scheint das Problem an sich bekannt zu sein, allerdings waren davon vor allem die T4x und X3x Modelle betroffen. Was die neueren Modellen angeht, so wird dort lediglich das X60 erwähnt. Bei meinem Z61m taucht das Problem jedenfalls nicht auf und auch sonst gab es von T6x/Z6x/R6x-Besitzern bis jetzt keinerlei Beschwerden über pulsierende Lüftergeräusche.

Das Pulsieren an sich wird laut ThinkWiki durch einen Fehler in der EC-Firmware verursacht. Weil der EC alle Paar Sekunden versucht, die Drehzahl des Lüfters an die Sollwerte anzupassen, kommt es zu dem beobachteten Verhalten. Softwaremäßig lässt sich das Problem umgehen, indem man den Lüfter alle 3-4 Sekunden für sehr kurze Zeit (ca. 0.5 s) in den "disengaged"-Modus schaltet. Dabei wird der EC komplett deaktiviert, der Lüfter muss dann mit der maximaler Drehzahl laufen. Nun ist es aber so, dass es meist 4-5 Sekunden dauert, bis die maximale Drehzahl erreicht ist. Während der 0.5 s mit ausgeschaltetem EC kann sich die Geschwindigkeit des Lüfters so gut wie gar nicht ändern. Da aber der EC für diese Zeit aus ist, hat er gar keine Möglichkeit, die Lüfterdrehzahl anzupassen, was ja die Ursache für das Pulsieren ist. So ungefähr ist das auch bei thinkfan gelöst.

Nun bezieht sich all das primär auf die älteren Modelle (T4x und X3x). Offenbar tritt das Problem aber auch (vereinzelt?) bei den neuesten Modellen auf. Ob die Ursache die gleiche ist, kann ich mangels eines "passenden" Thinkpads leider nicht sagen.

Die Lösung mit dem kurzzeitigen Ausschalten des EC habe ich nun auch bei tpfand implementiert, und bin gerade dabei die (noch unveröffentlichte) Version einem Dauertest zu unterziehen. Ebenfalls neu ist der Debug-Modus.

Wer Lust hat, kann die Beta auch jetzt testen, das angehängte deb-Paket wurde direkt aus dem trunk (r33) gebaut.

Der Debug-Modus wird folgendermaßen gestartet:
Code:
sudo /etc/init.d/tpfand stop
sudo /usr/sbin/tpfand --debug

Der "pulsing fan fix" ist aktuell immer an und lässt sich (noch) nicht abschalten, außer man entfernt es direkt aus dem Python-Code. Anfangs dachte ich mir, die entsprechende Option mal eben schnell in die GUI einzubauen, bis mir klar wurde, dass die GUI noch auf Libglade aufsetzt. Die müsste ich also erst mal auf GtkBuilder portieren.
 
Vielen Dank für das wunderbare Tool! Hab das Pech gehabt, einen X60T mit ratterndem Lüfter erwischt zu haben und konnte ihn dank tpfan ruhig stellen. :thumbsup: Habe vor lauter Begeisterung gleich mal bei Launchpad eine Übersetzung ins Russische reingestellt. Noch ein paar Fragen und Anmerkungen:

1. Wo wir gerade bei der Übersetzung sind: Die Version in Archs AUR ist auf Englisch, obwohl laut Launchpad die deutsche Übersetzung komplett ist.

2. Ich habe irgendwo etwas von einem Tray-Icon für tpfan aufgeschnappt, aber hier unter Arch gibt es keins, ist das Tray-Icon vielleicht Windows-only?

3. Ich würde gern mein Profil fürs X60T reinschicken, bin aber nicht so fit in Sachen Lüftersteuerung, daher vorsichtshalber die Nachfrage: Ist es ok für das System, wenn es bei ca. 65°C gehalten wird?

4. Ein Feature-Request: Eine Möglichkeit zur Verwaltung mehrerer Profile auf dem gleichen Gerät wäre genial. Anwendungsfall: Mein derzeitiges Profil erlaubt es dem Thinkpad recht warm zu werden, dafür ist der Lüfter die meiste Zeit aus. Das ist gut, wenn der Laptop auf dem Tisch in der Uni-Bibliothek steht, aber schlecht, wenn ich ihn in der Hand halte und mich nicht verbrennen will. Oder ein weniger Tablet-spezifischer Anwendungsfall: Wenn der Laptop vom Akku läuft und die CPU auf powersave steht, wird er nicht so warm, wie wenn er am Strom hängt und die CPU auf Performance steht - damit ist auch das erwünschte Verhalten der Lüftersteuerung unterschiedlich.

In beiden Fällen wäre es sehr bequem zwischen mehreren Profilen wählen zu können. Dann noch eine Profilauswahl übers Kontextmenü eines Tray-Icons und die Perfektion ist erreicht. :)

MfG Photon
 
Hi Myon

Ich habe die "Beta" eben installiert (T410s).
Der Lüfter verhält sich allerdings genauso wie mit der letzten Version.
Auf 15% läuft er zwischen 1850 und 2050 rpm (genau wie letztes Mal).
Mit Thinkfan läuft er, wie schonmal erwähnt, recht konstant mit ca. 1950 rpm.

Ich bin jetzt nicht der Linuxversteher aber da du den Debug-Modus angesprochen hast und ich mit dem T410s ein "Problemkind" habe: kann ich noch irgendwelche Informationen liefern die helfen der Ursache des Pulsierens auf den Grund zu gehen?
 
Hi Myon

Ich habe die "Beta" eben installiert (T410s).
Der Lüfter verhält sich allerdings genauso wie mit der letzten Version.
Auf 15% läuft er zwischen 1850 und 2050 rpm (genau wie letztes Mal).
Mit Thinkfan läuft er, wie schonmal erwähnt, recht konstant mit ca. 1950 rpm.

Ich bin jetzt nicht der Linuxversteher aber da du den Debug-Modus angesprochen hast und ich mit dem T410s ein "Problemkind" habe: kann ich noch irgendwelche Informationen liefern die helfen der Ursache des Pulsierens auf den Grund zu gehen?

Schade. Tritt dieses Verhalten denn auch bei anderen Lüfterstufen (z.B. 30% oder 45%) auf? Im Debug-Modus kann man eben sehen, welche Sensoren berücksichtigt werden und welche Lüfterstufe gerade aktiv ist. Die Sensoren werden alle 4 Sekunden neu eingelesen. Du könntest eventuell mal schauen, ob dabei was Interessantes auftaucht.

EDITH sagt: Da thinkfan bei dir einwandfrei funktioniert, könntest du vielleicht schreiben, wie du es konfiguriert hast? Ich sehe gerade, dass im thinkfan-Packet aus den Ubuntu-Repos, der "pulsing-fan workaround" gar nicht aktiviert ist. :confused:

Vielen Dank für das wunderbare Tool! Hab das Pech gehabt, einen X60T mit ratterndem Lüfter erwischt zu haben und konnte ihn dank tpfan ruhig stellen. :thumbsup: Habe vor lauter Begeisterung gleich mal bei Launchpad eine Übersetzung ins Russische reingestellt. Noch ein paar Fragen und Anmerkungen:

1. Wo wir gerade bei der Übersetzung sind: Die Version in Archs AUR ist auf Englisch, obwohl laut Launchpad die deutsche Übersetzung komplett ist.

2. Ich habe irgendwo etwas von einem Tray-Icon für tpfan aufgeschnappt, aber hier unter Arch gibt es keins, ist das Tray-Icon vielleicht Windows-only?

3. Ich würde gern mein Profil fürs X60T reinschicken, bin aber nicht so fit in Sachen Lüftersteuerung, daher vorsichtshalber die Nachfrage: Ist es ok für das System, wenn es bei ca. 65°C gehalten wird?

4. Ein Feature-Request: Eine Möglichkeit zur Verwaltung mehrerer Profile auf dem gleichen Gerät wäre genial. Anwendungsfall: Mein derzeitiges Profil erlaubt es dem Thinkpad recht warm zu werden, dafür ist der Lüfter die meiste Zeit aus. Das ist gut, wenn der Laptop auf dem Tisch in der Uni-Bibliothek steht, aber schlecht, wenn ich ihn in der Hand halte und mich nicht verbrennen will. Oder ein weniger Tablet-spezifischer Anwendungsfall: Wenn der Laptop vom Akku läuft und die CPU auf powersave steht, wird er nicht so warm, wie wenn er am Strom hängt und die CPU auf Performance steht - damit ist auch das erwünschte Verhalten der Lüftersteuerung unterschiedlich.

In beiden Fällen wäre es sehr bequem zwischen mehreren Profilen wählen zu können. Dann noch eine Profilauswahl übers Kontextmenü eines Tray-Icons und die Perfektion ist erreicht. :)

MfG Photon

Danke für das Feedback.

Mit den AUR-Versionen habe ich eigentlich nichts zu tun, genauso wie mit der Launchpad-Seite. Der tpfan-Entwickler hat ja seit Mitte 2009 keine neuen Versionen rausgebracht, seitdem gibt es Einzelgänger (wie mich ;) ), die den ursprünglichen Code nach Kräften patchen und lauffähig halten. Von einer echten Weiterentwicklung mit neuen Features kann leider aktuell keine Rede sein. Ein Tray-Icon gab es meines Wissens nie, das Windows-Pendant TPFC ist wiederum ein komplett eigenständiges Projekt und hat mit tp-fan nichts zu tun.

Danke für deine Übersetzung. Ich versuche gerade, sie von Launchpad herunterzuladen. Komischerweise gibt es kein Direktlink, sondern die schicken einem ne Mail mit dem Link :facepalm: Egal, wenn ich soweit bin, werde ich sie ins Repository einchecken.

Ich kenne mich zwar mit X60-Modellen nicht so gut aus, aber 65°C im Dauerbetrieb hört sich irgendwie nicht so gut an, es sei denn du hast ständig hoche CPU-Last.
 
Zuletzt bearbeitet:
Meine Thinkfan-Config sieht so aus:
Code:
# 1) IBM/Lenovo Thinkpads (thinkpad_acpi, /proc/acpi/ibm)
# =======================================================
# All you need to do is set the temperature limits or stick with these
# defaults. So this config should work unmodified on any Thinkpad.
#
# It's also possible to specify sysfs temperature inputs, but you can't use
# /proc/acpi/ibm/thermal along with them.
# You could also explicitly specify "fan /proc/acpi/ibm/fan", but it's the
# default anyway.
#
#  Syntax:
#  (LEVEL, LOW, HIGH)
#  LEVEL is the fan level to use (0-7 with thinkpad_acpi)
#  LOW is the temperature at which to step down to the previous level
#  HIGH is the temperature at which to step up to the next level
#  All numbers are integers.
#
(0,	0,	38)
(1,	34,	55)
(2,	45,	58)
(3,	52,	60)
(4,	54,	62)
(5,	57,	64)
(7,	60,	32767)
Allerdings setzt man dort nur die Schwellen. Andere Feinheiten lassen sich nicht einstellen.

Die höheren Lüfterstufen muss ich mir nochmal ansehen.
Den Debug-Modus werd ich auch mal testen. Kann aber nicht versprechen das ich das heute noch mache.

*Edit* (wieder entfernt das ich schonmal die gleiche Frage gestellt hab ;) )
 
Zuletzt bearbeitet:
Achso, verstehe. Na dann werde ich doch glatt mal versuchen, ein AUR-Paket für den Fork zu erstellen. :)
 
Habe mir nun die höheren Stufen angesehen:

Lüfterstufe in % / Lüfterumdrehungen (abgelesen in tpfanco und via "sensors"-Befehl im Terminal)
30% / 3300-3500 RPM
45% / 3620-3800 RPM
60% wie 45% ? (Die Stufe gibts wohl nicht?)
75% / 3940-4100 RPM
90% wie 75% ? (Diese wohl auch nicht?)
100% / 4400-4700 RPM

Die Debug-Ausgabe folgt noch.

*Edit
Ich habe den Debug-Modus nun mal laufen lassen. Soweit ich das beurteilen kann war dort nichts auffälliges.
Im Leerlauf sieht das Bild so aus:
Code:
01:53:58: Polling the sensors
Current fan level: 2
Applying fan pulsing fix
Current sensor values:
    Sensor 0: 46
Setting fan level to 2

01:54:02: Polling the sensors
Current fan level: 2
Applying fan pulsing fix
Current sensor values:
    Sensor 0: 46
Setting fan level to 2
Und das wiederholt sich alle 4 Sekunden wie du es beschrieben hast.

Unter Last (Schwellen sind nur grob eingestellt):
Code:
01:56:23: Polling the sensors
Current fan level: 2
Applying fan pulsing fix
Current sensor values:
    Sensor 0: 55
Setting fan level to 255

01:56:27: Polling the sensors
Current fan level: 255
Current sensor values:
    Sensor 0: 55
Setting fan level to 255

01:56:30: Polling the sensors
Current fan level: 255
Current sensor values:
    Sensor 0: 52
Setting fan level to 2

01:56:34: Polling the sensors
Current fan level: 2
Applying fan pulsing fix
Current sensor values:
    Sensor 0: 50
Setting fan level to 2


*Edit #2
Als ich eben mein TP eingeschaltet habe, pulsierte der Lüfter noch stärker als direkt nach der Installation (bzw. dem Neustart danach).
Auf 15% lief er nun zwischen 1900 und 2500 rpm.
Hab daraufhin nochmal den Debug-Modus gestartet aber dort sieht es genauso aus wie gestern.
 
Zuletzt bearbeitet:
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben