[Vorstellung] NoteBook FanControl (NBFC)

Tolle Arbeit kann ich nur sagen.

Mich würde auch interessieren ob es bald möglich ist beim Lenovo Yoga 3 14 mit i7 Prozessor den Lüfter zu steuern? Der hört leider nie auf zu drehen und ist störend. Wenn ich das nicht hinbekomme muss ich ihn zurückschicken 😞:(

Danke für die Mühe. Bei meinen anderen Geräten läuft das NBFC perfekt!

Edit: Also ich habe ein weing rumgespielt und habe für das Lenovo Yoga 3 14 i7 Modell rausfinden können dass 86 das Write Register ist und 06 das read register. Das reset Value ist 0xFF. Was ich aber nicht hinbekomme ist den Speed zu ändern. Ich kann den Lüfter ausschalten und einschalten aber dazwischen gibt es nichts. Das blöde ist aber das wenn ich ihn ausschalte dann macht es so ein pieps Geräusch... Ich muss bis Samstag es lösen ansonsten werde ich es zurückschicken das Notebook.
 
Zuletzt bearbeitet:
Moin die Herren,

im Config Verzeichnis (Opener) habe ich keine Config gefunden aber vielleicht weiß ja einer Bescheid: Kann das Programm einem Toshiba Satego (Satellite) X200-20O das Flüstern beibringen (ist ein Core2Duo)? Vielleicht hat ja einer sogar eine Config am laufen?
 
Hallo Zusammen.

Finde leider keine Config für den ASUS G750JX-CV109H. Könnte die eventuell nachgeliefert werden? Wär Spitze! <3

Freundliche Grüsse

whispers2011


[Edit: Problem gelösst, hab die Config von einem anderen ASUS genommen]
 
Zuletzt bearbeitet:
@Grantig: Hello again! I have followed your updates on NBFC and I just saw that you have posted a new version 1.3.0 and I was curious about what changes you have made from the 1.19 version because I haven't found any changelog :) . Thank you in advance !
 
nor-ric schrieb:
What does "FAN0, 8," mean? Could you please give me some hint?
It means the fan control register is 8 bits long.

You are right, 147 ost the fan register:
Code:
Offset(0x90),	// Offset = 144 (decimal)
MASK, 8,		// register: 144 (8 bit)
BT1S, 1,		// register: 145 (1 + 1 + 6 bit)
BT2S, 1,
, 6,			// not defined
BT1W, 1,		// register: 146 (1 + 1 + 6 bit)
BT2W, 1,
, 6,			// not defined
FAN0, 8,		// register: 147 (8 bit)

Have you tried writing 0xFF or 0x00 to 147 to set the EC to manual control mode?
If that doesn't work you could try to decrease your config's poll interval.

@ vanes
Im Startpost ist mien Tools & Docs Ordner verlinkt. Dort liegt ein DSDT Editor. Evtl. hilft der dir weiter.
Hier noch zwei Posts von mir dazu: 1, 2

@ whispers2011
Wäre cool zu wissen welche config du genau genommen ahst und ob alles problemlos läuft.

@ NitroXRoG
There is no official changelog because it is a release candidate, not a final release.
The most important changes so far are: More CPUs supported, plugin system, commandline interface, experimental Linux support
 
Zuletzt bearbeitet:
Grantig schrieb:
Have you tried writing 0xFF or 0x00 to 147 to set the EC to manual control mode?
If that doesn't work you could try to decrease your config's poll interval.

Yes, I've tried writing 0x00 and 0xFF, but the bios immediately kicks in and restores the previous value.

For now I'm experimenting with RWeverything. I can't try NBFC because the configuration editor crashes: the latest RC crashes immediately when I launch it, the previous 1.1.1.19 crashes when I try to edit the configuration. This is on XP SP3 with the provided NET framework 4 Client Profile.
Anyway, I think I wouldn't get far, even with NBFC, right? I mean, if I can't switch to manual control mode.
Thanks.
 
You can edit the config files in any (XML) editor.
If you can't switch to manual mode, you could set the poll interval in your config to ~500ms or even lower.
Maybe it does the trick for your notebook.

Btw. Windows XP is no longer supported by MS, so I decided to stop testing NBFC on XP - I'm sorry.
 
Grantig schrieb:
full quote removed
I'll manually edit the config, then. I'll let you know how it goes with the poll interval.
Thanks.

Grantig schrieb:
full quote removed
No problem. Which is the latest version supporting xp?
Edit: when I had the crash I was using 1.1.1.19 release. I'm now looking at the betas and I see that version 0.14.4.60 (which is the latest pre-1.1.1.19 release, apparently) has been tested on xp, as far as the included pdf says. Am I right?
 
Zuletzt bearbeitet: (full quotes removed)
The latest pre-1.1.1.19 release is 1.0.0.0.
It should work on XP (at least it worked on my test VM, as far as I remeber).

Pre 1.0.0.0 version of NBFC use a deprecated, less flexible config format, which is no longer supported.
 
Ok, I've tried the 1.0.0.0 release. The config editor crashes, but the program itself works apparently. Instead of manually creating the proper config file with an XML editor, I'm using a VM. I've come up with this:

Code:
<FanControlConfigV2 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <NotebookModel>Sony Vaio VGN-S4</NotebookModel>
  <EcPollInterval>500</EcPollInterval>
  <ReadWriteWords>false</ReadWriteWords>
  <CriticalTemperature>75</CriticalTemperature>
  <FanConfigurations>
    <FanConfiguration>
      <ReadRegister>147</ReadRegister>
      <WriteRegister>147</WriteRegister>
      <MinSpeedValue>58</MinSpeedValue>
      <MaxSpeedValue>110</MaxSpeedValue>
      <ResetRequired>false</ResetRequired>
      <FanSpeedResetValue>0</FanSpeedResetValue>
      <TemperatureThresholds>
        <TemperatureThreshold>
          <UpThreshold>15</UpThreshold>
          <DownThreshold>10</DownThreshold>
          <FanSpeed>9.6153846153846168</FanSpeed>
        </TemperatureThreshold>
        <TemperatureThreshold>
          <UpThreshold>55</UpThreshold>
          <DownThreshold>20</DownThreshold>
          <FanSpeed>50</FanSpeed>
        </TemperatureThreshold>
      </TemperatureThresholds>
      <FanSpeedPercentageOverrides />
    </FanConfiguration>
  </FanConfigurations>
  <RegisterWriteConfigurations />
</FanControlConfigV2>

Some questions:
1) In my EC there is no read register. I've entered the same as the write register. Is that correct?
2) I've noticed (even though I had the service turned off) that NBFC doesn't seem to monitor the cpu temperature: it reports 0°. How can this work if it can't monitor any temperature? Or maybe it would be able to monitor the cpu temperature if I got the service running?

I haven't tried the above config yet. I'll let you know if it works as soon as I have my Vaio at hand.
 
Zuletzt bearbeitet:
1) correct
2) the service needs to be running. the client doesn't have the necessary privileges to access the hardware.
 
Grantig schrieb:
... you could set the poll interval in your config to ~500ms or even lower.
Maybe it does the trick for your notebook.

Hi

I am trying to create a fan profile for a Samsung 900x3f.

I have found a write register (192), but no read register. Nor have I found a bit/byte to set manual mode.

Whenever I write a value to 192 the fan speed gets adjusted, but the bios kicks in and overrides the set speed.

What is the shortest poll interval I can set?
 
Zuletzt bearbeitet:
Hallo Grantig,

wie schaut es eigentlich mit der Optimierung in Hinsicht auf den Hardware Ressourcenverbrauch von NBFC aus?
Gerade CPU wird unter Linux verhältnismäßig "stark" belastet, was vllt. hauptsächlich an der Emulierung durch Mono liegt.
Eine native NBFC Version in C/C++ wäre sicher zu viel Aufwand, richtig?
 
@useless guru
minimum poll intervall is 100ms

@Tersus
Erstmal muss NBFC stabil unter Linux laufen.
Mono emuliert nichts. Es ist einfach nur ne alternative .net CLR. Btw. in mono 4.0 wurde viel aus Microsofts CoreFX und CoreCLR eingepflegt, ein update lohnt sich also.

Wenn du den JIT Compiler umgehen willst, schau dir mal das an: Mono AOT

Außerdem kannst du in der NbfcService.exe.config den netNamedPipeBinding-endpoint auskommentieren (oder löschen). netNamedPipeBinding funktioniert unter mono nicht und kann Probleme machen.

Das grundlegende Problem ist allerdings, dass das poll-intervall in den Zenbook configs so niedrig ist. Natürlich erzeugt das ne vergleichsweise hohe CPU Last. Wenn etwas optimiert werden muss, dann die configs.

Wenn jemand NBFC in eine Sprache seiner Wahl portieren will, habe ich nichts dagegen, der sourcecode ist öffentlich verfügbar. Ich werds nicht machen, mir fehlt dafür die Zeit.
 
Hi,

the program is working very nicely for my Zenbook UX32LN. I just donated a few bugs for your hard work!

But one question comes to my mind: I use NBFC to disable the fan for temperatures <55 °C. But I would like to use Asus'es normal fan configuration for higher temperatures. How can I set this in the config?

... Just deleting the entries for higher temperatures just lead to the laptop using my 55 °C value for temperatures higher than 75 °C, so that does not work. How can I set these high temperatures to be BIOS-controlled?

Thanks!
 
karlo12 schrieb:
I just donated a few bugs for your hard work!
Thank you very much!
I hope you meant you've donated a few bucks, because if you'd donated bugs I would have to fix them :lol:

Unfortunately I can't help you with your question. It's not possible to configure thresholds which reset an individual fan.
It's only possible to reset the EC as a whole. I'm sorry :(
 
Grantig schrieb:
Thank you very much!
I hope you meant you've donated a few bucks, because if you'd donated bugs I would have to fix them :lol:
:D :freaky:

.. no .. I just want to have only a specific temperature range to be manipulated, as you probably understood. I thought it would be easy to just disable the service/the writing of values complete, when the temperature lies outside a predefined range? But if it is not implemented yet, it's okay. I can just try to arrange the values for myself as accurate as possible :)
 
Ich moechte mich herzlich bei Euch Allen bedanken fuer Notebook Fan Control.
Ich brauche das Program dringend um ein Problem mit meinem IdeaPad Yoga 2 13 (nicht pro) zu loesen.

der Luefter ist immer voll an. Das Geraeusch macht mich verrueckt. Leider kann ich das nicht mit derzeitigen Version kontrollieren.
Koenntet ihr mir dabei helfen? Ich werde euch auch mit ein Bisschen Geld helfen.

Danke sehr!
 
Zurück
Oben