NHC ACPI Skript für Thinkpads

Carl

New member
Registriert
17 Dez. 2006
Beiträge
156
Hallo,

UPDATE

Ab jetzt Beschreibung für v0.9
seit ca. 2 Monaten habe ich ein ACPI Skript für mein T43p für NHC geschrieben. Die Lüftersteuerung funktioniert. Also wer eine Alternative für die tpfanctrl sucht, der wird fündig. Es wird auch nur auf den Modellen funktionieren wo tpfanctrl funktioniert.

Ein paar Bemerkungen:

Es gilt wie immer: Für Schäden wird keine Verantwortung übernommen :D

Vorteile von tpfanctrl:
- schon lange im Einsatz, also getestet (so gesehen ist jetzt das Skript auch schon 6 Monate stabil im Einsatz...)
- Never Change a running System

Vorteile von NHC
- nur ein Programm gestartet
- keine Eintragungen wegen Konfilkten in das Systemprotokoll (da gibts zwar einen Ausweg, jedoch finde ich den persönliche nicht zu elegant)
- Zusätzliche Helligkeitssteuerung möglich
- Der Code ist um einiges leichter anzupassen als von tpfanctrl (c# hatte ich davor nie Programmiert, wer Java kennt wird keine Probleme haben)
- Wenn es die nächste NHC Version gibt werde ich mich an ein Gegenskript für die pulsierenden Lüfter setzten, außerdem werde ich versuchen die extended Fan Control für die x40 x30er Serie implementieren, jedoch funktioniert das Momentan wegen Einschränkungen noch nicht.
- individuel Regelbare Temperatursensoren (mehr dazu unten)


HowTo get startet:
NHC in der neusten Version installieren.
Die angehängte Datei runterladen und nach ACPI im NHC verzeichnis entpacken.
Die ibm.xml Datei anpassen: siehe hier
ACHTUNG Neuere Modelle müssen u.U. die ibm.xml in LENOVO.xml umbenennen.
EDIT:In der LENOVO.xml datei muss das erste und letzte ibm noch durch Lenovo ersetzt werden. Danke an Acesulfam für den Hinweis.
Danach NHC starten und ACPI anschalten.

Kurze Anleitung:
Modified Temperature
Hier steht die Temperatur die nach Offset und deaktivierten Sensoren zum Berechnen der Lüftersteuerung verwendet wird.

Maximal Temperature
Hier steht die Temperatur vor Offset und deaktivierten Sensoren zur Berechnung der Notbremse

Anmerkung: Die erste sollte bei allen ab jetzt immer in der Taskleiste zu sehen sein (wenn ihr NHC einstellt die CPU-Temperatur zu zeigen)
Die zweite sollte bei Leuten mit Doppel-Kern zu sehen sein. Habe hier keinerlei Feedback ob es funktioniert.

Notebook Fan Control
Mode kann zwischen Manuell (1), d.h. der Lüfter wird auf das Level welches unter Manuel Level eingetragen ist gesetzt
NHC (2), der Lüfter wird entsprechend den ausgelesenen Temperaturen gesetzt und
ACPI (3), der Lüfter wird vom Bios Controlliert


Fan Settings
Es gibt nur 5 Verschiedene Fan Level, diese können hier gesetzt werden. Ausserdem können die Grenzen wann der Level geändert wird hier angepasst werden, die Werte erklären sich von selbst.
Achtung Bei 75° greift eine Notbremse, sobald irgentein Sensor diesen Wert überschreitet (egal welcher Modus aktiviert ist und welche Offset Werte gesetzt sind, selbst deaktiverte Werte werden u.U. ignoriert, siehe unten unter Fortgeschritten) wird der Lüfter an das Bios zurückgegeben! Ausserdem piepst es dann dreimal und die Standbyleuchte blinkt...

Temperature Sensors
Offset Werte: Wozu diese sind:
Möchte man dass die CPU, den Lüfter bei 45° anschmeisst auf Low Level, die GPU dies jedoch erst ab 48° tut (also 3° bei allen Leveln später) so ist die Fan-Treshhold von Off->Low auf 45 zu setzten, der CPU Offset auf 0, der GPU offset auf 3!
Die Namen der Temperatur Sensoren sind selbstverständlich nur auf einem t43p richtig! So wie in tpfanctrl

Hardware Class
Kleine Spielerei: Thinklight und Bluetooth an und ausschalten

LCD Brightness Control
das aktuelle Helligkeitslevel setzten



Für Fortgeschrittene
Die wichtigsten Einstellungen können auf den ersten paar Seiten der cs Datei vorgenommen werden.
Bei einigen Modellen funktioniert die Displayhelligkeitsregelung nicht, deshalb am besten deaktieren: Dazu in der ibm.cs die Zeile
#define brightness in
#undef brightness ändern (wirklich undef, nicht undefine).
Bluetooth ist ebenfalls so komplett zu deaktivieren.
Die extendetFanControl kann aktiviert werden, jedoch gibt es einfach nur einen Haufen Fehler, also besser auslassen
Die Sensornamen können unter TSENORNAMES angepasst werden,
Die Notebremse kann nur deaktiviert werden indem man selbst den Code anpasst oder den Wert für Emercencybrake höher stellt. Wenn gewünscht wird, dann kann ich dies in der nächsten Version auch standartmäßig erhöhen.
Neu in v0.9: Die Temperatursensoren können nicht mehr im Laufenden betrieb für die Notbremse deaktiviert werden. Stellt dazu bitte die Standartaktivwerte um...

P.S: Ich möchte nicht zuviel direkt hier bekannt geben: Wer sich auskennt oder den Thread liest wird sehr viel auch ausführlicher erklärt bekommen. Man muss halt selbst Hand anlegen, was ich als Sicherheitsplus sehe. Jedoch ein Anfänger sollte nicht zuviel daran rumschrauben...

So viel Spaß damit

Ach ja: Erfolgreich getestet wurde auf
t43, t60, r60
x60 jedoch macht hier die Helligkeit Probleme


Carl

P.S: Wäre nett wenn gesagt würde auf welchen Modellen es funktioniert, und bei Fehlern bitte den Debug Modus in NHC ACPI aktivieren und das Log mitposten.
 
Bravo!!!

Ich habe mich auch gerade damit befasst. Ich denke mal Du hast die Daten aus dem NHC Forum genommen und angepasst.

Ich hatte auch schon bemerkt, dass die FanAnzeige nicht geht! leider. Na ja da müssen wir noch dran arbeiten.

Ich habe noch die public static class von t43p in T60p geändert. (Natürlich muss man im XML und im cs dann alles auch von t43p in T60p ändern.

Ich habe noch zu
Die Namen der Temperatur Sensoren sind selbstverständlich nur auf einem t43p richtig! So wie in tpfanctrl
eine Frage:

kann man die Namen nicht rausfinden und anpassen?

Zweite Frage:
So wie ich das sehe, klappt der Betrieb mit Steuerung via NHC gut. TPFanControl habe ich auch laufen (Service). Gibt es da irgendwelche Probleme (Steuerung der Lüfter, welches Programm steuert sie nun)? Ich will eigentlich erstmal nur die rpm der Lüfter auslesen, daher läuft es noch!

to do ist also bis jetzt:
1. Fan Anzeige
2. Die letzten 4 Temp-Sensoren

PS Mein System ist in der Signatur: T60p.
 
Hallo,


Also das ganze geschrieben hab ich mithilfe der Beispiel Files die bei NHC liegen und danach noch die Linux Fan Control. Ohne die wäre gar nichts gegangen.

Temperatur Sensoren habe ich damals von Shidomax übernommen, für andere Modelle gibt es ein paar im Thinkwiki hier. Aber ansonsten muss man wohl das Thinkpad aufschrauben und danach mit Kältespray die einzelnen Sensoren herausfinden =)

Zu den Todos:
Das sind nicht wirklich welche, wir müssen wohl oder übel auf das nächste NHC Release warten, da es sich um einen Bug handelt. Ich hab den Autor von NHC schon darauf angesprochen.


Carl
 
Hi,

Carl, du warst schneller als ich^^
Habe dir gerade die email geschrieben, dass es läuft :D und wollte eben solch einen thread hier eröffnen.

Allerdings reichte bei meinem R60 die reine anpassung des .xml-dateinamens an Lenovo nicht aus, ich musste zusätzlich noch in der .xml und der .cs jedes Ibm durch Lenovo ersetzen.

Die lüfter scheinen ordnungsgemäß steuerbar, allerdings wird immer nur eine drehzahl von 132rpm ausgegeben, unabhängig von modus oder level.

Bluethooth, Thinklight, Displayhelligkeit laufen.

Dann nochmals an dieser stelle: Vielen Dank!!!


mfg
aces
 
also gibt es bisher keine Möglichkeit die rpm des Lüfters auszulesen?

Wie ist denn bei Euch so der Vergleich zwischen der Lüftersteuerung voa NHC und TPFControl?

Momentan finde ich es noch angenehmer mit TPFC! Da muss ich nochmal schauen, ob ich die Steuerung von NHC so anpasse, wie ich es in TPFC habe.
 
klappt das auch mit einem T40?
Und kann mir das nochmal verständlich mit dem anpassen erklärt werden :rolleyes:
 
Original von Cmdr Raycoo
Ich denke mal Du hast die Daten aus dem NHC Forum genommen und angepasst.

Hallo,

Carl (im NHC-Forum = Spawn) hat die Daten nicht aus dem NHC-Forum übernommen und angepasst, sondern die Datei selbst erstellt. Nicht dass hier wieder ein falscher Zungenschlag aufkommt.

@Carl
Darüber hinaus funktioniert das Script auch mit meinem T41 seit einigen Wochen hervorragend! Vielen Dank für die Arbeit, die Du Dir gemacht hast.

Olaf
 
Hi,

zum anpassen:

Du gehst zum lezten reiter in nhc und schaust dir die system details an.
Darin findest du die angaben zum modell und hersteller.

1) Hersteller = Ibm
Du musst in der .xml nur die modellnummer gegen deine eigene austauschen.

2) Hersteller = Lenovo
Ebenfalls in der .xml die modellnummer gegen deine eigene austauschen,
zusätzlich in der .xml und der .cs jedes "Ibm" durch "Lenovo" ersetzen.
Geht ganz einfach mit notepad und der ersetzen-funktion.

Wer will kann die angabe unter class "t43p" auch noch gegen sein modell austauschen.
.cs und .xml müssen dann nur noch in den acpi-ordner von nhc kopiert werden.


mfg
aces
 
Hi,

soweit ich weiß, gibt es keine verbindliche aussage, doch ist im nhc-forum mehrfach von weihnachten die rede gewesen.

Allerdings glaube ich, dass der entwickler manni etwas von januar geschrieben hat, da noch die amd's vollständig mit rein sollen.


mfg
aces
 
Original von Cmdr Raycoo
also gibt es bisher keine Möglichkeit die rpm des Lüfters auszulesen?

Wie ist denn bei Euch so der Vergleich zwischen der Lüftersteuerung voa NHC und TPFControl?

Momentan finde ich es noch angenehmer mit TPFC! Da muss ich nochmal schauen, ob ich die Steuerung von NHC so anpasse, wie ich es in TPFC habe.

Zu den rpm: aus meiner Sicht ist dies definitiv nicht möglich, da diese Werte keinen Feldnamen in der ACPI, sondern nur einen Offset besitzten. Leider ist jedoch genau in dieser Offset Methode ein Bug (2 Pointer werden vertauscht). Aus meiner Sicht deshalb keine Chance.



marlonicel

klappt das auch mit einem T40?
Und kann mir das nochmal verständlich mit dem anpassen erklärt werden :rolleyes:

Ein T40 wurde noch nicht getestet. Wie gesagt, wenn tpfanctrl funktioniert, sind die Chancen gut, dass auch das Skript funktioniert.
Kommst du mit aces Anleitung klar?


Carl
 
Hallo,

normalerweise gibts den Compiler Error genau dann, wenn man das Core2Duo update nicht installiert hat! (Ich vermute mal irgentetwas mit unbekannter Methode...)

Ansonsten bitte mal den Inhalt der Fehlermeldung auch posten.


Carl
 
Sitzt grad am Dektop.
Aber ich hab ja kein C2D ! oder doch erforderlich?
Lenovo mußte ich auch nicht ersetzten da es sich noch um ein älteres T40 von IBM handelt.
Hab nur den Typ verändert.
 
So bei mir funktioniert es jetzt auch auf meinem R60 und ich stelle mal meine geänderten Dateien zur Verfügung. Das einzige was noch geändert werden muss ist die Modellnummer, sonst sollte es auf an hieb funktionieren.
 
Hallo,


es geht nicht darum das die Core2Duo Modelle mit dem Patch unterstüzt werden. Es ist schlicht und ergreifend so, dass der Zugriff auf Offset Werte (den braucht man) erst mit diesem Patch möglich ist. Deshalb gibt es auch den Compilier Fehler, da er die Methoden auf die zugegriffen werden nicht kennt!



Carl
 
Gut.
Hab gerade nach dem Patch gesucht aber nicht fündig geworden.
Kannst Du mir den richtigen Link oder den Patch hier posten.
danke
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben