[Vorstellung] NoteBook FanControl (NBFC)

@Grantig

hab %userprofile%\AppData\Roaming\StagWare\ samt Inhalt gelöscht. Gui gestartet jetzt läuft es wieder vielen dank :)
 
@muesli
Laut deinen Beschreibungen ist genau das der Fall.

@jonga
Danke fürs Feedback! Eigentlich sollte die GUI auch dann starten wenn die settings Datei kaputt ist - ichwerd mir das mal ansehen und ggf. fixen.
 
Hallo zusammen,
ich habe das Tool entdeckt und bin von der Idee begeistert.
bei meinem HP Probook 440 G3 kommt hängt sich das Programm unter Win 10 inkl Aniversary Update Vers 1607 Build 14393.82 auf, sobald ich das Profil auswählen will, welches ich mir für das 440 G3 auf Github runtergeladen habe.
ich meine, dass es vor dem Win 10 update zumindest das Profil öffnen konnte, dann aber gleich das Update gemacht...
haben andere hier aus dem Forum auch bereits auf das "neue" Win 10 ein update gemacht?
freue mich über Anregungen
Grüße
alvano
 
Bei mir hat sich seit dem Anniversary Update in der Hinsicht nichts verschlechtert.
 
ich noch mal . es lässt sich die Config Liste laden, nachdem es neu installiert ist, aber sobald ich die Config vom 440 G3 in den Ordner kopiere und dann noch mal die Liste öffnen will, sucht das Programm nach Fehlern bzw stürzt ab... eine Idee?
Ergänzung ()

alvano schrieb:
ich noch mal . es lässt sich die Config Liste laden, nachdem es neu installiert ist, aber sobald ich die Config vom 440 G3 in den Ordner kopiere und dann noch mal die Liste öffnen will, sucht das Programm nach Fehlern bzw stürzt ab... eine Idee?

habe es lösen können. die xml Config vom 440 g3 war falsch formatiert als ich sie gespeichert hatte. also eine neue config erstellt - leer gespeichert und den code dann in die leere config kopiert.
vielen Dank für das Tool!
 
@Grantig und alle anderen

Ich bin verzweifelt auf der Suche nach dem ec register um bei meinem HP DV6 6190 die Lüfter Kontrolle von automatisch auf manuell zu stellen. Die eigentlichen Werte für die Lüfter Steuerung scheine ich gefunden zu haben, jedoch springen die Werte immer zurück. Fall ich den Lüfter ganz austelle (über ein entsp. ec register) dann werden die Lüfter Geschwindigkeitswerte (107,255,247) auf 00 festgesetzt. Habe hier einige Werte schon gefunden, womit ich den Lüfter zumindest semioptimal indirekt steuern kann. Vielleicht hat jemand einen Tipp?

EDIT 1: Es handelt sich bei dem super io um einen iTE IT8518E, falls das hilft

EDIT 2: meine DSDT: s000.tinyupload.com/?file_id=44555128115723920187
 

Anhänge

  • dv6-6190us-EC-Values.JPG
    dv6-6190us-EC-Values.JPG
    124,4 KB · Aufrufe: 477
Zuletzt bearbeitet:
Guten Tag,

ich habe das Tool ausprobiert, und bin von der Idee sowie der Umsetzung begeistert.

Jedoch funktioniert, bei meinem Acer Aspire VN7- 791G, der Linke Lüfter nicht. (Ausgewähltes Profil: Aspire VN7 591 V15 Nitro).

Gibt es bereits irgendwo ein Profil für mein Modell?
Oder sollte das Profil eigentlich funktionieren (da fast gleiches Modell), und mein Linker Lüfter hat einfach den Geist aufgegeben?
 
Cybershark schrieb:
Jedoch funktioniert, bei meinem Acer Aspire VN7- 791G, der Linke Lüfter nicht. (Ausgewähltes Profil: Aspire VN7 591 V15 Nitro).
Bei meinem VN7-791G konnte ich den linken Lüfter nicht mit NBFC regeln, nur den rechten.

Da ich an einem leisen Notebook interessiert bin, habe ich den linken Lüfter mechanisch stillgelegt, und nutze nur den rechten.
Damit kommt das V17 sehr gut zurecht, da hilft wohl die Heat-Pipe.
Ich spiele aber auch nichts Aufwendiges auf dem Notebook.
 
Hey guys, registered here just to share my profile for the Acer Aspire 5745G, how would I attach a XML file here, though? Maybe I am stupid and can't see it :p
 
The forum software doesn't allow .xml attachments, so you either have to zip the config before attaching it, or just upload it to some one-click-hoster and post the link here :)
 
Dear Grantig,
Done :)

I hope someone finds this useful, it's a more realistic profile if someone still uses their old laptop intensively, like I do.
 

Anhänge

  • Acer Aspire 5745G profile.zip
    750 Bytes · Aufrufe: 395
Hier ist meine Config für das HP Pavillon dv6 6190. Man kann für den mobilen und stationären Betrieb jeweils die drei Stufen auswählen (0% = leise, 50% = leistungsangepasst, 100% = kühler modus). Außerdem kann man den Lüfter über den letzten Regler komplett ausstellen und es ist eingestellt, dass ab einer kritischen Temperatur, das touchpad Licht leuchtet.
 

Anhänge

  • HP Pavilion dv6 6190.zip
    1 KB · Aufrufe: 396
Danke für die config sieht gut aus :)

Ein paar Fragen und Verbesserungsvorschläge hätte ich noch:
  1. Wie schaltet man zwischen stationary und mobile um? Da es ja offensichtlich über Register 89 möglich ist, könntest du dafür eigentlich auch noch einen Schalter einbauen, oder spricht irgendwas dagegen?
  2. Wieso erzwingst du bestimmte Einstellungen via RegisterWriteRequests? Wenn du alle RegisterWriteRequests löschen würdest, dann könnte NBFC immer die zuletzt durch den Nutzer festgelegten Werte einstellen. (die letzte Einstellungen für jeden "Lüfter" wird immer gespeichert)
  3. Ich hätte ein paar Vorschläge für die Benennung der Schalter:
    - profile (falls du den Schalter einbaust): Profile switch (mobile/stationary)
    - stationary: Stationary profile (silent/balanced/performance)
    - mobile: Mobile profile (silent/balanced/performance)
    - fan: Fan switch (on/off)
    - temperature alarm: Temperature warning via touch-pad LED (on/off)

Edit:
Btw hast du eigentlich schonmal diese config auf deinem Notebook ausprobiert:
HP Pavilion dv6.xml
 
Zuletzt bearbeitet:
1. Zwischen den mobilen und stationären Betrieb schaltet der ec automatisch um basierend auf Daten des eingebauten Beschleunigungssensors, sprich wenn der Laptop physisch bewegt wird. Dann laufen auch zwei timer an (auch alles in bestimmten ec registern) wobei nach Ablauf wieder in den stationären Betrieb umgestellt wird. Man kann von mobil auf stationär umschalten, umgekehrt springt register 89 aber wieder zurück auf stationär. Man müsste sonst multiple register inklusive die timer verändern. Die mobile Richtlinie ist ein lächerliches Spiel von HP, da der timer sowieso nur sehr kurze Zeit läuft.
Im Prinzip habe ich die Funktionalität von HP Cool Sense nachgebaut, siehe Bildanhang.

2. Gut, hab ich alles rausgenommen.

3. Habe ich so übernommen, danke


Die schon vorhandene "HP Pavilion dv6.xml" hat überhaupt keinen Effekt. Daher möge meine Config hoffentlich auch einige weitere dv6 abdecken.


Noch einige Anmerkungen Vorschläge:

a) Ist es möglich für das Beispiel aus 1. mehrere Register für eine einzige slider Stufe beschreiben zu
lassen?

b) Vorschlag: try-catch Block für falsch formatierte bzw. fehlerhafte Configs einzubauen die geladen werden.

c) GPU Temperatur anstatt CPU Temperatur nutzen oder zumindest manuell ein ec register als Temperatur
zuzuweisen. (Manchmal ist die CPU Temp. recht niedrig, die GPU glüht aber und drosselt sich dann, NBFC ist
hier blind und regelt dann auch leider nicht auf maximum).
Am besten eine kombinierte Temperatur Überwachung mit AND und OR Verknüpfung.

d) mit alt+Pfeiltasten Reihenfolge der slider ändern.

Und einmal ein gigantisches danke schön an dich für das hervorragende Tool und die wahrscheinlich vielen hundert Stunden, die du in dieses Tool und den support investiert hast.
 

Anhänge

  • hp-coolsense-technology_thumb.jpg
    hp-coolsense-technology_thumb.jpg
    52,4 KB · Aufrufe: 500
  • HP Pavilion dv6 6190.zip
    915 Bytes · Aufrufe: 395
Zuletzt bearbeitet:
Danke für die Überarbeitung.
Hab die config jetzt im NBFC repo veröffentlicht.

Zu deinen Vorschlägen:
a) Ist momentan nicht direkt möglich, außer die Register liegen direkt nebeneinander (Stichwort: ReadWriteWords). Man könnte sowas sowas auch über das CLI scripten falls nötig.

b) Da ist schon ein try-catch Block, allerdings schmiert die Lüftersteuerung trotzdem ab wenn eine invalide config geladen wird, was so gewollt ist, da sie ohne config einfach nicht funktioniert.
Ich werde das aber überarbeiten, sodass der Nutzer ne brauchbare Fehlermeldung bekommt.

c) Unter Linux ist das schon möglich, unter Windows gehts nicht weil Windows Services keinen Zugriff auf die GPU haben (Stichwort: Session 0 isolation). Ich habe momentan keine stabile Lösung parat wie man das umgehen könnte. Meine Idee wäre jeweils in der aktuellen User Session einen Prozess zu starten der die Temperatur ausliest und in eine Datei (oder shared memory) schreibt, die der Service dann auslesen kann. Problem bei der Sache: wenn keine User Session vorhanden ist oder der Nutzer den Prozess beendet, gibts keine Infos von der GPU, also ist auf jeden Fall ein fallback (CPU Temperatur?) notwendig.
Insgesamt imho keine besonders stabile Lösung, werde ich aber evtl. trotzdem so machen müssen, falls mir nichts besseres einfällt.

Temperaturen aus den EC Registern auszulesen ist imho keine gute Idee, da manche Configs auch die Temperaturregister manipulieren. So kann man sich viel zu leicht ins Bein schießen.

d) Die Reihenfolge der Slider hängt von der Reihenfolge der <FanConfiguration>-Elemente in der Config ab und kann so angepasst werden.
Das ist imho eine set-and-forget Einstellung die man einmal festlegt (wenn überhaupt) und dann nie wieder benutzt, deswegen bin ich der Meinung dass es dafür nicht extra ne GUI-Funktion geben muss.
 
Hallo,

bei mir zeigt sich folgendes:

- Der Lüfter bleibt auf 100% critical auch wenn die critical Temp schon längst wieder unterschritten wurde.
Lade ich die Config neu (Select Config - Apply) geht der Lüfter runter.

- Wenn ich den Regler zB. auf Target 0% ziehe tut sich nix.
Ziehe ich ihn aber zuerst auf einen etwas höheren Wert, warte dann etwas und ziehe dann auf 0% geht der Lüfter aus.

- Stelle ich zB. auf 40% Target, starte neu, steht der Schieber auf 0,0% Auto?!

Gerät: HP ProBook 650 G2
Config: HP ProBook 650 G1

Liegt das an der nicht ganz passenden Config=
Wie ist eigentlich das Auto Target zu verstehen? So gering wie möglich?

Danke und Grüße
 
  1. Das soll so sein, siehe https://github.com/hirschmann/nbfc/wiki/Basic-configuration#criticaltemperature
  2. Könnte an der nicht ganz passenden config liegen
  3. Ist ein Bug der schon behoben ist, allerdings gibts noch kein Release in dem der Bugfix enthalten ist. Du kannst dir aber bei bedarf NBFC selbst bauen: https://github.com/hirschmann/nbfc/wiki/How-to-build-NBFC
  4. Das Auto target richtet sich nach den in der config hinterlegten Thresholds, oder falls diese nicht vorhanden sind nach den default Thresholds, siehe https://github.com/hirschmann/nbfc/wiki/Temperature-threshold
 
Dank dir für die schnelle Antwort!

Grantig schrieb:
Upps "CriticalTemperature - 15"... da war der Testwert arg zu tief für. Funktioniert. Danke!

Grantig schrieb:
  1. Könnte an der nicht ganz passenden config liegen
Nach einigem herumprobieren habe ich folgendes festgestellt:

Ist der Lüfter aus so steht im Register 47 der Wert 0XFF (255).
Ein "ec-probe.exe write 47 0XFF" führt jedoch dazu dass das Register den default Wert (nehme ich jetzt mal an) bekommt.
Schreibt man dagegen 0XFE (254) so erhält das Register den gewünschten Wert und der Lüfter geht aus.

Folglich... Fan speed overrides:

#1:
Fan speed value: 254
Fan speed percentage: 0,0%
Applied to: Write

#2:
Fan speed value: 255
Fan speed percentage: 0,0%
Applied to: Read

Und Ruhe ist! :)

Wie kommt man eigentlich zu den Werten?
Nur durch herumprobieren (Last erzeugen, Temp loggen und Werte auslesen) oder gibts da andere Tricks?
Oder gar ein Tool das Last und Temperatur zusammen bringt, sprich "erzeuge CPU Last bis xx Grad"... das würde das rekonstruieren der werkseitigen Tabelle schon bedeutend einfacher machen.

Grantig schrieb:
  1. Ist ein Bug der schon behoben ist, allerdings gibts noch kein Release in dem der Bugfix enthalten ist. Du kannst dir aber bei bedarf NBFC selbst bauen: https://github.com/hirschmann/nbfc/wiki/How-to-build-NBFC
Funktioniert. Danke!

Doofe Frage aber:
Gibt es eigentlich Erfahrungen inwieweit eigene Lüftergeschwindigkeiten oder insbesondere "seltene" wie eben "ganz langsam" einen Einfluss auf die Lebensdauer des Lüfters haben?
Müsste eigentlich egal sein - oder?

Danke und Grüße
 
Zuletzt bearbeitet: (aufgeräumt :))
Wie man zu den Werten kommt:
Dazu arbeite ich (immer noch) an einem Guide fürs nbfc Wiki (2 von 3 Kapitel sind fertig).
Ausprobieren ist auch eine Möglichkeit.

Dem Lüfter ist es Wurst wie schnell er läuft, ist ja im Endeffekt nur ein Elektromotor.
Außerhalb der specs kannst du ihn sowieso nicht betreiben wenn die EC Firmware kein totaler Mist ist.
 
Zurück
Oben