[Vorstellung] NoteBook FanControl (NBFC)

Krautmaster schrieb:
Es zählen sowohl 0x93 / 0x94 hoch wenn der Lüfter zunimmt, wie wenn der Wert auf 2 Register gesplittet wird
Kann gut sein, die Lüfterdrehzahl ist dann wohl nicht als byte, sondern als Word gespeichert (16bit). Also hi byte und low byte.

Schreib mal in diese Register und schau obs was bringt.
0x94 ist wohl das hi byte, also quasi die Grobjustierung. Da scheinen als Werte nur 1 oder 2 Sinn zu machen.
0x93 ist das low byte, also die Feinjustierung, da kannst du alles von 0 bis 255 (0xFF) reinschreiben. ;)

Probier erstmal das, wenns nicht klappt, dann bastel ich dir bis Morgen oder Übermorgen ne Holzhammer Version :D

Krautmaster schrieb:
Danke für die super Arbeit!
Gerne. :)
Die Arbeit habe ich mir anfangs sowieso aus purem Eigennutz (und einer Prise Interesse an Mikrocontrollern) gemacht.
Und wo ich die Software dann schonmal hatte, hab ich mir gedacht ich pass sie so an, dass sie andere auch benutzen können. Wär ja Blödsinn wenn ich mir die ganze Arbeit nur für mich alleine gemacht hätte ;)
 
Zuletzt bearbeitet:
Auch bei 0x93 und 0x94?
Auch wenn das Register gleich nach dem Schreiben wieder andere Werte anzeigt könnte es sein, dass der EC auf die geschriebenen Werte reagiert.
Oder schreib mal schnell hintereinander in 0x93 und 0x94.
 
das geht nicht so schnell... es dauert ca 2-3 Sek bis wieder "00" drin steht.

bei dem 0x97 hat er definitiv reagiert, mit deinem Tool zb. Die anderen 2 register 93/94 sehen eher aus wie die resultierende Drehzahlwerte da diese auch sekundlich schwanken wenn der Fan dreht, sieht also weniger nach einem eingestellten Wert aus.

Wenn ich mit deinem Tool 0x97 auf 5 setze dann regelt er langsam hoch da zwischenzeitlich immer wieder kurz ne 0 drinsitzt. Selfmade PWM sozusagen ;)

Edit:

Ich meine ich hätte auch versucht 0x93/0x94 zu schreiben, manuell, in dem EC Tool, allerdings wurde das entweder so schnell überschrieben mit 00 oder es muss zwingend 0x97 min 1 sein damit er anläuft.
Ergänzung ()

Edit: Ich könnte versuchen dein Tool mehrfach zu öffnen xD
 
Zuletzt bearbeitet:
Ich habe die neue Beta 0.9.3.30. mit der config 4530s getestet und finde das der Lüfter schon etwas eher einsetzen sollte. Bei 63 Grad fing der Rechner an zu riechen. Ich habe die config vom 6465b wieder eingestellt. Hier läuft der Lüfter bei ca. 48 Grad an . Die Autostartfunktion ist super. Weiterführend kann man hier auch die Taktrate der CPU beeinflussen ?

Gruß Frank
 
Edit:

Wenn ich 0x90 auf 1 setze geht der Fan auf 100% bis ich reboote

fananmaxgxklv.jpg
 
Krautmaster schrieb:
Edit: Ich könnte versuchen dein Tool mehrfach zu öffnen xD
Könntest du versuchen, ist aber nicht möglich ;)

GCZJAWoIIBVt schrieb:
Ich habe die neue Beta 0.9.3.30. mit der config 4530s getestet und finde das der Lüfter schon etwas eher einsetzen sollte.
Wann der Lüfter anläuft hat mit der Config nichts zu tun.
Das kannst du doch selbst festlegen und es wird dann in den NBFC Settings gespeichert.
Die Configs legen nur fest wie NBFC mit dem EC kommuniziert.

Ab welchen Temperaturwerten der Lüfter anläuft, hängt nur von den Thresholds ab, die du festgelegt hast.
Lies dir mal in der Anleitung Kapitel 4 durch.

GCZJAWoIIBVt schrieb:
Weiterführend kann man hier auch die Taktrate der CPU beeinflussen ?
Nein, das wird man mit NBFC auch nie können, denn für AMD Prozessoren gibt es schon K10stat , für aktuelle Intel Prozessoren gibt es afaik keine Möglichkeit per Software Taktrate/Spannungen festzulegen.
 
Glaub mir, das ist besser so, ich hab das nicht aus Spaß an der Freude unterbunden ;)

Wegen der neuen Version.
Ich werde auf jeden Fall ne Möglichkeit einbauen, das Intervall zu verringern, aber da dein EC anscheinen mit Words arbeitet, muss ich das auch noch implementieren, da NBFC bis jetzt nur einzelne Bytes schreiben/lesen kann.
Außerdem werd ich auch gleich noch versuchen den Autostart Task unter XP zum laufen zu bekommen.
Kann also noch ein kleines bisschen dauern, da ich die letzten 2 Tage nicht dazu gekommen bin an NBFC weiterzuarbeiten.
Sorry für die Verzögerung :(
 
Hier ist noch ein Zenbook "geschädigter"^^
Ich hab das UX32VD und mir gehen langsam die Ideen aus. Vorneweg ein Screenshot
fancontrol.png

Wie bei Krautmaster führt eine 01 bei 0x90 zum Lüfteroverkill, der sich nur mit einem Kaltstart reseten lässt. Ich vermute irgendeine Sicherungsfunktion, damit nichts abraucht, wenn das OS einen Register mit in den Tod genommen hat. Interessanterweise wird bei mir die gesamte 90-Zeile auf 00 gesetzt wenn die Lüfter ausgehen. Ich hab nämlich zwei Stück verbaut, das erklärt wohl die Doppelung der Werte. Sowohl die roten als auch die grünen Register sind zueinander scheinbar synchronisiert, wobei grün fast exakt gleich ist, die roten haben meist immer einen kleinen Werteunterschied und sind auch viel "nervöser". Ich schätze mal das sind die besten Kandidaten, andere Register bewegen sich nur sehr selten und wenig. Witzig ist der blaue Register. Der ist eigentlich immer 00, außer man startet ein Diagnosetool wie Speedfan oder AIDA64, dann wird da alle paar Sekunden ein immer gleichbleibender, scheinbar beliebiger Wert reingeschrieben und dann wieder auf 00 gesetzt. Außerdem scheinen die Tools gleich mal ein paar hundert Umdrehungen mehr einzubringen, obwohl Prime95 schon alles auslasten sollte. Die Register erscheinen mir bei deren Einsatz auch irgendwie nervöser.

Allgemein hab ich schon so ziemlich jede Kombination der grünen und roten Register versucht, leider ohne Erfolg. Man sieht manchmal kurz den gewünschten wert, der wird aber umgehend wieder durch das System überschrieben.
 
@Ltownwriter
Spitze! Freut mich das es für dich funktioniert :)
Was stimmt denn mit der RPM Anzeige nicht?
(Hab mir schon fast gedacht, dass ne RPM Anzeige nicht viel bringt, weil die RPM sich wohl auch nicht bei jedem Lüfter gleich berechnen lassen)

@Nova00
Was genau meinst du mit Synchron?
Nur die Anzeige, oder werden die Lüfter von der Geschwindigkeit her synchronisiert, d.h. du schreibst in ein Register und beide Lüfter nehmen den Wert an?

0xA5 ("der Blaue") hört sich interessant an. Könnte sein, dass man darüber die Temperaturen der ThermalZones überschreiben kann. (Auf diese Weise wird z.B. beim meinem ProBook die CPU Temperatur "gefälscht" sodass der Lüfter komplett ausgeschalten werden kann.
 
Grantig schrieb:
@Nova00
Was genau meinst du mit Synchron?
Nur die Anzeige, oder werden die Lüfter von der Geschwindigkeit her synchronisiert, d.h. du schreibst in ein Register und beide Lüfter nehmen den Wert an?

0xA5 ("der Blaue") hört sich interessant an. Könnte sein, dass man darüber die Temperaturen der ThermalZones überschreiben kann. (Auf diese Weise wird z.B. beim meinem ProBook die CPU Temperatur "gefälscht" sodass der Lüfter komplett ausgeschalten werden kann.

Sagen wir mal so: egal was ich in irgendeinen Register schreibe, an der Drehzahl ändert sich gehört und gemessen (Aida64) nichts (außer natürlich der "Todesregister" bei 0x90). Meine Werte werden sofort überschrieben, synchronisiert werden meine Eingaben erst recht nicht. Höchstens werden einige andere, seltene Register kurz aktiv die wohl eine Fehlersituation anzeigen oder sowas, das ist aber sehr undurchsichtig sie fallen auch schnell wieder auf 0 zurück.

Synchron sind die roten und grünen Register also nur beim zugucken, selber schreiben bringt nichts.

Update: Es ist offiziell: das auslesen der Sensordaten mit AIDA64 ist für das nervöse Lüfterverhalten verantwortlich! Wenn man die Aktualisierungsrate per bekloppten klicken auf den Aktualisieren-Button steigert, dann geht der Lüfter aus, sobald man damit aufhört fährt er wieder an. Deine Vermutung mit der ThermalZone ist damit bestätigt denke ich. Leider weiß ich noch nicht wie man das gewinnbringend nutzen kann, den Lüfter ganz ausschalten ist ja auch nicht so gesund.
 
Zuletzt bearbeitet: (Update)
ich hab mal das 207er Bios drauf gemacht, die kleinste Lüfterstufe scheint nun den Fan etwas langsamer zu regeln, dafür aber länger.
 
Hallo! Hat jemand eine Idee wie man das ganze unter Linux bzw. speziell unter Ubuntu umsetzen könnte bzw. die Lüfter ansteuern kann (hp probook 4530s)?

Unter acpi findet man leider keine "fans"..
Fancontrol scheint auch nicht kompatibel zu sein..
Evt ein DSDT patching?

Ich bin etwas ratlos.. :(
 
Zuletzt bearbeitet:
Nova00 schrieb:
Synchron sind die roten und grünen Register also nur beim zugucken, selber schreiben bringt nichts.
Das habe ich befürchtet.
Das Problem ist, dass NBFC bis jetzt nur einen Lüfter ansteuern kann. Um das z ändern müsste ich den Aufbau der Config schon wieder ändern, sodass alte Configs nicht mehr kompatibel wären und auch das UI ist nicht auf mehrere Lüfter ausgelegt.
Diese Änderung wirds nicht in die nächste Version schaffen, sonst würde diese sich noch mehr verzögern.

@Krautmaster
Na immerhin ist doch schon mal ein Fortschritt ;)

@jpameli
Du hast Post :)
 
Hallo,
ich habe schon länger im Netz nach einem passendem Tool gesucht um den Lüfter von meinem Medion Akoya P6630 regeln zu können, da mein NB bei Last zu heiß wird und im Idle den Lüfter nie abschaltet.

Das erscheinen von NBFC hat mich sehr gefreut, Dickes Lob an der Autor!

Dank der Mitgelieferten Anleitung hab ich herausgefunden welche read und write register mein NB hat, sowie die ungefähren min-max werte. Dabei bin ich jedoch auf eine Besonderheit gestoßen. Es gibt noch ein zusätzliches register, welches darüber Bestimmt ob der EC automatisch regelt und keine Einträge ins write register akzeptiert oder ob die drehzahl nicht variiert wird und manuell eingegeben werden kann.
Dieses Register Nr: 147 hat zwei Stellungen.
Entweder es steht auf hexadezimal "04" für den Betrieb EC controlled oder es steht auf hexadezimal "14" für manuellen Regelbetrieb.
Eine gesonderte Fan reset value im write Register konnte ich nicht finden.

Besteht die Möglichkeit vom NBFC beim Start das register 147 auf manuellen Betrieb umzustellen und wieder umzustellen auf "04" zum umschalten auf EC control?
Anbei habe ich ein Bild von meinen ermittelten register.


NBFC.jpg
 
messmega schrieb:
Es gibt noch ein zusätzliches register, welches darüber Bestimmt ob der EC automatisch regelt und keine Einträge ins write register akzeptiert oder ob die drehzahl nicht variiert wird und manuell eingegeben werden kann.
Dieses Register Nr: 147 hat zwei Stellungen.
Entweder es steht auf hexadezimal "04" für den Betrieb EC controlled oder es steht auf hexadezimal "14" für manuellen Regelbetrieb.

Wie hast du das herausgefunden? Dieses Register müsste doch immer auf 04 stehen, also gar nicht wirklich auffallen und auch dann kann es bis zu 255 Versuche brauchen um den Wert zu finden in dem das EC manuelle Eingaben akzeptiert, das müsste man jedes mal ausprobieren.

Bitte sag nicht dass das Glück war... :D
Denn bei meinem UX31A ist es auch so dass das EC keinerlei manuelle Eingaben akzeptiert, abgesehen von dem einen Register das Krautmaster beschrieben hat mit dem man den Lüfter auf Dauer-AN schalten kann.
 
@messmega
Jap, ist möglich.
Ich werd bei der nächsten Version die Möglichkeit einbauen.
Vorerst wird die Option aber nicht per GUI erreichbar sein, sondern muss per Hand in der Config Datei festgelegt werden.

Kann aber noch bis nächste Woche dauern bis zum Release, da ich noch auf das Feedback meiner Tester warten möchte und auch noch die Anleitung um alle neuen Optionen erweitern muss.
 
Zurück
Oben