[Vorstellung] NoteBook FanControl (NBFC)

@bilet
The next version of NBFC will run as a service, independent from the logged on user account.

For the current version you could create a scheduled tasks which starts NBFC at login for every user account:
Windows 7: Task - Create to Run a Program at Startup and Log On

@-Rayz-
Momentan unterstützt NBFC nur einen Lüfter.
Die neue Version wird aber beliebig viele Lüfter unabhängig voneinander ansteuern können.

--------------------------

Kleine Wasserstandsmeldung:
Service und Client laufen so wie ich es mir vorstelle. Der neue Config Editor läuft auch, braucht aber noch etwas Feintuning.
Sobald ich mit dem Config Editor zufrieden bin (hoffentlich in ein paar Tagen) werd ich die neue Version an ein paar Tester verteilen. Wenn die Tests erfolgreich sind, werde ich die neue Version veröffentlichen.

Kleiner Eindruck der neuen GUI im Design mode, gefüttert mit Testdaten (das ProBook 6465b hat eigentlich nur einen Lüfter):
nbfc-client-designtime.png

Und der Client wie er im Betrieb (auf meinem ProBook) aussieht:
nbfc-client.png

Code:
<?xml version="1.0"?>
<FanControlConfigV2 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <UniqueId>HP ProBook 6465b</UniqueId>
  <NotebookModel>HP ProBook 6465b</NotebookModel>
  <EcPollInterval>3000</EcPollInterval>
  <ReadWriteWords>false</ReadWriteWords>
  <CriticalTemperature>75</CriticalTemperature>

  <FanConfigurations>
    <FanConfiguration>
      <ReadRegister>46</ReadRegister>
      <WriteRegister>47</WriteRegister>
      <MinSpeedValue>88</MinSpeedValue>
      <MaxSpeedValue>48</MaxSpeedValue>
      <ResetRequired>true</ResetRequired>
      <FanSpeedResetValue>255</FanSpeedResetValue>
      <FanDisplayName>CPU fan</FanDisplayName>

      <TemperatureThresholds>
        <TemperatureThreshold>
          <UpThreshold>0</UpThreshold>
          <DownThreshold>0</DownThreshold>
          <FanSpeed>0</FanSpeed>
        </TemperatureThreshold>
        <TemperatureThreshold>
          <UpThreshold>63</UpThreshold>
          <DownThreshold>48</DownThreshold>
          <FanSpeed>7.5</FanSpeed>
        </TemperatureThreshold>
        <TemperatureThreshold>
          <UpThreshold>65</UpThreshold>
          <DownThreshold>55</DownThreshold>
          <FanSpeed>20.0</FanSpeed>
        </TemperatureThreshold>
        <TemperatureThreshold>
          <UpThreshold>67</UpThreshold>
          <DownThreshold>59</DownThreshold>
          <FanSpeed>40.0</FanSpeed>
        </TemperatureThreshold>
        <TemperatureThreshold>
          <UpThreshold>69</UpThreshold>
          <DownThreshold>65</DownThreshold>
          <FanSpeed>65.0</FanSpeed>
        </TemperatureThreshold>
        <TemperatureThreshold>
          <UpThreshold>71</UpThreshold>
          <DownThreshold>67</DownThreshold>
          <FanSpeed>80.0</FanSpeed>
        </TemperatureThreshold>
        <TemperatureThreshold>
          <UpThreshold>73</UpThreshold>
          <DownThreshold>70</DownThreshold>
          <FanSpeed>100.0</FanSpeed>
        </TemperatureThreshold>
      </TemperatureThresholds>

      <FanSpeedPercentageOverrides>
        <FanSpeedPercentageOverride>
          <FanSpeedPercentage>0</FanSpeedPercentage>
          <FanSpeedValue>255</FanSpeedValue>
        </FanSpeedPercentageOverride>
      </FanSpeedPercentageOverrides>
    </FanConfiguration>
  </FanConfigurations>

  <RegisterWriteConfigurations>
    <RegisterWriteConfiguration>
      <WriteMode>Set</WriteMode>
      <WriteOccasion>OnInitialization</WriteOccasion>
      <Register>34</Register>
      <Value>1</Value>
      <ResetRequired>true</ResetRequired>
      <ResetValue>1</ResetValue>
      <Description>Set Thermal Zone to CPUZ</Description>
    </RegisterWriteConfiguration>
    <RegisterWriteConfiguration>
      <WriteMode>Set</WriteMode>
      <WriteOccasion>OnInitialization</WriteOccasion>
      <Register>38</Register>
      <Value>28</Value>
      <ResetRequired>true</ResetRequired>
      <ResetValue>0</ResetValue>
      <Description>Fake CPUZ temperature</Description>
    </RegisterWriteConfiguration>
  </RegisterWriteConfigurations>
</FanControlConfigV2>
 
Zuletzt bearbeitet: (Config Layout hinzugefügt)
@Grantig
sounds good with the new version. Hopefullly the new feature also will work with Win8.

Looking forward to the next version of NBFC. This program really has improved my satisfaction with my Lenovo Yoga 13.3

Knud
 
Das hört sich super an! Wollte schon mal etwas Testen und habe R&W installiert. Es hat auch einmal funktioniert aber nun bekomme ich folgenden Fehler wenn ich auf EC drücke...

fehler_RW.JPG

Neuinstallation brachte leider nichts. Was kann ich noch versuchen?
 
Hab 64bit und folgende Version: RwX64V1.6.4.zip Aber das Pogramm funktioniert ja dennoch.. evtl. einfach ignorieren oder was macht der EC-Button überhaupt?
 
Der EC Button sollte ein Fenster öffnen über das man die EC Register manipulieren kann.

Sollte so aussehen:
rwe-ec.png

Wenn das bei dir nicht klappt, dann wirds ziemlich schwierig eine Config für NBFC zu erstellen. :(
 
Nun gut, dieses Fenster habe ich auch. Werte verändern sich und Compare klappt auch..
Bis wann ca. gibt es denn die neue Version?
 
Wie ist denn der aktuelle Status bzgl. des HP Probook 4540S in Verbindung mit NBFC?
Kann dazu evtl. jemand etwas sagen?

Ich wäre für jegliche Erfahrungen sehr dankbar :)
 
Ich bin schon lange auf der Suche nach einer Möglichkeit meinem HP 6460b eine etwas brauchbarere Lüftersteuerung beizubringen. Da sich von HP aus nichts tut ist deine Software genau das, was ich schon lange suche.

Ich benutze Linux, und habe gesehen, dass du eine Portierung für nicht unmöglich hälst. Hast du da weiterhin Pläne? Hast du einen Überblick über das Setzen der von NBFC gesetzten Parameter via Kommandozeilentools auf Linux?


Danke für deine Arbeit an der Software,
zuiop
 
@-Rayz-
Soweit ist alles fertig.
Wenn die Tests gut laufen, dann veröffentliche ich die neue Version im Laufe der nächsten Woche.

@zuiop
Mit Portierung meine ich in diesem Fall, die Portierung der FanControl und der FanControl.Configurations libraries (ergo: die Lüftersteuerung und das Config System) von .NET auf Mono.

Das komplette GUI und der Service sind nicht portierbar.

Der Plan wäre also, nen Daemon zu schreiben, der die Libs nutzt und per xml files konfiguriert wird (genauso wie der Windows Service).
Nur eben ohne GUI, aber das dürfte imho kein großes Problem darstellen, da man den Daemon ja eh nur einmal konfigurieren muss.


Leider kann ich mir momentan nicht noch ein Projekt ans Bein binden. Ich will erstmal den Release der neuen Version (die einen großen Umbruch darstellt) über die Bühne bringen.
Außerdem würde ich auch gerne ne Website basteln um meine Software vorzustellen und den Leuten die NBFC nutzen nen zentralen Anlaufpunkt zu bieten um sich Infos zu beschaffen.
(denn in diesem Thread stehen zwar verdammt viel nützliche Informationen, aber sie sind wild auf über 30 Seiten verteilt --> tierisch unübersichtlich)

Nachdem die neue Version veröffentlicht ist, werd ich mal checken ob das was ich mir bezügl. Linux support so vorgestellt habe überhaupt in der Form umsetzbar ist, bzw. wieviel Aufwand nötig ist.
Ich werd mich dann dazu äußern, wenn ich mehr weiß.
Aber wie gesagt, das kommende Release hat erstmal Vorrang.


@all
Ich suche ein paar Tester, die die neue Version auf Herz und Nieren testen wollen.
Ich hoffe es finden sich ein paar Leute die interessiert sind. Ich werde dazu heute Abend noch genaueres schreiben, also bitte jetzt noch nicht melden ;)
 
"...also bitte jetzt noch nicht melden..."

Wer lesen kann ist klar im Vorteil.... sorry, hatte ich erfolgreich überlesen.
 
Zuletzt bearbeitet:
Tester gesucht!

Alle Komponenten der neuen NBFC Version sind endlich fertig.
Im wesentlichen besteht NBFC jetzt aus 3 Teilen:
  • Fan control service (läuft auch ohne eingeloggten User im Hintergrund)
  • NBFC Desktop Anwendung (Client für den Service, wird genutzt um den Service zu konfigurieren und Infos anzuzeigen)
  • Config Editor (zum Verwalten und Editieren der Configs)

Außerdem ist das Config Layout komplett neu, d.h. alte Configs werden nicht unterstützt.
Aber der Config Editor kann alte Configs importieren und so ins neue Format überführen. Für alle Configs in meinem Skydrive habe ich das auch schon gemacht.


Bevor ich aber die neue Version auf die Öffentlichkeit loslassen, will ich erst sicherstellen, dass es auf verschiedenen Systemen keine Probleme gibt.
Deshalb brauche ich ein paar Tester. Die Anforderungen sind auch nicht besonders hoch, deshalb hoffe ich es finden sich ein paar Leute die Lust haben.

Anforderungen an die Tester:
  • Du musst vorher schon eine ältere NBFC Version genutzt haben (um alte und neue Version vergleichen zu können)
  • Es muss eine funktionierende Config existieren, am besten in meinem Skydrive (damit sichergestellt ist, dass evtl. auftretende Fehler nicht an einer falschen Konfiguration liegen, sondern Bugs in meinem Code sind)
  • Du solltest etwas Ahnung davon haben, was ein Service ist und auch evtl. kleinere Probleme selbst lösen können, falls welche auftreten

Nice to have, aber nicht notewendig:
  • mehrere Betriebssysteme zum testen
  • mehrere Notebooks zum testen
  • ein Notebook mit mehr als 2 Lüftern und Lust, eine bereits vorhandene Config selbstständig so zu erweitern, dass beide Lüfter angesteuert werden können


Denkt dran, je früher die Tests abgeschlossen sind, desto eher kann ich die Version für alle veröffentlichen. ;)
Wer also testen will, bitte PM an mich!

Ich werde dann, Mittwoch oder Donnerstag Abend (wenn sich bis dahin genug Leute finden) die neue Version und weitere Anweisungen an die Tester verteilen.

Zum Schluss gibts noch nen Screenshot, damit ihr seht was euch erwartet:
nbfc.jpg
 
I would like to change my DV4z poor cooling performance. Your program looks great. I tried it on my notebook but not work as I expected. I create own configuration file best I known, but something is setup incorrectly. Fan increase speed based on my threshold value but it works very strange. Fan speed is increased only on approximately 1 second and immediately returns to previous rpm state (BIOS controlled fan speed). It looks like that NBFC write new TMP value but EC or BIOS instantly rewrite this value and based on the new value fan decrease speed and not hold constantly increased RPM. Sometimes I see that brightness increase and decrease (I have different brightness level for different power plan). I think that solution is on advanced 2 (manual EC control) or advanced 3 tab (fake temperature) in NBFC but I am not able to setup it myself. I have as I above mentioned DV4z with AMD Turion X2 and latest BIOS version F.55 and COMPAL EC (maybe same as Alienware M11x, M14x, M18x) and my cooling policy on every power plan is set to active. I include my ACPI DSDT table, EC value from idle and full CPU load and my NBFC profile.
 

Anhänge

Hallo Grantig,

danke für die schnelle und ausführliche Antwort. Falls du es tatsächlich schaffen solltest das Backend auf Linux zu portieren wäre das ein Traum. In jedem Fall scheinst du ja genügend Arbeit zu haben :).

Vielen Dank für die Infos.
 
Wirklich, ein super Projekt. Ich möchte mich vielmals bei Dir bedanken!!!
 
Moin Moin,

ich habe meinem Inspiron 15z nun endlich das Pfeifen abgewöhnt. Das einzigste Problem das ich noch habe, ich muss per Hand mit dem RW-Utility das Register 147 von 04 (Auto) auf 14 (manuell) nach jedem Neustart umstellen. Mit Advance 2 gings nicht, die Werte werden nicht übernommen, bleibt immer bei 04 für Auto.
Gibts da noch nen Trick?
 
Beim Inspiron 15z (5523-5581) gehts. Man muss nur Register 147 auf 14 umstellen, sonst beist man sich die Zähne aus.
 
ok, ich habe mir meine Kurve mit Speedfan eingerichtet und hatte dann nicht mehr nach dem Tool hier geschaut.
 
Zurück
Oben