[Vorstellung] NoteBook FanControl (NBFC)

lembi schrieb:
Ah Danke. Das war das was man auch mit "verzögertem Start" teilweise umgehen konnte?
Nein, was du meinst wurde schon in 1.1.0.17 behoben (und war auch kein Bug im eigentlichen Sinne).

Ich habe für Version 1.1.0.17 (unter anderem) den NBFC Service überarbeitet. Leider ist mir dabei ein (dämlicher) Fehler unterlaufen, sodass man den Service (genauer gesagt, das FanControl Modul) nichtmehr starten/stoppen konnte.
Dieses Problem ist in Version 1.1.1.19 behoben.
 
Zuletzt bearbeitet:
Hallo ich bin neu hier im Forum und habe die Frage: Hat schonmal jemand eine Config für das neue Lenovo Yoga 2 13 Zoll (nicht "pro") geschrieben?
 
Hallo,
wollte mal fragen ob mir hier jemand helfen kann für mein Acer Aspire 5742g eine confi zu schreiben.
Ich habe schon gemerkt das grade bei diesen und ähnlichen Modellen einige Probleme auftreten.
Irgendwo stand mal was von BIOS Control Offset also irgendwie sollte man das erst deaktivieren damit man den Lüfterspeed setzen kann. Leider habe ich nach knapp 30 min nicht herausgefunden weder mit RW noch mit AcFanControll welcher Offset für den Lüfter ist. Hat jemand ne Idee wie man herausfindet das Bios auszustellen oder weiß jemand wonach ich suchen muss damit ich Daten zu den EC finde? Wie ist das eigentlich ist der EC richtiges Teil was auf den Mainboard ist was eine Seriennummer oder so hat? Also kann man einen Namen oder so raus finden dafür? Hat noch jemand Tipps was man probieren könnte? Hab alle Werte gründlich durchgesehen und keinen wirklichen gefunden :( Wie der Anschluss heißt worauf der Lüfter angeschlossen ist hilft wohl auch nicht viel oder?
 
Ich hätte eine Config für das Acer S7 391, ist eine modifizierte Version von der bereits vorhandenen Acer S7 191 config.
 

Anhänge

Zuletzt bearbeitet:
Hallo,

ich war froh, hier sogar eine config-Datei für mein Probook 4720s zu finden.

Leider funktioniert NBFC bei mir trotzdem nicht.
Ich habe es installiert, Probook 4720s ausgewählt usw.
- Der Service "nbfcService" läuft,
- Antivirus usw. abschalten nutzte nichts,
- starten als Admin auch nicht,
- (de) aktivieren von Fan-always-on im BIOS auch nicht,

Stand ist
- die Target-Fan-Speed (Auto) wird enstprechend der Config richtig angezeigt (z.B. 20%),
- "Current Fan Speed" und reale Fan-Speed entsprechen aber der HP-Regelung,
- die von NBFC angezeigte Temperatur erscheint sinnvoll; entspricht der Temp, die Speedfan anzeigt.

Anyone any helpful idea?

Michael
 
Lösungsvorschlag für Sony Vaio Fit Multi-Flip

Nahasapeemapetilon schrieb:
Hi alle,
ich bin auch einer der Sony Vaio Fit geplagten. Erstmall danke an OP für dieses Tool und die ganze Arbeit!! Wenn man mit NBFC die MultiFlip Reihe silent kriegt, spendier ich dir höchstpersönlich nen Kasten Bier. Mindestens.
Habe hier ein Sony Vaio Flip 13A, geiles Teil, nur scheiße laut oder gedrosselt. (dann immernoch zu oft Lüfter an, wenn auch nicht unbedingt unerträglich. Energiesparmodus, drosseln, Passiv-Policy, etc.. hilft ein wenig)
Nun, ich hab versucht da als ziemlicher Laie auf dem Gebiet mal durchzusteigen, mit RW habe ich 3 register (93, 103 und 223) identifiziert die reproduzierbar analog zur Lüftergeschwindigkeit schrittweise steigen/sinken, kann man richtig beobachten. Daneben stehen Register die sich wohl entsprechend zur Temperatur ziemlich oft verändern. Nun checke ich aber nicht, wie ich diese Register beeinflussen kann? Wenn ich mit RW in die Felder reinschreibe, wird es sofort wieder überschrieben. Dieses DSDT blicke ich leider garnicht.
Kann da jemand vielleicht einen entscheidenden Tipp geben? Ich stehe zu meinem Wort bzgl. Kasten Bier. Das Laptop erfüllt alle Wünsche bis auf die scheiß Lüftersteuerung. Danke für alle Hilfe!

Hallo an alle lüftergeplagten Sony Vaio Fit Multi-Flip -Nutzer,

ich denke, ich kann ein wenig Abhilfe schaffen und zur Aufklärung beitragen:

Die Fanspeed Read Register sind als WORD (16 bit, 2 byte) im EC gespeichert, und zwar in

92 (+93) und 102 (+103)
Der Wertebereich bewegt sich von 0 bis 7200 (dezimal)

Somit empfehle ich eine Umstellung von nbfc auf WORD.

Der Testmodus (FWD.exe) wird aktiviert indem Register 197 auf 0x10 gesetzt wird, und deaktiviert (Standard) auf 0x00.
(In WORD müsste Register 196 auf 0x1010 gesetzt werden)

Die Temperatur steht in Register 88.

Jetzt wird es interessant:

Das Fanspeed Write Register ist 95 (bzw. 94). Hier kann man in die Steuerung eingreifen. Das Bios wählt automatisch Werte zwischen 0 (aus) und 7 (ziemlich schnell - Testmodus ist noch schneller).
Allerdings, wenn man hier einen Wert kleiner 8 wählt, wird dieser innerhalb einer Sekunde durch das Bios überschrieben. Wenn man den Wert also konstant überschreibt, kann man bedingt in die Steuerung eingreifen. Der Effekt ist allerdings nur langsam spürbar, da die Lüfter nicht aktiv gebremst werden, sondern bis zu der gewählten Stufe von selbst (Reibung) langsamer werden (das ist soweit ich weiß normal).

Wenn man den Wert auf 8 hört das Bios auf diesen Wert zu überschreiben (!).
Stattdessen setzt eine Lüfternotsteuerung ein, die um einen Temperaturbereich verschoben ist - heißt, die 10%-Lüftung setzt erst im Temperaturintervall ab 60°C ein, die 20%-Lüftung im Temperaturintervall ab 80°C, usw.
Zusammenfassend, wenn die CPU-Kerntemperatur nicht auf >60°C klettert, bleiben die Lüfter aus (!).

Hinweis: der EC scheint nur die letzten 3 bit auszuwerten, heißt z.B. zwischen 0x11 und 0x17 werden ebenfalls die Werte verändert, 0x18 ist wieder safe.

Zum Entwickeln eines Profils gibt es jetzt also zwei mögliche Wege:

1. Weg: Man setzt das Register 94 (bzw. 95) einfach auf den Wert 8 und hat weitestgehend seine Ruhe. Allerdings klettert meine CPU da, bei erhöhter Belastung schnell an die 80°C. Die Lüfter drehen ja ständig, weil die CPUs konstruktionsbedingt so heiß werden.

Das kann man einfach über "Register Write Configuration" machen, ein weiteres Steuern des Lüfters ist dann nicht vorgesehen.

Als kleiner Trick: ich habe einfach als Read Register 92 eingetragen und als Write Register 102 (Werte wie oben). Dann werden zusätzlich die Temperatur und die Drehgeschwindigkeit richtig angezeigt. Eine Steuerung ist natürlich nicht möglich.

2. Weg: Permanentes Überschreiben der Werte, indem man die oben beschriebenen Werte richtig einträgt. Damit das Bios diesen Wert allerdings nicht ständig überschreibt, muss man das Polling-Intervall unter 3000ms reduzieren. Wenn man das Polling-Intervall zu sehr reduziert, tritt der im nächsten Post beschriebene Effekt auf, dass das OS-Power-management nicht mehr einwandfrei funktioniert. Zudem stimmen die Werte in Reg 88 nicht mehr, was allerdings nicht der von nbfc verwendete Wert ist.

Nach zahlreichen Versuchen und Stresstests habe ich das Polling-Intervall auf 1700ms gesetzt. Hier wirkt sich der Bios-Eingriff nicht merklich auf die Lüftersteueurung aus, gleichzeitig treten im EC kaum Fehler mehr auf.


Achtung! Beim 2. Profil kann es zu Systemabstürzen und Problemen in der Erkennung der Batterie kommen. An der Unterseite des Laptops ist ein Reset-Button für den Akku, den man bei ausgestecktem Stromkabel und ausgestelltem Notebook 10sek gedrückt halten muss.

Ursache für die Abstürze und Akkufehler ist das "Fast-Polling", das in den Folgeposts beschrieben wird. Ich schlage daher vor, das Profil nur bei Bedarf zu aktivieren - also zum Beispiel während einer Vorlesung oder einer Besprechung und es anschließend wieder zu deaktivieren.

Noch besser wäre natürlich, wenn jemand das Manual Control Register wüsste.... :)

Hauptproblem ist allerdings, dass die Sony Vaio Notebooks so schlecht designed sind, dass sie bereits unter mittlerer Last sehr heiß werden und daher Kühlung benötigen!!! Ich empfehle daher parallel mal einen Blick auf ThrottleStop zu werfen.

@Grantig: Um richtige Geschwindigkeitswerte anzuzeigen, ist hier eine Verbesserung Deines Programms notwendig - man müsste MIN und MAX- Werte getrennt für das READ und WRITE Register angeben können (!)


Jetzt müssten bitte noch Besitzer dieser und anderer Geräte der Vaio Fit Multi-Flip Reihe bestätigen, dass meine Einstellungen funktionieren, damit ich den Kasten Bier bekomme. :D

Liebe Grüße,
Der Broker



PS: Habe beide Profile angehängt. Anhang anzeigen Configs_6.zip (v6: Polling Intervall auf 1750 erhöht, Thresholds verfeinert)



P.P.S: Wenn man sich die Werte und die Lüftergeschwindigkeiten anschaut, sieht man erst einmal wie schlecht Sony mit den letzen Updates eigentlich herumgetrickst hat. Einerseits erreicht das Notebook (regulär) nie mehr die echte maximale Drehgeschwindigkeit und andererseits sind die hinterlegten Temperaturprofile auch nicht durchdacht.

P.P.P.S.: Sobald hier Bestätigungen eintrudeln, dass der Weg funktioniert, werde ich eine englische Zusammenfassung verfassen.
 
Zuletzt bearbeitet:
Lenovo Yoga 11s

Thank you for this wonderful program! Heres a config file for Lenovo Yoga 11s (tested with BIOS=77CN20WW v1.06).

IMPORTANT! This is not a perfect config file. It allows complete silencing of the fan due to a fortunate feature in fan's power controller, but I was not able to find how to enable 100% manual control. Read the description below for full explanation.

My settings: TEMP 0-60c: fan speed = 0, TEMP over 60: fan speed BIOS-controlled. NBFC Critical Temperature not in use (99).

-------------------------------------------------------------------------------------------------
DESCRIPTION (My observations concerning fan control on Lenovo Yoga 11s)
-------------------------------------------------------------------------------------------------
1. EC write register is 0x57 (87), but unfortunately writing to this register is a short lived joy, as it gets almost immediately overwritten by automatic control.
2. I was unable to find the register for toggling manual fan control (if it even exists).
3. Fortunately there seems to be a certain poll-rate for automatic controller. If you increase NBFC poll rate enough, NBFC will eventually win the "EC refresh competition", and subsequently take over controlling the speed of the fan. Hooray! But...
4. ...Unfortunately setting NBFC to poll EC quick enough (< 1000 ms) to gain fan control causes at least one undesired side-effect: On battery power EC can at any given moment report a very low battery level (which I suspect to be zero), resulting in Operating System thinking that battery level is below "critical" causing the laptop to randomly shutdown or sleep (depending on OS power management settings). While this could be studied further to find a workaround, there might be other nasty side-effects to fast EC polling. Besides, it's not nice knowing that EC is reporting erroneous battery information, so I decided to forget this solution.
5. There's an interesting feature in Yoga's fan power controller (or whatever): Whenever EC register 0x57 is set to zero or MAX, the change in actual fan speed is instantaneous. But set it to anything else, and actual fan speed is changed gradually and veeeery slowly. And this is our window of happiness! Example: We set register 0x57 to 00 --> fan stops --> automatic controller overwrites our 00 in 0x57 with whatever value it thinks is best for current temperature. --> fan starts spinning up slooooowly --> Before we hear any noise, we set register 0x57 to 00 again! --> fan stops again! Then just let NBFC take care of looping this, and we're done. I found out that the default poll rate of 3000ms is perfect. Fan remains completely silent and I have not experienced random shutdowns!
6. To avoid any pumping of the fan speed (when on), I created thresholds that try to match the automatic control values (which interestingly seem to go hand in hand with temperature celcius, e.g. TEMP 60c --> 60 (HEX 3C) in register 0x57).

This was not a very clear explanation, but I hope it made some sense.

p.s. If anyone ever finds the manual fan control register in Yoga 11s EC, please let me know. :)
 

Anhänge

I'm using HP ProBook 4540s. I like this tool a lot, but I have some issues.

When I set fan to 0%, actual speed goes at -17,5% and lower (sometimes to -45%), and if I try to set it to 100%, it goes sometimes at 102,5% or 105%.

Just to show for lower speed: http://i.imgur.com/nnbMrlL.png?1

Fake temperature seems to suddenly set itself from 28 to 46°C (it does not return back at 28°C), and sometimes it sets itself to 98°C (causing overheat alert from other program), which seems to cause my fan to speed up to 120% or higher for few seconds, and I fear it will damage fan permanently!

I have modified profile only to set automatic profile differently as I don't want to use anything over 90% to avoid some sort of damage, though I only use manual control as it seems easier to control for me.

Another note: I'm not running NBFC at startup and I've set service to manual. It's quite annoying to start service and find out that it's immediately taking control of fan before I can get access to settings. Can you add an option to start and stop NBFC service so I don't have to start service from Windows settings?

And please, give some support forum/contact which isn't in German as those who don't understand it can't easily report some issue.
 
Tom.K schrieb:
When I set fan to 0%, actual speed goes at -17,5% and lower (sometimes to -45%), and if I try to set it to 100%, it goes sometimes at 102,5% or 105%.

The reason for this error is that nbfc assumes that the READ and WRITE intervall are the same. However for many notebooks this seems not to be the case (anymore). Consequently as suggested earlier this could be fixed by requiring to input the min/max-interval seperately for both registers.
So, no need for concern because the EC is not actually trying to run the fan at more than 100% or less than 0%.

You could try to set up a fake fan, where you leave the WRITE register blank but put in the min/max that actually occur in the READ register. Then this fan shows the real percentages.


Tom.K schrieb:
Fake temperature seems to suddenly set itself from 28 to 46°C (it does not return back at 28°C), and sometimes it sets itself to 98°C (causing overheat alert from other program), which seems to cause my fan to speed up to 120% or higher for few seconds, and I fear it will damage fan permanently!
What polling rate are you using? Anthing below 1500ms might cause issues with reported temperature values are wrong.

Der Broker
 
Der_Broker schrieb:
What polling rate are you using? Anthing below 1500ms might cause issues with reported temperature values are wrong.

It's on 3000ms.

For now I'm not sure how to properly make a fake fan (I guess using the manual guide), but procedure looks confusing for now, so I'll have to do that later.
 
tobox11 schrieb:
Hallo ich bin neu hier im Forum und habe die Frage: Hat schonmal jemand eine Config für das neue Lenovo Yoga 2 13 Zoll (nicht "pro") geschrieben?

Ich bin auch händeringend auf der Suche! Finde das Gerät spitze aber der Lüfter läuft ja praktisch immer, selbst bei Core Temps von unter 50...Falls jmd eine Lösung/config hat, wäre ich sehr dankbar, sonst geht das Gerät zurück :-(
 
@seti1337
Es wäre sehr nett wenn du die Config irgendwo hochlädst und mir den Link schickst. Ich werde die Config dann in meinem Skydrive veröffentlichen :)

@Maikel
Welche BIOS Version hast du installiert?

@Der_Broker
Danke für deine Mühe.
Für R/W Register getrennt definierbare min/max Werte werde ich im nächsten Release implementieren.
Wenn noch eine Bestätigung kommt, dass deine Config gut funktioniert, werde ich sie in meinem Skydrive veröffentlichen.

@Tom.K
Don't worry about current fan speed readings.
If current speed shows values > 100%, the fan is not running faster than it should. Its just an indication for a wrong max. fan speed value in your config file. Setting it to 46 should do the trick for you.

Current fan speed showing negative values at 0% target fan speed is caused by the hack that is required to make the ProBook EC stop the fan. NBFC fakes the CPU temperature and gives the EC back control over the fan. The EC then reads the low (faked) CPU temperature and stops the fan. This hack is required because the EC does not allow the fan to be stopped in manual control mode.
To fix your problem, add two fanspeed overrides to your config: (95|0%), (106|0%).

I'm currently working on a (English) website for NBFC, including a forum.

@ YogaSilencer
Thank you very much for your effort :)
I added your config to my Skydrive.

@ Lenovo Yoga 2 Users:
Habt ihr schon die configs des Yoga 11 oder des Yoga 13 ausprobiert?
 
Grantig schrieb:
@Maikel
Welche BIOS Version hast du installiert?
Das ist 68AZZ Ver. F.01 von 1/12/2012

Habe ich scheinbar nie aktualisiert, wohl keine Notwendigkeit gesehen.

Demnach braucht NBFC ein neueres BIOS? eine bestimmte Version? oder einfach die neueste?
 
Grantig schrieb:
Don't worry about current fan speed readings.
If current speed shows values > 100%, the fan is not running faster than it should. Its just an indication for a wrong max. fan speed value in your config file. Setting it to 46 should do the trick for you.

Current fan speed showing negative values at 0% target fan speed is caused by the hack that is required to make the ProBook EC stop the fan. NBFC fakes the CPU temperature and gives the EC back control over the fan. The EC then reads the low (faked) CPU temperature and stops the fan. This hack is required because the EC does not allow the fan to be stopped in manual control mode.
To fix your problem, add two fanspeed overrides to your config: (95|0%), (106|0%).

After setting it to 46, and now it's not going over 90,5%, while all settings have been changed to strange amounts (52,4%, 28,6%) while normal percentages (5%, 10%, 15%...) don't exist at all.

After adding 2 fanspeed overrides, it's now at 14,3% (I guess 17,5%).

I've set max fan speed back at 48 if it doesn't cause any damage then.

Thanks for help anyway!
 
Maikel schrieb:
Demnach braucht NBFC ein neueres BIOS? eine bestimmte Version? oder einfach die neueste?

Viele Hersteller haben auf die Kritik bezüglich der Lüfterlautstärke reagiert und daraufhin BIOS-Updates herausgebracht.
Bereits aus diesem Grund ist ein Bios-Update meistens sinnvoll (der changelog verrät mehr) und erspart gegebenenfalls weitere Maßnahmen.

Da die Bios-Updates in diesen Fällen zum Beispiel andere Register und Wertebereiche nutzen, funktioniert das jeweilige Profil in nbfc unter Umständen bei anderen Versionen nicht richtig.

Also, nicht nbfc benötigt das neuste Bios, sondern die Profile beziehen sich immer auf die BIOS-Version unter der sie erstellt und erfolgreich getestet wurden (deshalb enthalten einige Profile Hinweise auf die BIOS-Version im Namen). Sobald die BIOS-Version abweicht, kann es eben unter Umständen zu Fehlfunktionen kommen, muss aber nicht.


Tom.K schrieb:
After setting it to 46, and now it's not going over 90,5%, while all settings have been changed to strange amounts (52,4%, 28,6%) while normal percentages (5%, 10%, 15%...) don't exist at all.

After adding 2 fanspeed overrides, it's now at 14,3% (I guess 17,5%).

I've set max fan speed back at 48 if it doesn't cause any damage then.

Thanks for help anyway!

The weird percentages are caused by the very nature of the setup. As you can only input full numbers into the EC, 1 step equals 46/100% = 2.2% - there you go.
 
Zuletzt bearbeitet:
Maikel schrieb:
Demnach braucht NBFC ein neueres BIOS? eine bestimmte Version? oder einfach die neueste?
Kann ich dir nicht mit Sicherheit sagen.
Ich kann dir nur sagen, dass auf meinem ProBook momentan BIOS F.41 läuft und zwar ohne Probleme.
Du kannst es ja mal mit einem BIOS Update versuchen, das geht bei den ProBooks recht einfach.
 
Hat jemand etwas für das U330p von Lenovo? Der Lüfter ist bei mir ganz seltsam eingestellt. Oder kann ich bedenklos was vom Yoga benutzen?
 
Ylem schrieb:
Oder kann ich bedenklos was vom Yoga benutzen?

Zu 99% wird das nicht funktionieren... (Hab noch ein S230u rumstehen und da passen die Werte auch nicht annähernd)

Ich kann nur empfehlen RWeverything zu nutzen und zu schauen, welche Register sich ändern bzw. überschreiben lassen und ob das einen Effekt auf den Lüfter hat.
 
Zurück
Oben