NHC-ACPI-Skript mit Unterdrückung des Lüfter-Pulsierens

Heckler

New member
Registriert
10 Dez. 2006
Beiträge
79
Ich habe im ThinkWiki Informationen über die Hintergründe des Lüfterpulsierens gefunden und die dort vorgeschlagenen Gegenmaßnahmen in einer Erweiterung von Carls ACPI-Skript für NHC implementiert.

Hacks zur Unterdrückung des Pulsierens basieren auf dem zyklischen kurzzeitigen Deaktivieren der Lüftersteuerung durch den Embedded Controller. Das anhängende Skript deaktiviert in der Voreinstellung alle vier Sekunden für jeweils eine Sekunde die EC-Steuerung, was auf den typischen Puls-Zyklus von 4,8s abgestimmt ist. Eine detailliertere Beschreibung ist beigefügt. Für die Verwendung von ACPI-Skripten mit NHC siehe Carls oben verlinkten Thread.

Ich habe den Anti-Puls-Hack auf meinem R52 entwickelt und benutze ihn natürlich auch selbst, deswegen sind verschiedene Voreinstellungen im Skript auf Basis eines R52 entstanden. Ähnlich wie Carls originales T43p-Skript aber auf sehr vielen Modellen läuft, sollte auch meine erweiterte Version keine besonderen Probleme machen. Natürlich sind Anpassungen an andere Modelle und auch Verbesserungen der Anti-Puls-Funktionalität willkommen.
 

Anhänge

  • NHC-antipulse.zip
    20,4 KB · Aufrufe: 9
Zuletzt bearbeitet:
Klingt sehr interessant.
Ich werde es gleich mal auf meinem T43p testen und dann berichten.
 
muss ich mal testen auf meinem T60p.
Es wäre sehr nett, wenn Du mal, als Hilfe für uns
1. Dein Original Script anhängst
und
2. schreibst wo du was eingefügt bzw. geändert hast!

Dann wäre es sich lichter für uns das anzupassen!
 
Das Original-Skript ist direkt das von Carl, in seinem Beitrag finden sich auch grundsätzliche Hinweise zur Verwendung seines ACPI-Moduls.

Meine Änderungen beschränken sich auf die Klassen FAN, ANTIPULSE und FAN_SETTINGS. ANTIPULSE ist komplett neu und enthält die Variablendefinitionen und GUI-Elemente. In FAN_SETTINGS habe ich nur die Definition des Zustands 64 eingefügt. Die eigentliche Programmlogik steckt in FAN. Aufgrund des Aufbaus der Original-Skripts lässt es sich nicht vermeiden, dass man sich etwas in den Code einlesen muss, aber die drei Klassen nehmen nur einen überschaubaren Teil des Gesamtskripts ein. Ich habe meinen Code auch überall mit Kommentaren versehen, so dass selbst in FAN, wo er sich kräftig mit Carls Code verzahnt, nachvollziehbar sein sollte, was sich geändert hat. Unterm Strich wird man sich aber nur wohlfühlen, wenn man C# oder Java kennt.
 
na dann versuche ich mal mein Glück, obwohl ich mich erstmal einlesen muss.

btw.

lohnt es sich überhaupt?
Warum hast Du es eingebaut? Wie ist es nun nach der Änderung???
 
Hm, vielleicht ist das nicht ganz klar geworden: Meine Skriptversion ist "out of the box" genauso leicht oder kompliziert ans Laufen zu bringen wie die Vorlage von Carl und macht auch weitgehend das gleiche, deswegen würde es auch nichts bringen, die allgemeinen Einrichtungsschritte nochmal aufzuzählen. Als normaler Benutzer muss man auch nicht im mehr Quellcode rumbasteln als bei Carls Skript, sondern eigentlich nur die Modellnummer richtig eintragen, siehe dazu Carls Thread.

100%ig passen Carls Voreinstellungen eben auf ein T43p, meine auf ein R52, aber nach allem was ich bisher zur Nutzung auf anderen Modellen gelesen habe, sind das zunächst mal rein kosmetische Fragen etwa der korrekten Sensorbenennung im GUI, und für die muss man nur in die Definitionen der ganzen Werte am Beginn der Klasse FAN eingreifen.

Und warum ich es eingebaut habe: Mit einem T60p hast du das Problem vermutlich nicht, aber viele Modelle aus den T4x- und R5x-Serien legen ein ausgesprochen nerviges Pulsieren des Lüfters an den Tag - wer es hat, wird wissen, wovon die Rede ist. Mit Anti-Puls-Hacks wird das Pulsieren auf rustikale, aber recht effektive Weise unterdrückt.

Das Ergebnis ist ein mehr oder weniger konstant laufender Lüfter (das heißt nicht pausenlos, sondern ohne Drehzahlschwankungen). Im Detail gibt es da bei mir eine gewisse Spannbreite des resultierenden Verhaltens, von praktisch perfektem Gleichlauf bis hin zu einem leichten Restpulsieren, was sich aber sozusagen nur noch in einem etwas stärkeren Luftpusten äußert und nicht mehr in einer hörbaren Drehzahlschwankung des Motors. In jedem Fall stellt es einen Quantensprung im Vergleich zum unkorrigierten Verhalten dar. Dementsprechend bin ich durchaus der Meinung, dass sich nicht nur der Einsatz lohnt, sondern sogar die Mühe, das Ding gebaut zu haben.

Für T60-Benutzer könnte der Hack übrigens auch interessant sein, wenn sie von dem sogenannten Pingen betroffen sind, das meistens als Sonar-Ping-artiges hochfrequentes Geräusch beschrieben wird, das ungefähr alle 5 Sekunden auftritt. Ich habe sowas mal mit eigenen Ohren gehört und halte es für eine andere Ausprägung desselben Regelzyklus-Problems des Embedded Controllers, das auch die Drehzahlschwankungen bei den älteren Modellen verursacht. In dem Fall sollte es durch den Hack ähnlich zu unterdrücken sein. Inwieweit der Hack mit evtl. angepassten Einstellungen auch gegen das Dauerzirpen von T60-Lüftern hilft, kann ich nicht beurteilen.
 
ich werde mal schauen.
Ich hatte eine vorlage für ein T60 aus dem NHC Forum angepasst. Ich versuche nochmal die Lüfter/Sensoren etc. anzupassen.

mal sehen ob das Sonar, was bei mir nur selten auftritt verschwindet.
gebt mir etwas Zeit!
 
Hi

Also ich habs bei mir jetzt am Laufen, aber einen wirklichen Unterschied hab ich jetzt nicht bemerkt ;)
Unten ist meine Version vom Script, auf das T60 angewandt,
die Temperatur Schwellen sind deutlich höher, aber nur so geht bei mir der Lüfter überhaupt mal aus ^^

Wäre es über schnelles umschalten zwischen Fan Level 0 und 1 eigentlich möglich eine zusätzliche Lüfterdrehzahl Stufe zu bekommen?

cu :)
 
Also das T60 zu modden finde ich persönlich für nicht nötig.
Der Lüfter läuft die ganze Zeit, ja, und das soll auch so sein, denn Grafikchip und CPU müssen nunmal gekühlt werder, auch bei wenig Last.
Wer das T60(p) schon mal richtig hat ackern lassen weiß wie heiß es trotz voller Drehzahl des Lüfters wird.
Und diesen Zustand durch modden zu fördern finde ich sinnlos.
Der Lüfter des T60 läuft bei normaler Drehzahl nun wirklich nicht laut.
Und die Schwellen zu erhöhen schadet auf Dauer nun mal den zu kühlenden Komponenten.
Immerhin reden wir von recht schnellen Komponenten die bei anderen Herstellern wirklich laut gekühlt werden weil sich dort keiner so richtig um ein ausgeklügeltes Kühlungssystem gedanken macht (2 oder mehr Kühler an Stellen wi die Luftzufuhr gerne mal ins Stocken kommt wenn man es auf dem Sofa oder auf den Beinen betreibt.
 
Original von kroegi
Also das T60 zu modden finde ich persönlich für nicht nötig.
Der Lüfter läuft die ganze Zeit, ja, und das soll auch so sein, denn Grafikchip und CPU müssen nunmal gekühlt werder, auch bei wenig Last.
Wer das T60(p) schon mal richtig hat ackern lassen weiß wie heiß es trotz voller Drehzahl des Lüfters wird.
Und diesen Zustand durch modden zu fördern finde ich sinnlos.
Der Lüfter des T60 läuft bei normaler Drehzahl nun wirklich nicht laut.
Und die Schwellen zu erhöhen schadet auf Dauer nun mal den zu kühlenden Komponenten.

genau... wobei ich noch bemerken möchte, dass selbst unter Volllast der Lüfter nicht unbedingt ununterbrochen läuft... (jedenfalls mein t60 nicht...) - wobei bei der Beschreibung "unhörbar", es auch nichts machen würde... - dann die Lüfterleistung zu reduzieren oder überhaupt zu ändern ist meiner Ansicht nach nicht nur unnötig, sondern auch Blödsinn... - wobei jeder soll ruhig machen was er für richtig empfindet und so seine eigenen Erfahrungen machen... da 3 oder 4 jahre Garantie vorhanden sind, spielt es ja auch anscheinend keine Rolle, wenn etwas passiert... :D
 
Ich kann mich den letzten beiden Meinungen nur bedingt anschließen.

Sicherlich ist der Lüfter des T60 nicht sonderlich laut und ununterbrochen läuft er auch nicht, dafür legt er aber - zumindest bei mir - in den Lüfterstufen 1 bis 6 ein hochfrequentes Fiepsen an den Tag.
Sollte man das durch eine eigene ausgeklügelte Lüftersteuerung umgehen können, dann würde ich das wirklich sehr begrüßen.

Zumal das Kühlsystem des T60 ansonsten ja wirklich sehr gut ist - mit Ausnahme der Kühlung der Grafikkarte (X1400), das hätte man vermutlich noch besser machen können, aber sei's drum.

Zum Thema "Volllast": Gelegentlich muss ich mein T60 auch unter Volllast laufen lassen und ich bin über zwei Dinge immer wieder positiv überrascht:

a) Trotz 100%iger Prozessorauslastung reagiert der Core2Duo noch "relativ" schnell auf weitere Anfragen. Sowas habe ich bisher noch bei keinem anderen Prozessor in dieser Form erlebt. Selbst mein alter 486er konnte da nicht mithalten :D :D :D

b) Die Kühlung funktioniert einwandfrei. Klar, die CPU schnellt zwar auf ca. 75 Grad hoch, aber bei höchstem Lüfterlevel habe ich zu keiner Zeit auch nur den Hauch einer Sorge, daß das Ding überhitzen könnte (und selbst wenn, dann würde die CPU sich wahrscheinlich ohnehin selbst abschalten - ohne bleibende Schäden...)
 
Ich hatte das Script nun auf meinem T43p probiert, doch änderte sich an dem Pulsieren nichts.
Bei mir tritt es aller 4-5s auf, sodass sich Cycle Time auf 4s und Settle Time auf 7s gestellt habe. Doch hat das nichts gebracht.
 
@Mr.AndersoN
Ich würde an deiner Stelle einfach auf die nächste Version von NHC warten, welche seit nunmehr 2 Wochen überfällig ist... Dann soll man die Intervalle sehr viel feiner (0.25 oder sogar 0.1) einstellen können. Damit sollte sich schon eher was machen lassen.


Carl
 
Original von Mr.AndersoN
Ich hatte das Script nun auf meinem T43p probiert, doch änderte sich an dem Pulsieren nichts.
Bei mir tritt es aller 4-5s auf, sodass sich Cycle Time auf 4s und Settle Time auf 7s gestellt habe. Doch hat das nichts gebracht.
Das ist seltsam. Springt die angezeigte Lüfterstufe auch zyklisch auf 64? Man könnte natürlich mal versuchen, die Länge dieser Phase auf 2 Sekunden zu verdoppeln. Das erfordert allerdings etwas Bastelei im Code, weil ich keine variable Länge dieser Phase vorgesehen habe. Soweit ich das verstanden habe, kommt es nämlich nicht darauf an, den Moment des Pulsierens mit der Disengaged-Phase zu überdecken, sondern nur darauf, den Regelzyklus des EC zu unterbrechen. Sonst müsste man ja auch die Zykluslänge genau treffen, und das wäre eine Mordsfummelei.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben