NHC ACPI Skript für Thinkpads

Carl

New member
Themenstarter
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.
 
Ups - gerade geschrieben und dann ging er aus. Jedoch erst bei 41Grad. Kann es sein, dass er die Temperaturen falsch ausliest? Sprich falsche Werte angezeigt werden??
 
Und wieder ich - SORRY. Ich glaub es liegt daran, dass NHC bei der Lüftersteuerung auch auf die GPU od. PCI achtet und dementsprechend reagiert. Die Temp. sind nämlich höher als die der CPU - dann ist es verständlich. Hat sich alles geklärt!
 
Original von Notebooker
Funktioniert so weit (nach den üblichen Anpassungen = T60p statt T43p und LENOVO statt IBM). Lüftergeschwindigkeit wird auch richtig ausgelesen. Aber folgende Temeratursensoren liefern Wert um -50: BUS, PCI, PWR.


Hallo Noetebooker,

das ist so in Ordnung. Du hast den BUS, PCI und PWR-Sensor deaktiviert. Wenn du sie unter Temperature Sensors anschaltest, werden die Werte positiv!


@buddy
Genau es wird nicht nur die CPU beachtet. Ich werde mal fragen, ob man irgentwie die Werte in die Symbolleiste bekommt, das hat schon häufiger für verwirrung gesorgt.


Carl
 
Original von buddyspencer
Und wieder ich - SORRY. Ich glaub es liegt daran, dass NHC bei der Lüftersteuerung auch auf die GPU od. PCI achtet und dementsprechend reagiert. Die Temp. sind nämlich höher als die der CPU - dann ist es verständlich. Hat sich alles geklärt!

wenn Du bei der GPU ein Offest von ca 16 einträgst, kommst du auch ~CPU Temperatur! So steuere ich den Fan! Hat sich bei mir bewährt! Ohne Garantie in jedem Fall diese Aussage!

@Carl:
Danke für das neue Script! Läuft bei mir bestens!!!
 
so, schonmal vielen Dank...läuft soweit sehr gut.

aber diese APS, PCI, Power, und Bus Sensoren liefern tatsächlich Werte um die 50°C... ist das normal, bzw. Gesund für die Komponenten? Welche Temps sollten diese denn ohne Lebenszeitverkürzung aushalten. Wenn ich den offset entsprechend einstelle kann ich diese ja umgehen...nur was ist günstig?!?

Was sind das überhaupt für sensoren: APS,Power und Bus?!? Wo sitzen diese, dass die Temperaturen höher als die der CPU und GPU sind?
 
Sicherheitsupdate: Version 0.90

Guten Morgen,


Das NHC-Skript wurde noch einmal geupdated.
Wichtig: Diese und die letzte Version könnten noch unter der pre4 er Version kompilieren, jedoch wird die Lüfterkontrolle vermutlich nicht vernünftig funkionieren.
Unterstützung gibt es nur für die Aktuelle 6 er oder neuer.


ToDo's

1. WLAN:
Die "neuen" Thinkpads (T60, X60) unterstützen das theoretisch. Bei interesse bitte mal bei mir melden. Ich werde es nicht selbst schreiben, jedoch kann ich u.U. die entscheidenden Stellen aufzeigen...
Bei den alten hängt das WLAN nicht an BUS00 sondern an BUS04. Um auf diesen zuzugreifen sehe ich keinerlei Möglichkeit...

2. Bugfixen


Neuigkeiten in v0.90:
1. Beim Verlassen von NHC oder Deaktivierung der ACPI wird die Lüfterkontroll ans BIOS zurück gegeben!

2. Beim Verlassen von NHC oder Deaktivierung der ACPI wird das Standby LED wird ausgeschaltet. (Falls die Notbremse noch aktiv ist)

3. Die Thermal Zone wurden geändert. D.h: Ihr seht jetzt bei dem kleinen Symbol in der Taskleiste die "modifizierte" Temperatur. Das kann mithilfe der Tzon0 region (define zu undef) deaktiviert werden.

4. Bei den Core2Duo Personen wird die "maximale" Temperatur in der 2. thermal Zone jetzt angezeigt. Kann mithilfe der Core2Duo analog deaktiviert werden.
Ich sage dazu definitiv dass es Beta ist, da ich es nicht testen konnte, jedoch kann hierbei nichts passieren, da nichts in die ACPI geschrieben wird.



Neuigkeiten in v0.85:
1. Es gibt einen neuen Abschnitt LED. Damit können die LED's angesprochen werden. Das geschieht momentan nur wenn die Notbremse greift, währenddessen "sollte" dann das Standby-Symbol blinken.

Ausgeschaltet werden kann es über undef und def LED (siehe eingangsposting).
Wenn jemand anderes in einem anderen / modifizierten Skript darauf zugreifen will, bitte noch einmal nachfragen.

2. Die Temperatursensoren lassen sich jetzt nicht mehr komplett im laufenden Betrieb deaktivieren. Sprich sie werden jederzeit zur Berechnung der Notbremse einbezogen. Zur not lassen sie sich im Skript zu Beginn bei
TSENSORACTIVEDEFAULT = {1,1,1,1,1,1,1,1,1,1,1,1};
deaktivieren. 1 heißt an 0 heißt aus. Für die ganz genauen: wenn 128° gemeldet werden, dann wird davon ausgegangen dass der Sensor Hardwarseitig aus ist. Sprich er ist dann auch komplett deaktiviert.

Wenn die Temperaturen unter Temperature Sensors deaktiviert werden, werden die Werte jetzt negativ angezeigt.

3. Die Brightness-Kontrolle hat bei den x30 und x40ern Ärger gemacht. Ich habe das jetzt modifiziert. U.U. funkioniert das jetzt auch dort.

4. Ich bräuchte eine Testperson die einen x30 oder x40 hat, dafür habe ich eine extended Fan Control geschrieben. Also wer das mal testen möchte... ohne Garantie, dass es funktioniert... und haltet euch für einen Neustart bereit :-)



Grüße


Carl
 
absolut Top...werde ich direkt mal ausprobieren...aber sag doch mal kurz was zu den Sensoren, welche ich in dem Beitrag vor deinem angesprochen habe...
 
Hallo,


also meine Erfahrung ist:
Bus meist so bei 40
PCI: Wenn WLAN an um die 50 sonst so 40
PWR: Beim laden um die 50-55, wenn nicht geladen wird so 40


Ob das gesund ist??? Keine Ahnung... aber wenn ich mir dies anschaue
http://forum.thinkpads.com/viewtopic.php?t=17733
scheint das in Ordnung zu sein.

Carl
 
Hallo, danke für die schnelle Antwort...

komisch, da liege ich deutlich drüber: PWR meist so 50° ohne zu laden, aber am Netz hängend...

PCI aktuell 47° WLAN ist über Thinkvantage ausgeschaltet...vielleicht sollte ich mal versuchen, die Karte zu deaktivieren (die brauche ich derzeit gar nicht)

ich habe häufig Bluetooth an (wegen einer BTMaus)...werde da die Unterschiede mal beobachten...

kannst Du mal kurz sagen, was APS sein soll??? ich kann mir keinen Reim aus dem Namen oder den Werten machen, die liegen aber ähnlich den CPU Werten.

...wobei, ich konnte gerade beobachten, dass APS anscheinend die von NHC angezeigte CPU Temp sein soll....ist das sowas wie der interne CPU Sensor?
 
prima, klappt auch bestens! Nochmals Danke!

toDo wäre die Sache mit dem WLAN!
Wie kann ich da helfen?!
 
Hi,

für all diejenigen, die keine Lust haben die Anpassungen für ein R60 selber vorzunehmen, habe ich die von Carl erstellte Version 0.9 mit Modifikation für ein Thinkpad R60 (9461DXG) angehängt.
 
@Carl: Wofür ist die Option "Maximal Temperature" gedacht und was sagt der Wert 128 bei "Fan EmbeddedController controlled" aus?


PS: Müsste eigentlich Maximum temperature heißen aber es sind deine Bezeichnungen und Variablen ;)
 
Original von subnote
@Carl: Wofür ist die Option "Maximal Temperature" gedacht und was sagt der Wert 128 bei "Fan EmbeddedController controlled" aus?


PS: Müsste eigentlich Maximum temperature heißen aber es sind deine Bezeichnungen und Variablen ;)

es wird die maximale Temperatur angezeigt! und der Wert 128 steht für die Übergabe der Steuerung ans BIOS, dh der Fan wird dann über das BIOS gesteuert, ist quasi eine Notfallübergabe der Lüftersteuerung bei Überhitzung ans Bios!
 
Ich habe aber nach dem Sinn der Werte gefragt - steht die 128 für ein Temperaturwert in Fahrenheit?
 
Das würde ja mal garkeinen Sinn machen.

Die "Fan Treshold Temperature: High -> EC" gibt an bei wie viel Grad Celcius der Lüfter ins Stufe "Fan EC Controlled" übergeht. 128 ist hier nur der Wert, dass das BIOS wieder die Kontrolle übernimmt, und nicht mehr NHC. Bei wie viel Grad das passiert, sagt ja "High -> EC"

Kannst ja statt 128 auch 0 reinschreiben, dann geht der Lüfter halt aus, wenn man 75°C erreicht, sinnfrei, aber machbar.
 
Danke :) Der Wert liegt dann aber außerhalb der Spezifikationen und sollte wohl verringert werden.
 
nein, das macht sinn und ist OK, wie gesagt hierdurch wird dieser Lüfter über das BIOS gesteuert!

Es ist keine Temperatur, sondern die Einstellung des Lüfters (Fan Level Off, Low, Middle, High, EC: 0 = Stufe 0, 3 = Stufe 3, ... 128 = Übergabe ans BIOS) eingestellt!

Die Temperatur wird unter FanSetting > Fan threshold Temperatur: High->EC eingestellt (bei mir ab 70 °C).
 
NHC und Akku laden

Hallo! Bei mir lädt NHC immer den Akku auf, sobald das Netzteil eingestöpselt ist. Im Thinkvantage Energiemanager habe ich schon eingestellt, dass der Akku erst aufgeladen werden soll, wenn er bei unter 10% liegt. Kann ich das über ACPI einstellen?
Vielen Dank
 
Original von coolcriz
@troubadix

Danke für den Hinweis, damit hab ich es auch probiert. Es kommt keine Fehlermeldung, kein Hinweis, nichts (außer "ACPI System not yet configurated for this system.") in NHC.
Seltsam, bei der Installation im Dezember hat alles auf Anhieb geklappt.
Hat sonst noch jemand ne Idee?

Grüße

Chris

@coolriz

Hallo,

hab auch bei meinem T42p dieses Phänomen beobachtet.
Hast Du nun eine Lsg. gefunden??

Gruesse
Michael
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben