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.
 
Versuch es mal hiermit,
Man muss in der ibm.cs UND der ibm.xml die class ändern (von t43p in t42p z.b.) oder einfach so lassen wie vorgegeben.
Wenn man das nur in der ibm.xml macht, findet der die Klasse in der .cs nicht mehr...

War das euer Fehler?

Grüße
tüte
 
RE: NHC und Akku laden

Original von Speedy123
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

das kommt abe rnicht von NHC selber, oder wo kann man das etwas einstellen!

Es ist ein Fehler vom Energiemanager! Siehe auch SuFu, das wurde schonmal diskutiert!
 
RE: NHC und Akku laden

Hi,

Original von Speedy123
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

Die frage wie NHC und der energiemanager zusammenspielen beschäftigt mich momentan auch.
Daher habe ich einen kleinen test gestartet und mein ergebnis ist, das zumindest das "batterieschutzprogramm" weiterarbeitet.

Hier mal 4 screenies,
die ersten beiden mit aktiviertem energiemanager standardeinstellung und
mit deaktiviertem autostart des energiemanagers:
C:\PROGRA~1\ThinkPad\UTILIT~1\PWRMGRTR.DLL,PwrMgrBkGndMonitor

Solange die ladung nicht unter 96% sinkt lädt der akku anscheinend nicht nach.

Und da ich es bislang ganz vergessen habe:
Danke Carl für das neue script, läuft wunderbar.


mfg
aces
 

Anhänge

  • NHC1.jpg
    NHC1.jpg
    46,4 KB · Aufrufe: 597
  • NHC2.jpg
    NHC2.jpg
    46,7 KB · Aufrufe: 560
  • NHC3.jpg
    NHC3.jpg
    44,2 KB · Aufrufe: 549
  • NHC4.jpg
    NHC4.jpg
    45,8 KB · Aufrufe: 545
Hallo zusammen,

nun auch bei mir installiert und die beiden Files modifiziert. Aber beim Starten kommt:

---------------------------
Notebook Hardware Control
---------------------------
ERROR! -> Can't find the product class 'R52' in the dll file: D:\Notebook Hardware Control\acpi\IBM.dll
---------------------------
OK
---------------------------

Wo ist die Ursache zu suchen...?
 
Hallo M'o,

hast du in der CS-Datei auch den Klassennamen oben geändert?

Sprich sieht es ziemlich am Anfang so aus?


...
public static class IBM
{

#region Computer model : class R52
//
public static class R52
...


Grüße


Carl
 
Original von tüte
Versuch es mal hiermit,
Man muss in der ibm.cs UND der ibm.xml die class ändern (von t43p in t42p z.b.) oder einfach so lassen wie vorgegeben.
Wenn man das nur in der ibm.xml macht, findet der die Klasse in der .cs nicht mehr...

War das euer Fehler?

Grüße
tüte

Danke tüte,

das wars! Die xml hab ich geändert. Nicht aber die cs datei.

Gruesse
boeckst
 
Kein Problem, M'o hat wohl das gleiche Problem, aber keine Lust 2 Beiträge höher zu schauen...

tüte
 
Hallo Leute!

Habe mich jetzt lange nicht mehr mit meinem T43 (2668 75G) befasst. Gestern dann das neue NHC installiert (pro-version) und nach ACPI Scripten gesucht. Habe dann die V.90 für t43P gefunden und diese läuft.
Kann ich die so laufen lassen? muss ich nochwas ändern für das T43?

Meine Frage geht aber auch zum Batterie-Managment. Wäre es möglich über den ACPI-Script zu veranlassen, daß erst der Hauptakku entladen wird und dann der Akku, der in der bay steckt? So würde dieser kleine Akku nicht ständig ganz entladen und mehr geschont. Meiner ist jetzt 18 Monate alt und hat prozentual wesentlich mehr Kapazität verloren als der hauptakku.

Vielleicht kann ja mal jemand antworten. Ich habe hier nichts gefunden dazu.

Vielen Dank und Gruß
Dirk
 
ich würde die Akkusteuerung über den Eneriemanager laufen lassen, da bei mir bei Steuerung über NHC die Schwellenwerte ignoriert wurden! leider!

@all:

Noch ein Hinweis, den ich mit Carl geklärt habe:
Die Erklärung bzw. Bezeichnung der Steuerung (Manual 1, NHC 2, ACPI 3) ist etwas verwirrend. Will man das hier diskutierte ACPI Script verwenden, sollte man auf NHC 2 stellen, dies bedeutet das nun das NHC ACPI Script die Steuerung übernimmt! Die Einstellung ACPI 3 ist die Biossteuerung!

Gruß
Raycoo

PS Dies wird wohl in den kommenden Verisonen geändert; kann man aber auch selber in der cs Datei machen; ich habe dies bei mir schon gemacht! Sind im Script die Zeilen 154 + 185:
so wurde aus
public const string description = "Mode (1:Manuel|2:NHC|3:ACPI)";
das hier:
public const string description = "Mode (1:Manuel|2:NHC-ACPI|3:BIOS-ACPI)";

Nach Neustart von NHC ist es auch zu sehen!
 
*extremelyofftopic*

@ Carl
Kannst du bitte deine PN-Box checken und mir die Info zukommen lassen ;-)
danke!
 
Hallo,

ich muss auch mal eine dumme Frage loswerden. Ich habe den Thread überflogen und hoffe, die Antwort nicht übersehen zu haben:

Fancontrol im ACPI greift bei mir immer auf die "modified temperature" zu, selbst wenn ich den Haken davor deaktiviere. Das ist aber wie es scheint die Temperatur der Grafikkarte. Ich möchte aber die Lüftersteuerung an die CPU Temperatur anpassen. Auch wenn ich die CPU Temperatur einstelle (und sie korrekt in der Taskleiste angezeigt wird) benutzt Fancontrol weiterhin die "modified temperature" zur Lüftersteuerung (und läuft somit permanant auf Level 7).

Ist sicher irgendein Einstellungs- oder Installationsfehler von mir, aber ich weiß nicht, welcher?

Gruß

Lars
 
Damit Du nicht den ganzen Fred nochmal lesen musst:benutzt wird immer die aktuell höchste modified Temperatur!!! Dies heißt, wenn Du nicht willst, dass deine GPU mit einbezogen wird, musst Du diese abstellen. Besser ist es aber einen Offsetwert zu setzen. Wenn DU meinst, dass deine GPU 20°C [K]mehr aushält, dann stellst Du den Offset der GPU auf 20°C [K] ein. Somit kannst Du alle Komponenten individuell überwachen...eine sehr schöne Lösung...Danke an Carl!!!
 
Vielen Dank! Funktioniert super!

Kann mir noch jemand sagen, was die drei Beep-Signaltöne bedeuten (und wie man sie abschaltet)? Manchmal "piept" mein TP, wenn sich der Lüfter anschaltet, und auch, wenn ich zum Bsp. die Anwendung wechsele (die Temperaturen sind alle im normalen Bereich, kann also ja keine Warnmeldung sein?!

Danke

Gruß

Lars
 
Hallo,

ich habe auch einen T60P, die Piep Töne kommmen bei mir auch. Es liegt glaube ich daran, das die Lüftersteuerung wegen zu hoher Temperaturen an das Bios übergeben wird.
Ich benutze das ACPI Script für den T43P.
Ich Denke mal, das da ein Insider mit nem T60P mal an den Files "drehen" muß.

Ich selbst bin da recht unerfahren.


Gruß Menkul
 
Die Not-Abschalttemperatur liegt bei nur 75° - das ist bei einem T60p einfach zu wenig. Vor allem greift sie auf die unmodifizierten Temperaturen zurück - bei meinem T60p ist die GPU aber schnell mal auf 75°. Ich habs deutlich erhöht. da muss man aber an den Quellcode ran - bei jedem Update erneut. Deswegen nutze ich auch nicht die aktuellste Version des Skripts. Wer da nix von weiß, sollte auch die Finger von lassen. Wer ein wenig Java kann, sollte sich aber zurecht finden. Verschicken werde ich meine Modifikationen nicht.
 
Ja, Du hast recht, ich habe es gerade überprüft. Da das Skript auf die GPU Temperatur zugreift, schaltet es auf die Biossteuerung um. Schade, dass man (ich zumindest) daran nichts ändern kann.

Falls Du Dich noch noch erweichen lässt, wäre ich Dir für Dein geändertes Skript sehr dankbar.

Danke erst mal für die Antwort.

Gruß

Lars
 
Such mal nach dieser Zeile in der ibm.cs oder lenovo.cs (je nachdem, welche du verwendest) und ändere den Wert - aber auf eigene Gefahr:
Code:
const		int 	 EMERGENCYBRAKE = 75;
Steht ziemlich am Anfang der Datei.
 
Danke, das behebt das Problem. Ich war davon ausgegangen, dass auch für die Übergabe ans Bios die Werte der Lüftersteuerung genommen werden und da ich meine GPU Temperatur -20 off gesetzt hatte, wunderte ich mich über die Warnung. Anscheinend greift das Skript bei der Übergabe ans Bios jedoch trotz der Off-Setzung immer auf die tatsächlich höchste Temperatur zu.

Jetzt läufts wunderbar.

Nochmals danke.

Gruß

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

Werbung

Zurück
Oben