[Vorstellung] NoteBook FanControl (NBFC)

Servus.

System: Lenovo Yoga 3-14 + Windows 10

Sowohl mit der 1.3.4 Version von NBFC als auch mit der BETA 0.14.4.60 kann ich die Lüfter nicht ansteuern. Bei der BETA erscheint außerdem nachfolgende Fehlermeldung:

3-14.PNG


Ich bitte um Rat.
 
Hello,

@Grantig I love your program.
I use it everyday and even put it on Startup, so it runs from the start, as I like to see the temperature on my laptop.

But, after I suspend my laptop and boot it up again, I get weird fan speeds and the fan does not respond to my orders.
As you can see in the picture below, the max temperature corresponds to a fan speed that does not makes sence.


What do you think is causing this?
What solution do you have?

Thank you in advance.
Cheers!
 
Hallo Gratig,

ich hab hier ein Acer aspire es1-311, mit einem unerträglich pfeiffendem Lüfter.

Unter Windows ist der Lüfter, dank deinem Tool, bereits angenehm leise (mit der Config vom Acer Aspire S3). Ich benutz aber hauptsächlich Ubuntu, und brauche deshalb die Linux variante.

Ich habe dasselbe Problem wie bereits diesem Beitrag genannt: https://www.computerbase.de/forum/t...fancontrol-nbfc.1070494/page-54#post-17623779

Der Inhalt meiner /etc/NbfcService/StagWare.Plugins.FSTemperatureMonitor.sources:
Code:
/sys/class/hwmon/hwmon1/temp2_input;0,001
/sys/class/hwmon/hwmon1/temp3_input;0,001
/sys/class/hwmon/hwmon1/temp4_input;0,001
/sys/class/hwmon/hwmon1/temp5_input;0,001

Ich habe ein Komma statt einen Punkt benutzt. In den tempX_input dateien stehen werte wie beispielsweise 50000.

Trotzdem wird im Status angezeigt:

Code:
Temperature		: 53250

Fan display name	: 
Auto control enabled	: False
Critical mode enabled	: True

Ich habe den aktuellen master branch heruntergeladen und gebaut. --version sagt trotzdem 1.2.2.0?

Vielen Dank,

bckpckr
 
Zuletzt bearbeitet:
@vimanas
Für das Lenovo Yoga 3-14 existiert soweit ich weiß keine config, deswegen kann NBFC den Lüfter nicht ansteuern.
Die alte Beta findet keine Temperatursensoren, da sie älter ist als die CPU in deinem Notebook (--> CPU wird in der alten Beta nicht unterstützt).

@hitardo
The hwmon max-readings are definitely incorrect.
I don't know why NBFC stops working after resuming from suspended state.

Have you tried disabling and then re-enabling the fan control service?

@bckpckr
Die aktuelle Version benutzt immer den Punkt als Dezimaltrennzeichen, egal welche Spracheinstellungen das System hat.

--version gibt dir die Version des NBFC CLI, nicht die Service Version.
Ich überlege allerdings ob ich das ändern sollte, da du nicht der erste bist den das irritiert.
 
Danke auch, es läuft jetzt bei mir! Ich kämpfe noch ein bisschen mit dem automatischen Start der Software.

Ich habe mir ein Skript geschrieben, das von /etc/rc.local aus beim Start aufgerufen wird. Leider funktioniert das ganze nicht wie gewollt, nach dem Systemstart scheint der NBFC-Service nicht zu laufen, mono nbfc.exe status gibt ein "Connection refused" zurück. Wenn ich das Skript dann nochmal selbst ausführe, läufts.

Woran könnte das liegen?

Das Skript schaut folgendermaßen aus:

Code:
#!/bin/bash

cd /home/tom/nbfc/Linux/bin/ReleaseLinux
sudo sh start-nbfcservice.sh
sleep 1
mono nbfc.exe config --apply 'Acer Aspire S3'
mono nbfc.exe start
mono nbfc.exe set --auto

und wird in der /etc/rc.local so aufgerufen: sudo sh /pfad/skript.sh

Last but not least: Die Stille ist herrlich - Danke für diese wunderschöne Software.
 
Grantig schrieb:
@vimanas
@hitardo
The hwmon max-readings are definitely incorrect.
I don't know why NBFC stops working after resuming from suspended state.

Have you tried disabling and then re-enabling the fan control service?

Thank you for your fast reply.

Yes, I have tried do disable and re-enable it.
The value on hardware monitoring decreases to its real maximum speed (4300rpm) imediatly and decreases over time to the normal value for its temperature.
But it takes time, like almost 1 minute to decrease and get back to normal.

Sometimes this method does not work and I have to re-select the laptop model.
After that everything stays normal again.

The weird thing is: this time the fan speed increased while using the laptop, out of nowhere.
The temperature was 50ºC.


In a humor note:
It is good to take some dust out of the filter :D hehe
But it is also good to know that the fan is working great.
 
@bckpckr
Je nach Distro kann es sein, dass rc.local garnicht (standardmäßig) ausgeführt wird, weils systemd fürs starten von services zuständig ist.

So kannst du einen systemd nbfc.service erstellen:

1. Die Datei /etc/systemd/system/nbfc.service mit folgendem Inhalt erstellen:
Code:
[Unit]
Description=NoteBook FanControl Service

[Service]
ExecStart=/opt/nbfc/start-nbfcservice.sh
Type=forking
TimeoutStopSec=20

[Install]
WantedBy=multi-user.target

ExecStart musst du anpassen, je nachdem wo NBFC bei dir liegt.

2. Den service aktivieren:
Code:
sudo systemctl enable nbfc.service

3. Um den service zu starten:
a) das System neustarten
oder
b)
Code:
sudo systemctl start nbfc.service

@hitardo
Some hardware monitoring tools can interfere with NBFC. Maybe HWMonitor causes your problems.
 
Grantig schrieb:
@bckpckr
@hitardo
Some hardware monitoring tools can interfere with NBFC. Maybe HWMonitor causes your problems.

I understand your point.
But these has ocurred before, before I installed HWMonitor.

To try and diagnose the problem I instaleed HWMonitor.

Do you have any suggention for me to diagnose further this problem?
 
Grantig schrieb:
@hitardo
What happens if you set the fan-speed to a constant value before you suspend it.
Is the fan still going crazy?
I usually set it to max (100%) in order to cool everything down, as the chassis is alluminum on top and the mother board is top-monted, and my palms get somewhat hot in the summer.
With 100% fan speed the temperature decreases to a reasonable value.

And normally the fan stays there, after and before I suspend it.
But 100% on NoteBook FanControl does not mean a fixed value.
On HWMoniter I see between 3800 and 4300rpm for a 100% position.
Is this right and accurate?

But the problem occurs when I return to auto.
It either stays on 100% or switches very quicly to idle and 100% every minute or so.
Making me disable and re-enable the NoteBook FanControl, reseting the notebook model or even rebooting the laptop in order to get normal fan speeds and behaviour.

Is there a way to log this?
 
Grantig schrieb:
@nor-ric
Thank you very much for your config. I'll add it to the github repo.

To discover the required mono packages there are 2 ways you could go:
1. top-down: install mono-complete package and remove packages step by step. Check if NBFC still works after each step.
2. bottom-up: install mono-runtime package only and install packages step by step. (seems like this is your approach)

Stuff that NBFC requires, which may not be included in the mono-runtime package: mono-service, MEF (managed extensibility framework), WCF (Windows communication foundation)

I don't have much time right now, but I'll try to figure out the minimum set of packages as soon as I'm less busy.

Hallo Grantig, did you eventually figure out the required packages?
Thanks for the info.
 
@nor-ric
For manjaro the only required package is "mono".

For other distros you can get the required packages yourself.

These are the assmeblies wich are referenced by NBFC:
Code:
/usr/lib/mono/4.0/System.ServiceModel.dll
/usr/lib/mono/4.0/System.dll
/usr/lib/mono/4.0/System.ServiceProcess.dll
/usr/lib/mono/4.0/mscorlib.dll
/usr/lib/mono/4.0/System.Xml.dll
/usr/lib/mono/4.0/System.Core.dll
/usr/lib/mono/4.0/System.Runtime.Serialization.dll
/usr/lib/mono/4.0/System.ComponentModel.Composition.dll
/usr/lib/mono/2.0/mscorlib.dll
/usr/lib/mono/2.0/System.dll
/usr/lib/mono/4.0/Mono.Posix.dll

If you save this list into a file (named "assemblies" in this example) you can do something like this:
Code:
for line in $(cat assemblies); do pacman -Q -o $line; done;
This will give you the packages in which the assemblies are included.
For Debian based distros you can use dpkg -S $line instead of pacman -Q -o $line.

@hitardo
NBFC atm only logs errors. Unfortunately there is no option to change the verbositoy level.

The N56VZ config doesn't actually set the fan speed. Instead it sets one of 9 "fan levels".
The HWMonitor rpm readings seem to be ok.

Atm I have no clue what causes your problems, sorry.
 
Zuletzt bearbeitet:
Grantig schrieb:
@nor-ric
@hitardo
NBFC atm only logs errors. Unfortunately there is no option to change the verbositoy level.

The N56VZ config doesn't actually set the fan speed. Instead it sets one of 9 "fan levels".
The HWMonitor rpm readings seem to be ok.

Atm I have no clue what causes your problems, sorry.

It is not a big deal, as the fan works when it is supposed to.

Thank you for you help!

Cheers!
 
@Grantig
Thanks for the hint. However, this proved to be very tricky on my Mint 17.1 x64 (based on Ubuntu 14.04 LTS) installation, so I'm going to share with you guys what I found out to be needed.
With Grantig's method in the previous post I was able to track down the following needed packages:
Code:
libmono-system-servicemodel4.0a-cil
libmono-system4.0-cil
libmono-system-serviceprocess4.0-cil
libmono-corlib4.0-cil
libmono-system-xml4.0-cil
libmono-system-core4.0-cil
libmono-system-runtime-serialization4.0-cil
libmono-system-componentmodel-composition4.0-cil
libmono-corlib2.0-cil
libmono-system2.0-cil
libmono-posix4.0-cil

However, those are not enough to allow NBFC to run. I found out by brute force (lol) that I also need "mono-4.0-service" and "libmono-system-data-services4.0-cil".

So, for the lazies, the command to install all the required mono packages is:
Code:
sudo apt-get install libmono-system-data-services4.0-cil mono-4.0-service libmono-system-servicemodel4.0a-cil libmono-system4.0-cil libmono-system-serviceprocess4.0-cil libmono-corlib4.0-cil libmono-system-xml4.0-cil libmono-system-core4.0-cil libmono-system-runtime-serialization4.0-cil libmono-system-componentmodel-composition4.0-cil libmono-corlib2.0-cil libmono-system2.0-cil libmono-posix4.0-cil

This takes 71MB of space, opposed to the 174MB taken by mono-complete.
 
@Grantig:

Vielen Dank für die ausführliche Anleitung. Vielleicht kann man die auch gleich mit ins Readme tun? Ich vermute mal, die meisten werden das Programm im Autostart haben wollen.

Ich bin noch auf Ubuntu 14.04, systemd scheint es leider erst ab Ubuntu 14.10 zu geben. Mal sehen ob ich das mit upstart selbst hinbekomme, ansonsten update ich halt. :)

Gruß

bckpckr
 
@ bckpckr
If you browse a couple of pages back, I reported how to make it autorun at boot in Linux Mint 17.1 (based on Ubuntu 14.04 LTS).
 
AW: Lösungsvorschlag für Sony Vaio Fit Multi-Flip

Der_Broker schrieb:
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 431494 (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.

Ich habe fast 2 Jahre Leidenszeit mit dem lauten Lüfter des Sony VAIO Flip 13 (SVF13N1C5E) hinter mir. Von Sony kam nie eine Lösung. Nun habe ich dank Notebook Fan Control eine für mich befriedigende Lösung gefunden, die ich allen Leidensgenossen weiterempfehlen kann:

Ich habe die beiden NBFC-Profile, die Du für den Sony VAIO Flip 14 geschrieben hast, getestet. Sie funktionieren auch für unseren VAIO Flip 13. Insbesondere mit dem zweiten Profil sind tatsächlich meine Erfahrungen sehr positiv - der Lüfter verstummt, die CPU ibleibt dennoch unter 50 Grad bei Benutzung von Browser, Mail, Office, etc. Instabilitäten habe ich bisher keine festgestellt.

Ein großes Glücksgefühl nach langer Leidenszeit. Der Sony VAIO Flip 13 ist erst dadurch wirklich benutzbar. Vielen Dank für Eure tolle Arbeit!
 
Zuletzt bearbeitet:
I want to mention that on my Lenovo E520 on Linux I had problems when resuming from standby. NBFC resulted active, but it had no effect on fan speed.
I workarounded this by putting the following script in /etc/pm/sleep.d/ and setting it executable:
Code:
#!/bin/bash
case $1 in
    hibernate|suspend)
        mono /opt/nbfc/nbfc.exe stop
    ;;
    thaw|resume)
	sleep 2
	mono /opt/nbfc/nbfc.exe start
    ;;
esac

Note that /etc/pm/sleep.d/ might not be the correct location for you, expecially if your system uses systemd.
 
@Grantig

Könntest du vielleicht meinen Post ein paar Seiten zurück anschauen? Ich habe leider nicht herausfinden können, ob die Lüftersteuerung bei diesem Modell über den EC gesteuert wird und der Zugriff auf die Geschwindigkeit generell möglich ist.

Post
 
Zurück
Oben