[Vorstellung] NoteBook FanControl (NBFC)

Hi Leute, ich poste hier mal eine Config für ein Lenovo Ideapad 500s. Es handelt sich dabei nicht um eine klassische Lüftersteuerung, sondern um eine Art „kreativen Missbrauch“ der EC-Steuerfunktionen von NBFC. Zunächst habe ich auch nach vielen Versuchen/Test mit RW-Everything keinen direkten Zugang zur manuellen Lüftersteuerung im EC finden können. Allerdings habe ich gemerkt, dass ich eine Änderung der Temperaturwerte im EC die Lüftersteuerung beeinflusst.

Die Register beim Lenovo konnte ich wie folgt entschlüsseln:

6: Fan-Geschwindigkeit (leider nur read only)
176: Temperatur (in Grad Celsius)
218-219: „Counter“ 1 für Fan-Stufen → Ein Zähler, der von 0 bis ca. 20 läuft. Ich vermute, er bestimmt die Verweildauer auf einer bestimmten Fan Stufe, nachdem eine bestimmte Temperatur erreicht wurde -> wirkt wie ein Verzögerer/Dämpfer für die Erhöhung/Reduzierung der Fan-Geschwindigkeit, falls die Temperatur der CPU nur kurz über/unter einen bestimmten Wert steigt/fällt. (Word 16bit)
220-221: „Counter“ 2 (ähnlich Counter 1)

Hilft mir erst mal für eine echte Lüftersteuerung so nicht weiter. Möglich ist aber Folgendes: Ich zweckentfremde die Funktion der Fankonfiguration von NBFC, um den Temperatur-Register 176 zu überschreiben.
Sieht konkret aus wie folgt: NBFC Fan-Write auf Register 176 setzen mit Fan Speed Min=0 und Fan Speed Max=100. Die in der Config bei den Temperatur-Thresholds gesetzten Werte überschreiben jetzt folglich nicht (wie eigentlich angedacht) den Fan-Register, sondern den Temperatur-Register 176. Bsp.: Eine Lüftergeschwindigkeitsstufe in der Config von 51% schreibt jetzt den Temperaturwert 51° in den Register 176. Es findet praktisch eine Temperaturverschiebung statt. Der Ec denkt, er ist bei 51°ist und regelt aus seiner Automatik die Lüftergeschwindigkeit. Letztlich ist es eine Bruteforcemethode zur Überschreibung der Temperatur im EC.

Frage: Beißt sich da nicht die Schlange in den Schwanz, wenn NBFC die Temperaturwerte im EC überschreibt, aber gleichzeitig ja die korrekten Temperaturwerte braucht, um die Config umzusetzen? Da NBFC ja die ACPI-Schnittstelle (weitere Methode zum Auslesen der Temperatur) und nicht aus dem EC liest, gibt es da auch keinen „Kurzschluss“. Auch die anderen bekannten Tools (hwinfo/intel xtu/throttlerstop) lesen die korrekte Temperatur aus. Nur die Lüftersteuerung regelt sich nach den Temperaturwerten aus dem EC.

Weiterer kleiner Vorteil: Mein Ideapad fällt nicht mehr auf den Basis-Takt von CPU/GPU zurück, falls die Temperatur läppische 65° überschreitet und throttled auch nicht mehr ab 75°. Kleiner Tipp am Rande: konsequentes undervolten von CPU und GPU mit Hilfe von Intel XTU/throttlestop hat hier auch schon kleine Wunder bewirkt.

Vielleicht wäre es möglich, diese alternative Methode als Option in NBFC zu integrieren. Hier der Link zur Config: https://www.dropbox.com/s/nixe9zmmlf8jk7o/Lenovo Ideapad 500s.xml?dl=0

Und Glückwunsch zum Leserartikel, Grantig!
 
Zuletzt bearbeitet:
Hallo,

ich habe ein Acer Aspire S3.

Ich habe heute auf die neueste Version geupdatet und habe leider keine Möglichkeit die "Fan Speed" umzustellen.

Up threshold und Down threshold kann ich umstellen.

Insert defaults funktioniert auch.


Was kann ich tun, damit ich meine individuellen Fan settings einstellen kann?


Vielen Dank. :)
 
Eberh@rd schrieb:
OK ich hab jetzt mal aufs Geratewohl ein paar HP configs probiert, und jetzt bleibt der Lüfter GANZ aus. Zwar ist das suhper angenehm, aber bei über 70°C sollte er dann vielleicht doch wieder ein bisschen anspringen.

Auf was für einem Wert steht denn die "Critical Temperature" in der config?

Evtl. funktioniert es, daß NBFC den Lüfter oberhalb dieser kritischen Temperatur anwirft.

Mein HP ProBook 4720s habe ich so laufen lassen, bei einer kritischen Temperatur von 80°:-)
Das ProBook hat es überlebt; ich habe das aber auch nur riskiert, weil es schon älter war.
 
Super Arbeit, gerade gab es auch eine kleine Spende!

Bin gestern fast wahnsinnig geworden, weil beim 17 Zoll Aspire Nitro der Lüfter zwischen 15-25 Prozent ekelhaft laut brummt. Problem ist jetzt manuell behoben und mein Sonntag gerettet. Vielen Dank! :)
 
Der einzige Effekt bei meinem Sony Vaio VPCF13 ist dass der Lüfter nicht auf das Programm reagiert und interwallmäßig aufheult. Gibt es irgendeine Möglichkeit das Tool mit meinem Notebook zu nutzen? Wäre mir auch eine große Spende wert.
 
@vickoxy
Freut mich dass es läuft.

@Zuptr
Thanks for the reply. I will publish your config tomorrow.

@Vatte
Die Config die du benutzt überschreibt beim Start das Temperatur Register, damit sich der Lüfter komplett deaktivieren lässt (was sonst nicht geht).
Wenn aber irgendeine Software via ACPI die CPU Temperatur ausliest, wird das entsprechende Register wieder mit der tatsächlichen Temperatur beschrieben --> Lüfter lässt sich nur bis 25% drosseln. Deswegen glaube ich, dass bei dir irgendwas dazwischenpfuscht, vor allem da es ja bei dir anscheinend schonmal funktioniert hat.

@speedinator
Es gibt seit neuestem eine Ideapad config im NBFC repo auf github. Evtl. funktioniert die auch für deins.

Falls nicht:
Deine Idee ist nicht so abwegig. Es gibt mehrere Configs die genauso funktionieren. Ist natürlich nicht die beste Lösung, aber wenns funktioniert, dann funktionierts ;)

Ein paar Anmerkungen zu deiner Config:
  • Wenn du weißt dass Register 6 die Fan Speeds angibt, könntest du es auch als read register nutzen. Min/max speed lassen sich ja seit v.1.4.2 für read/write-operationen getrennt festlegen.
  • Da du ja die Temperatur manipulierst: ist 100 Grad als maximum nicht zu viel? Könnte sein, dass da bereits runtergetaktet wird.
  • Register 218-221 legen vermutlich den Hysterese-Wert fest

@Ask-me
Hört sich an als ob bei dir min/max speed gleich sind. Dadurch gibts dann auch nur eine "speed"-Stufe (die gleich dem min/max-Wert ist).

@slind
Danke für die Spende! :)
Freut mich dass NBFC dir hilft.

@3-way
Wenn keine der vorhandenen Sony Vaio Configs funktioniert musst du selbst eine schreiben.
Wie das geht kannst du in der Anleitung in meinem Tools & Docs Ordner und im NBFC Wiki nachlesen (siehe Startpost).
 
Grantig schrieb:
@Ask-me
Hört sich an als ob bei dir min/max speed gleich sind. Dadurch gibts dann auch nur eine "speed"-Stufe (die gleich dem min/max-Wert ist).

Kannst du mir das vielleicht etwas ausführlicher erklären?

Vielen Dank.
 
Bin wieder da... Habe unter Linux ein kleines Problem-je 2-3 Minuten meldet sich Lüfter für eine Sek obwohl keine Last und die Temperatur niedrig ist... Klingt bekannt? Vielleicht eine Lösung?

EDIT: ich glaube, dass ich vielleicht die Ursache für diese Aktivierung gefunden habe (aber ich muss es noch genauer testen) - Conky mit CPU Frequenz Monitoring. Habe irgendwo hier gelesen, dass ein Hardware-Monitoring Programm zu Konflikten führen kann... Deswegen ist nun Conky deaktiviert...
EDIT 2: eigentlich wieder dasselbe. Das Problem besteht nur nach dem Standby. Gibt es irgendeine Möglich, nach jedem Standby Service wieder zu starten (d.h. total zu beenden und dann wieder zu starten)?
Danke
 
Zuletzt bearbeitet:
Gibt es eine Config für das Lenovo Ideapad Y50-70 2015 Modell? Danke für eure Hilfe :)
Cooles Tool!
 
Moin,

hab von den ganzen kram keine Ahnung - aber was solls ;)
zum Glück kann man die aktuellen CPU's ja nicht mehr kaputt machen...

Code:
<?xml version="1.0"?>
<FanControlConfigV2 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <NotebookModel>ThinkPad T430s- 2356LPG</NotebookModel>
  <Author>Vidarius</Author>
  <EcPollInterval>3000</EcPollInterval>
  <ReadWriteWords>false</ReadWriteWords>
  <CriticalTemperature>100</CriticalTemperature>
  <FanConfigurations>
    <FanConfiguration>
      <ReadRegister>47</ReadRegister>
      <WriteRegister>47</WriteRegister>
      <MinSpeedValue>0</MinSpeedValue>
      <MaxSpeedValue>7</MaxSpeedValue>
      <IndependentReadMinMaxValues>false</IndependentReadMinMaxValues>
      <MinSpeedValueRead>0</MinSpeedValueRead>
      <MaxSpeedValueRead>0</MaxSpeedValueRead>
      <ResetRequired>true</ResetRequired>
      <FanSpeedResetValue>128</FanSpeedResetValue>
      <FanDisplayName>System Fan</FanDisplayName>
      <TemperatureThresholds>
        <TemperatureThreshold>
          <UpThreshold>0</UpThreshold>
          <DownThreshold>0</DownThreshold>
          <FanSpeed>0</FanSpeed>
        </TemperatureThreshold>
        <TemperatureThreshold>
          <UpThreshold>81</UpThreshold>
          <DownThreshold>65</DownThreshold>
          <FanSpeed>28.57143</FanSpeed>
        </TemperatureThreshold>
        <TemperatureThreshold>
          <UpThreshold>90</UpThreshold>
          <DownThreshold>75</DownThreshold>
          <FanSpeed>42.8571434</FanSpeed>
        </TemperatureThreshold>
        <TemperatureThreshold>
          <UpThreshold>100</UpThreshold>
          <DownThreshold>80</DownThreshold>
          <FanSpeed>100</FanSpeed>
        </TemperatureThreshold>
        <TemperatureThreshold>
          <UpThreshold>75</UpThreshold>
          <DownThreshold>50</DownThreshold>
          <FanSpeed>14.2857151</FanSpeed>
        </TemperatureThreshold>
      </TemperatureThresholds>
      <FanSpeedPercentageOverrides />
    </FanConfiguration>
  </FanConfigurations>
  <RegisterWriteConfigurations />
</FanControlConfigV2>

hat jemand Verbesserungsvorschläge?
 
Bein BenQ Joybook 2100 ist in der Liste der unterstützten Geräte nicht aufgeführt.
Lohnt es sich trotzdem, zu testen, ob es funzt oder ist der Schleppi dafür zu alt?
 
@Ask-me
Der Config Editor berechnet die Anzalh der möglichen Geschwindigkeitsstufen so: abs(MaxSpeedValue - MinSpeedValue) --> wenn max/min speed gleich sind gibt es nur eine Stufe und du kannst nichts einstellen. Ich vermute daran liegts bei dir.

Siehe: https://github.com/hirschmann/nbfc/wiki/Basic-fan-configuration

@vickoxy
Schreib dir ein script das den service stoppt und wieder startet und führ es nach nem Standby aus:
http://askubuntu.com/questions/661715/make-a-script-start-after-suspend-in-ubuntu-15-04-systemd

@Vidarius
Sieht gut aus, Danke!
Hab deine config im NBFC repo veröffentlicht.

@Lancelot1157
Testen kannst du, es sind auch configs von relativ alten Notebooks mit dabei (z.B. alle Packard Bell und Gateway configs).
 
Hi, danke für den Hinweis.
Ich habe das Lüfterverhalten weiter betrachtet und bin zu diesem Beschluss gekommen:
Die Lüfterregelung funktioniert immer gleich (egal ob nach Standby oder Reboot-hatte nur gedacht, dass nach dem Reboot anders ist, weil man mehr Zeit braucht, um Arbeitstemp. zu erreichen) - der Lüfter ist still bis zu der Temperatur, an welcher er sich ohne Lüftersteuerung einschalten würde (37-39 Grad). Sobald diese Temp. erreicht wird, springt er für eine sek ein und schaltet sich sofort aus. Dann ist eine Weile ruhig, und dann wieder so...
Ich wiederhole-dieses Verhalten ist nur unter Ubuntu 15.10 zu finden. Mit Windows 10 und derselben Konfiguration funktioniert alles bestens... Und Win 10 zeigt die Lüfterdrehzahl, bei Ubuntu kann ich den Lüfter nicht auslesen:
Code:
linux@linux:~$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +46.0°C  (crit = +100.0°C)
temp2:        +43.0°C  (crit = +92.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 0:         +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:         +47.0°C  (high = +100.0°C, crit = +100.0°C)
Core 2:         +41.0°C  (high = +100.0°C, crit = +100.0°C)
Core 3:         +43.0°C  (high = +100.0°C, crit = +100.0°C)
 
Hallo,
die Config für das Yoga 3 14 schaltet nur den Lüfter bis 40 °C ab, oder? Also eine komplette Steuerung erlaubt es nicht so wie ich das verstanden habe. Kann man die Temperatur auch irgendwie verändern oder hat mittlerweile vielleicht wer eine besser funktionierende Config?

Gruß,
slayer
 
@vickoxy
Ich weiss gerade nicht ob ich das schon gefragt habe, aber benutzt du das neue EC Plugin für Linux (ECSysLinux) oder noch das alte?
Falls du das alte benutzt, bau dir die aktuelle version von NBFC.

Zur Drehzahl:
nbfc.exe status gibt dir keine Drehzahl aus?
Falls du dich auf lm-sensors beziehst: natürlich zeigt dir das keine Drehzahl an, woher soll es die auch haben. lm-sensors bekommt seine Infos normalerweise aus sysfs-Files. NBFC kann kein sysfs-File erstellen, da es im Userspace läuft.
 
Danke für die Rückmeldung-hier bin ich total überfordert... "das neue EC Plugin für Linux (ECSysLinux)" - habe keine Ahnung wo finde ich dies oder was ich damit machen soll. Ich habe hier die Infos gefunden:
https://github.com/hirschmann/nbfc
und über
die letzte Version heruntergeladen (vor ca. 10 Tagen) - das sollte die neueste Version sein?

nbfc status zeigt mir Fehler:
root@linux:~/nbfc/Linux/bin/ReleaseLinux# nbfc.exe status
nbfc.exe: Befehl nicht gefunden.
root@linux:~/nbfc/Linux/bin/ReleaseLinux#
 
Das neue Plugin ist seit 19. Januar im repo (kann man übrigens im Commits log nachschauen).
Du solltest also das aktuelle Plugin haben.
Finden kannst du es im Plugins Ordner. (bei dir: ~/nbfc/Linux/bin/ReleaseLinux/Plugins/)

Zu nbfc status - was da schief läuft hab ich dir schonmal erklärt:
https://www.computerbase.de/forum/t...fancontrol-nbfc.1070494/page-64#post-18495073

Falls die nbfc.exe tatsächlich nicht in ~/nbfc/Linux/bin/ReleaseLinux/Plugins/ liegt, dann bau das Projekt einfach nochmal.
Wie das geht steht auf der NBFC github Page, bzw. in der README.md.
 
Hi, habe alte Dateien gelöscht und dann NBFC wieder installiert-bis jetzt meldet sich der Lüfter wirklich nicht... Vielleicht habe ich wirklich bei der ersten Installation irgendetwas gemacht, was nicht in Ordnung war... Schauen wir nun ob sich was ändert...:)
Danke!

EDIT 1: ja-wieder bei altem... Warum es so ist, keine Ahnung, aber ich glaube, ich kann damit leben-der Lüfter springt je ein paar Minuten nur für eine Sek. ein und das ist es...
EDIT 2: Dieses Einspringen von Lüfter passiert zu unregelmäßigen Abständen-machmal je 6-8 Minuten, manchmal nur je 20 Min... Wie schon gesagt-schlimm ist es nicht, aber merke den Unterschied zum Windows 10...
 
Zuletzt bearbeitet:
hallo,

ich habe ein acer travelmate 4220 Notebook und das tool zeigt unter Windows keine Möglichkeit den lüfter zu beeinflussen ... gbt es eine config oder muss ich es selbst versuchen ? danke.

:D
 
Zuletzt bearbeitet:
Zurück
Oben