TPFanControl richtig einrichten

Aus ThinkPad-Wiki
Version vom 7. Januar 2012, 11:32 Uhr von Crazyd (Diskussion | Beiträge) (gleich gehts weiter...)
TPFanControl.jpg

Viele Anwender stören sich am Lüfterverhalten ihrer ThinkPads. Selbst die Anpassung des aktiven Profils im Lenovo Energiemanager, die Auswahl/Erstellung eines anderen Energieprofils oder ein BIOS-Update führen nicht in allen Fällen zum gewünschten Erfolg. An dieser Stelle kommt TPFanControl zum tragen.

Anmerkungen:

  • Im nachfolgendem Text wird statt "U/Min" (Umdrehungen pro Minute) immer der englische Begriff "rpm" (revolutions per minute) verwendet. Diesen englischen Begriff verwende ich zur Vermeidung von Irritationen, da auch TPFanControl in seiner Anzeige "RPM" ausgibt.
  • Vorweg noch eine Erläuterung: Viele Anwender wundern sich, dass TPFanControl andere Temperaturwerte anzeigt, als z.B. RM-Clock, Everest o.a. Diese Tools lesen die "Core-Temperatur" aus, also die Temperatur im Prozessor. Im Gegensatz hierzu nutzt TPFanControl die Temperatursensoren auf dem System Board, also jene Sensoren, die auch das BIOS zur Lüftersteuerung als Grundlage verwendet.
  • Dieser Artikel wurde in Zusammenarbeit mit troubadix verfasst.

Anwendungsbereiche von TPFanControl

  • "Pulsing" (zwischenzeitliches kurzes Aufheulen) des Lüfters unterbinden
  • Schutz des Rechners (vor Allem der Generation T40-43, R50-52 und T61/R61) vor Flexing aufgrund thermischer Spannungen der ATI- bzw. durchbrennen der nVidia-Grafikchips fehlerhafter Chargen
  • Reduzieren bzw. Abschalten der Lüfter bei niedrigen und mittleren Betriebstemperaturen um eine geräuschlose Arbeitsumgebung zu schaffen.
  • Auslesen und Protokollieren der Sensortemperaturen zur Fehlersuche/Diagnose, z.B. bei permanenten Lüfterbetrieb mit hohen Drehzahlen oder Spontanabschaltungen des Rechners (siehe auch: Lüfter reinigen)

Lüfterstrategie

Zuvor muss man sich Gedanken machen, wie die Lüftersteuerung arbeiten soll.

  • Bei einigen ThinkPad-Serien empfiehlt sich eine aggressive Lüftersteuerung, die frühzeitig den Lüfter startet und mit relativ hohen Drehzahlen arbeitet, um die Gefahr, thermisch bedingten Flexings durch Temperaturschwankungen und -höhe gering zu halten. Dies sind vor Allem bei folgenden ThikPads sinnvoll:
    • T40-T43
    • R50-R52
    • T60 und R60 mit ATI Grafik
    • T61 und R61 mit nVidia-Grafik
  • Eine defensive Lüftersteuerung erlaubt es den Rechner länger passiv zu kühlen (Lüfter ist aus), wobei man hier höheren Temperaturen in Kauf nimmt.

Installation

TPFanControl kann sehr einfach auf Windows-Systemen installiert werden.

Schritte für eine erfolgreiche Installation:

  1. Die neueste Version von der Downloadseite herunterladen (Aktuell: 0.62). Für das ThinkPad Edge E520 gibt es eine eigene Version (0.62e).
  2. Die Installationsdatei ausführen und den Anweisungen folgen. Windows Vista und Windows 7-Nutzer sollten hier darauf achten, dass TPFanControl als Dienst installiert wird. Dadurch verhindert die UAC[1] nicht das Ausführen von TPFanControl, wenn der Nutzer keine Administrationsrechte besitzt.
  3. Neustart des Rechners

Einrichten von TPFanControl

TPFancontrol.ini editieren

Das TPFanControl speichert alle Einstellungen in der ini-Datei "TPFancontrol.ini". Um diese zu editieren sind Administrationsrechte nötig! Starte dazu die Verknüpfung "edit TPFancontrol.ini" im Windows-Startmenü

Ermitteln der Lüfterstufen

Im ersten Schritt muss ermittelt werden, welche Lüfterstufen das ThinkPads nutzen kann. Dies ist erforderlich, da die meisten ThinkPad-Modelle über weniger als 7 Lüfterstufen ("1" = langsam, "7" = schnell) verfügen.

  1. TPFanControl öffnen, dazu ein "Links-Klick" auf das TPFanControl-Icon im System-Tray (unten rechts neben der Uhr) und im TPFanControl-Programmfenster die Markierung im Abschnitt "Mode" auf "Manual" setzen - TPFanControl läuft jetzt im manuellem Modus. Im darunter liegenden Eingabefeld kann nun die gewünschte Lüftergeschwindigkeit eingegeben werden.
  2. Eingeben einer "0" (Null) stoppt den Lüfter
  3. Eingeben der Zahlen 1 bis 7 lässt den Lüfter - nach einer kurzen Verzögerung - mit verschiedenen Geschwindigkeiten laufen. Nach dem Umstellen etwa 5 - 15 Sek. warten, dann kann die Lüfterdrehzahl abgelesen werden.
  4. Unterscheiden sich die Drehzahlen zwischen zwei Lüfterstufen um maximal ~100 rpm, liegt keine separate Lüfterstufe vor.
Beispiel am ThinkPad X61s:
* der Lüfter dreht in den u.a. Lüfterstufen mit folgenden Umdrehungen pro Minute
** Lüfterstufe 0: 0 rpm 
** Lüfterstufe 1: 3360 rpm 
** Lüfterstufe 2: 3402 rpm *
** Lüfterstufe 3: 3934 rpm
** Lüfterstufe 4: 3948 rpm *
** Lüfterstufe 5: 3862 rpm *
** Lüfterstufe 6: 4530 rpm 
** Lüfterstufe 7: 4479 rpm *
Die mit einem "*" gekennzeichneten Werte stellen keine eigenen Lüfterstufen dar, können also ignoriert werden. Im Beispiel wird also mit den Lüfterstufen 0 (=aus), 1, 3 und 6 gearbeitet.

Wichtig!

  • Nach einem BIOS- und Embedded Controller-Update müssen die Lüfterstufen erneut geprüft werden, da sich Umdrehungszahlen und Anzahl der Lüfterstufen geändert haben können.
  • Die Lüfterdrehzahlen sind im Embedded Controller festgelegt und können nur durch ein Embedded Controller-Update geändert werden.

Ermitteln von "Ausreißern" - Festlegen von Offsets

In der Regel bestimmen CPU- und GPU-Temperaturen das Verhalten des Lüfters. TPFanControl nutzt immer die Höchste Temperatur des Systems zur Steuerung der Lüfter.

  • Bei einigen ThinkPad-Modellen kann es vorkommen, dass andere (unkritische) Sensoren höhere Temperaturen aufweisen, z.B. der Sensor "aps" beim X40.
  • Aber auch Temperaturen kritischer Sensoren können für Ausreißer (falsche Werte) sorgen. So wird die Temperatur der ATI X1300 und X1400 beim T60 um etwa 8° zu hoch angezeigt.

Diese Ausreißer/falsche Werte kann man durch Festlegen von sog. "Offsets" entgegen wirken.

In der datei "TPFanControl.ini" werden hierzu folgende Abschnitte bearbeitet:

  • der erste Abschnitt führt Sensornamen und deren TPFanControl-interne Nummerierung auf
// ---------------------------------------------------------
// Liste von neuen Sensorname (jeweils 3 Buchstaben), zum
// Aktivieren die Schrägstriche löschen. Kleine Buschstaben 
// wg. der Lesbarkeit im TempIcon gebrauchen.

//SensorName1=cpu
//SensorName2=aps
//SensorName3=pcm
//SensorName4=gpu
SensorName5=no5
//SensorName6=x7d
//SensorName7=bat
//SensorName8=x7f
//SensorName9=bus
//SensorName10=pci
//SensorName11=pwr
//SensorName12=xc3
  • der zweite Abschnitt enthält die TPFanControl-interne Sensornummer und den Offset - alle Werte sind in den Voreinstellungen auskommentiert
// ---------------------------------------------------------
// Berechnung von Highest Temp mit: 
// Temperatur des Sensor Nr. = reale Temp minus SensorOffsetnr.
// Default: SensorOffset1-12=0 , Grosses O in SensorOffsetnr.
// zum Aktivieren Schrägstriche '//' löschen,
// Negative SensorOffsetnr-Werte erhöhen den Temperaturwert.

//SensorOffset1=20
//SensorOffset2=4
//SensorOffset3=6
//SensorOffset4=2
//SensorOffset5=1
//SensorOffset6=5
//SensorOffset7=5
//SensorOffset8=4
//SensorOffset9=3
//SensorOffset10=2
//SensorOffset11=1
//SensorOffset12=5

Um Beispielsweise beim T60 die Sensortemperaturwerte der GPU um 8° zu reduzieren, ermittelt man im oberen Abschnitt die Sensornummer des Sensors "gpu", im beispiel ist das "SensorName4" Demzufolge muss also der "SensorOffset4" aktiviert werden (die "//"-Zeichen am Anfang der Zeile entfernen) und mit dem Offset "8" (für 8°) versehen werden:

SensorOffset4=8

Hinweis

  • positive Zahlen reduzieren die angezeigte Sensortemperatur
  • negative Zahlen erhöhen die angezeigte Sensortemperatur

Ermitteln des Temperaturverlaufs - Festlegen des Profils

Standard - Lüfterprofil

Im nächsten Schritt ermittelt man das Temperaturverhalten im Rahmen der alltäglichen Nutzung und wann der Lüfter in welche Stufe schaltet.

  • Im TPFanControl-Programmfenster den Punkt "BIOS" (embedded controller) markieren und den Rechner einige Minuten im Idle (also ohne Belastung durch rechenintensive Programm) laufen lassen.
  • Im Feld "Temperatures" die höchste Temperatur beobachten - diese bestimmt das Verhalten des Lüfters.
  • Bleibt die Temperatur des Sensors konstant, diesen Wert (z.B. 45°C) in der TPFanControl.ini (am Ende der Datei) eintragen:
Level=45 0    // Level=140 0
  • beim normalen Arbeiten (z.B. Office) am Rechner die Temperaturen weiter beobachten, sie dürften jetzt um einige Grad steigen; hierbei darauf achten ob und wann das BIOS den Lüfter einschaltet
    • Bei aggressiver Lüftersteuerung kann man diesen oder einen um einige Grad niedrigeren Temperaturwert (z.B. 50°) in die TPFanControl.ini eintragen. Im folgenden Beispiel wird die "Lüfterstufe 1" ab 50°C eingeschaltet
Level=50 1  
    • bei defensiver Lüftersteuerung schaltet man in den "Manual"-Modus, stellt Lüfterstufe "0" ein und beobachtet, wie hoch die Temperatur ohne Lüfter steigt (bei T60 mit ATI-Grafik werden bspw. leicht 60°C erreicht)
    • Pendelt sich die Temperatur ein, kann man einen um 1-2° höheren Wert (z.B. "62") als Schwellwert in die TPFanControl.ini eintragen. Im folgenden Beispiel wird die "Lüfterstufe 1" ab 62°C eingeschaltet.
Level=62 1
  • Steuerung wieder auf "BIOS" (embedded controller) umschalten
  • Nun muß der Rechner belastet werden, man kann dazu bspw. im Browser ein Youtube-Video im bevorzugtem Format abspielen. Dabei die Lüfterumdrehungen beachten.
  • ca. 10° von der angezeigten Temperatur abziehen (z.B. 80°C --> 70°C) und als Schwellwert in der TPFanControl.ini eintragen. Im Beispiel wird Lüfterstufe 6 ab 70°C eingeschaltet:
Level=70 6
  • die restlichen Lüfterstufen sollten linear zwischen Stufe 1 und 7 eingestellt werden. Zusätzlich noch den "Notfall-Booster" ergänzen
    • Bsp. für aggressive Lüftersteuerung:
Level=45 0 //(aus 3. Aufzählungspunkt)
Level=50 1 //(aus Aufzählungspunkt 4 Unterpunkt 1)
Level=60 3 //(linear ermittelt)
Level=70 6 //(aus 6. Aufzählungspunkt)   
Level=80 64 //(Notfall-Booster: Beachte Anmerkung dazu weiter unten im Text)
    • Bsp. für defensive Lüftersteuerung:
Level=45 0 //(aus 3. Aufzählungspunkt)
Level=60 1 //(aus Aufzählungspunkt 4 Unterpunkt 2)
Level=70 3 //(linear ermittelt)
Level=80 7 //(aus 6. Aufzählungspunkt)   
Level=90 64 //(Notfall-Booster: Beachte Anmerkung dazu weiter unten im Text)

Anmerkungen:

  • Der Einsatz von Lüfterstufe 64 sollte gut überlegt sein, da sie bei einigen ThinkPad-Modellen höhere Drehzahlen als Stufe 7 verwendet und daher der Lüfter schneller verschleißt. Beachte hierzu auch die Erläuterungen zu "Lev64Norm" weiter unten
  • liegt der Wert "xx" von "Level=xx 0" über "80" rechnet TPFanControl in Fahrenheit, auch wenn alle anderen Temperaturangaben unter "80" liegen.

Alternatives Lüfterprofil (optional)

Bei Bedarf kann man ein alternatives Lüfterprofil z.B. für den Akkubetrieb oder die Nutzung in einer Bibliothek festlegen. Dazu in der "TPFanControl.ini" im folgenden Bereich die Einstewllungen vornehmen

// optional 2nd profile "Smart Mode 2", switched by icon menue
// change values and number of items for your needs
// to deactivate, insert leading '//' into following lines

MenuLabelSM2=Smart Mode 2/  Label for Icon Menu, must be terminated by '/'
Level2=xx 0		// Level2=xx 0
...

Ausgewählt wird das alternative Profil nach Rechtsklick auf das TPFanControl-Icon im System-Tray und Markieren des Menüpunkts "Smart Mode 2". Für ein X61s könnten die Lüfterprofile wie folgt aussehen:

...
//Smart Mode 1 - Normalbetrieb
Level=45 0 
Level=50 1 
Level=60 3 
Level=70 6 
Level=80 64 

//Smart Mode 2 - Betrieb in Uni-Bibliothek
Level2=45 0 
Level2=60 1 
Level2=70 3 
Level2=75 7 
Level2=80 64 

Temperaturanzeige "springt"

Bei einigen Thinkpads (vor Generation T40/R50 und ab der Generation T410) kann es vorkommen, dass die Temperaturanzeige einiger Sensoren wilde Auf- und Abwärtssprünge unternimmt, obwohl der Rechner bei Lüfterstufe 0 oder 1 im Idle läuft.


Ursache hierfür sind nicht vorhandene Sensoren, für die TPFanControl Temperaturwerte gefunden zu haben "glaubt". Hierbei kann es vorkommen, dass die Temperaturangaben tatsächlich existierender Sensoren durch die "Fantasiewerte" nicht existierender beeinflusst werden. Diesen Sprüngen kann man abhelfen, indem man in der TPFanControl.ini die fehlenden Sensoren deaktiviert und TPFanControl neu startet.

IgnoreSensors=no5,aps,gpu 
(deaktiviert die o.a. Sensoren)


Zusätzlich sollte man bei Thinkpad T20-23, A20-22 und X20-24 und älter mit

NoExtSensor=1

verhindern, dass die Sensoren 9-12 (bus, pci, pwr und xc3) ausgelesen werden (funktioniert nicht bei Thinkpad 570E). Die Ausgabe der Lüfterdrehzahl ist hierbei nicht immer verfügbar bzw. wird falsch angezeigt.


Allgemeine Einstellungen

In diesem Abschnitt werden die Einstellungen beschrieben, die in den weiter oben stehenden Abschnitten keine Erwähnung fanden.


Active

"Active" kann folgende Werte besitzen:

  • 0 : Es wird die TPFanControl.ini eingelesen, Steuerelemente sind deaktiviert, TPFanControl liest nur Temperaturen aus, die Lüftersteuerung obliegt dem BIOS
  • 1 : TPFanControl startet im "BIOS Mode (embedded controller)"
  • 2 : TPFanControl startet im "Smart Mode" (default Einstellung) - Lüftersteuerung gem. TPFanControl.ini
  • 3 : TPFanControl startet im "Manual Mode", es werden die "Manual Mode" - betreffenden Einstellungen aus der TPFanControl.ini aktiviert. - Beachte "ManFanSpeed" und "ManModeExit"

Beispiel:

Active=2

Zitat aus der TPFanControl.ini:

// mit Active=3 & ManFanSpeed=0 & ManModeExit=78 kann man nach dem 
// "Kaltstart eine schöne ruhige Zeit haben, bis die Temps 78 °C 
// erreichen und das Programm auf smart mode schaltet.


ManFanSpeed

Diese Einstellung gibt an, mit welche Lüfterstufe TPFanControl beim Programmstart im "Manual Mode" schalten soll. Diese Lüfterstufe wird eingehalten, bis der Anwender sie manuell ändert oder die Sensortemperatur den Wert von "ManModeExit" erreicht. - Beachte "Active" und "ManModeExit"

Beispiel:

Active=3
...
ManFanSpeed=1


ManModeExit

Ereicht die Temperatur eines Sensors den unter ManModeExit festgelegten Schwellwert, schaltet TPFanConcontrol in den "Smart Mode". Die Lüftersteuerung wird gem. der Einstellungen in der TPFanControl.ini vorgenommen. Hierbei spielt es keine Rolle, ob TPFanControl im "Manual Mode" gestartet oder der "Manual Mode" von Hand im Programmfenster ausgewählt wurde.

Beispiel:

ManModeExit=78


StayOnTop

Ist diese Variable auf "1" gesetzt, bleibt das geöffnete TPFanControl-Fenster ähnlich dem Windows Taskmanager immer im Vordergrund, kann hilfreich bei Fullscreen-Anwendungen sein, die andere Dialoge und Fenster nicht in den Vordergrund holen lassen.

Beispiel:

StayOnTop=0


SlimDialog

Ist diese Variable auf "1" gesetzt (default), erscheint das TPFanControl-Programmfenster ca. 2x10cm groß in der linken oberen Bildschirmecke. Nützlich vor Allem in Verbindung mit "StayOnTop=1" Im Gegensatz zum Programmfenster im Querformat werden hierbei keine Protokollfunktionen angezeigt.

Beispiel:

SlimDialog=1


BluetoothEDR

Bei Thinkpads mit "Bluetooth with enhanced data rate" (ab Generation T60/R60/X60) wird dieser Wert auf "1" gesetzt. Bei älteren Thinkpads muss der Wert "0" betragen. Bluetooth kann nach Rechtsklick auf das TPFanControl Tray-Icon de-/aktiviert werden.

Beispiel:

BluetoothEDR=1


ProcessPriority

Für Gamer und User, die mit Anwendungen die CPU sehr stark auslasten, ist dies die wichtigste Einstellung in TPFanControl überhaupt. Windows vergibt den laufenden Prozessen Prioritäten der Stufen 1 bis 5, wobei Stufe "1" die niedrigste Priorität besitzt. Standardeinstellung ist bei allen Prozessen die Prioritätsstufe 2.

Laufen auf dem Rechner Prozesse, die die CPU dauerhaft zu 100% auslasten, werden die übrigen Prozesse, darunter auch TPFanControl, regelrecht an die Wand gedrückt. Hierdurch kann TPFanControl nicht mehr alle 5 Sekunden "ins Geschehen" eingreifen, sondern vielleicht erst nach mehreren Minuten. Das wiederum kann bedeuten, dass CPU- und/oder GPU - Temperatur sprunghaft auf 100°C und mehr ansteigen können, was auf Dauer das System Board schädigen kann (Flexing durch thermische Spannungen aufgrund starker Temperaturschwankungen im Bereich der BGA.

Umsicherzustellen, dass in derartigen Situationen TPFanControl rechtzeitig reagiert, ist es ratsam, die "ProcessPriority" heraufzusetzen. Ein Wert von "4" oder "5" ist ratsam, wenn hohe CPU-Last erzeugenden programme auf dem Rechner verwendet werden.

Beispiel:

ProcessPriority=4


NoBallons

Ist "NoBallons" auf "0" gesetzt, zeigt TPFanControl Sprechblasen über der Systemtray.

Beispiel:

NoBallons=1


Cycle'

"Cycle" überprüft die Temperaturen alle x Sekunden (Standard ist 5).

Beispiel:

Cycle=5


StartMinimized

Ist "StartMinimized" auf "0", wird bei Programmstart das TPFanControl-Fenster angezeigt.

Beispiel:

StartMinimized=1


IconCycle

Überprüft das Icon von tpfcicon.exe alle x Sekunden (Standard =1).

Beispiel:

IconCycle=1

Qsicon inArbeit.png Was wird überprüft? Ob das Icon noch imSystemtrayist?


ShowTempIcon

Zeige neues Icon mit Max. Temperatur / Sensorbezeichnung

Beispiel:

ShowTempIcon=1

Qsicon inArbeit.png was ist "neues" Icon? Wird bei "0" überhaupt kein Icon angezeigt?


Startverzögerung

Das Problem der nicht erscheinenden Icons wird durch eine Startverzögerung um SecStartDelay (Sekunden) innerhalb einer Zeit von SecWinUptime (Sekunden) verhindert. Kommentarstriche "//" entfernen.

Beispiel:

SecWinUptime=120	//"SecWinUptime" (sec.) after (re)boot
SecStartDelay=60	//start delay of the program (sec.)
//NoWaitMessage=0	//set to 1 to avoid sleep message
//ReIcCycle=600		//rebuild TempIcon every xxx secs.

Qsicon inArbeit.png Hier fehlen nähere Erläuterungen zu der Funktion der o.a. Einstellungen.


IconLevels

Temperaturgrenzwerte, die das Symbol in der Taskbar gelb, orange bzw. rot färben. (Nur im "Smart"- und "Manual"-Modus in Kombination mit "MinimizeToTray=1" verfügbar.)

Beispiel:

IconLevels=50 60 70    


FanBeep

Frequenz und Dauer des Piep-Signals (in ms), das eine erfolgreiche Änderung des Lüfterzustands ankündigt. (Um den Piepton abzuschalten, setzen Sie entweder einen oder beide Werte auf 0.)

Beispiel:

FanBeep=0 0


MaxReadErrors

Sobald die maximale Anzahl aufeinanderfolgender EC-Lesefehler erreicht ist, schaltet das Programm auf den BIOS-Modus um und wird beendet.

Beispiel:

MaxReadErrors= 10


Log2File

Log2File=1 aktiviert, Log2File=0 deaktiviert Schreiben nach TPFanControl.log, Programm benötigt Admin-Rechte. Beachte auch "Log2CSV"

Beispiel:

Log2File=0


Log2csv

Log2csv=1 aktiviert das Schreiben der Logdatei nach TPFanControl_csv.txt Das Programm benötigt hierzu Admin-Rechte. Nach Neustart von TPFanControl wird die bisherige Logdatei in TPFanControl_last_csv.txt umbenannt. Zum Bearbeiten in Excel ändert man die Datei-Erweiterung in *.csv.

Beispiel:

Log2csv=0


ShowBiasedTemps

Ist der Wert "1" gesetzt, zeigt die Temperaturen mit Offsetkorrektur an

Beispiel:

ShowBiasedTemps=1 


ShowAll

Zeige alle/aktive Sensoren an: alle=1, nur aktive =0

Beispiel:

ShowAll=0  


IconColorFan

IconColorFan=1 Digitales Icon wird dunkelgrün während der Lüfter läuft.

Beispiel:

IconColorFan=1


Lev64Norm

Lev64Norm=1 : Fan level 64 arbeitet mit Hysterese, Lüfter läuft, bis nächst tieferer level erreicht wird. Lüfter pulsiert nicht. Falls Lev64Norm=0 gesetzt, arbeitet level 64 als Notfallkühlung oberhalb der Temperatur von level 64. Ein Pulsieren des Lüfters ist möglich.

Beispiel:

Lev64Norm=1


Weblinks

TPFanControl.jpg

Viele Anwender stören sich am Lüfterverhalten ihrer ThinkPads. Selbst die Anpassung des aktiven Profils im Lenovo Energiemanager, die Auswahl/Erstellung eines anderen Energieprofils oder ein BIOS-Update führen nicht in allen Fällen zum gewünschten Erfolg. An dieser Stelle kommt TPFanControl zum tragen.

Anmerkungen:

  • Im nachfolgendem Text wird statt "U/Min" (Umdrehungen pro Minute) immer der englische Begriff "rpm" (revolutions per minute) verwendet. Diesen englischen Begriff verwende ich zur Vermeidung von Irritationen, da auch TPFanControl in seiner Anzeige "RPM" ausgibt.
  • Vorweg noch eine Erläuterung: Viele Anwender wundern sich, dass TPFanControl andere Temperaturwerte anzeigt, als z.B. RM-Clock, Everest o.a. Diese Tools lesen die "Core-Temperatur" aus, also die Temperatur im Prozessor. Im Gegensatz hierzu nutzt TPFanControl die Temperatursensoren auf dem System Board, also jene Sensoren, die auch das BIOS zur Lüftersteuerung als Grundlage verwendet.
  • Dieser Artikel wurde in Zusammenarbeit mit troubadix verfasst.

Anwendungsbereiche von TPFanControl

  • "Pulsing" (zwischenzeitliches kurzes Aufheulen) des Lüfters unterbinden
  • Schutz des Rechners (vor Allem der Generation T40-43, R50-52 und T61/R61) vor Flexing aufgrund thermischer Spannungen der ATI- bzw. durchbrennen der nVidia-Grafikchips fehlerhafter Chargen
  • Reduzieren bzw. Abschalten der Lüfter bei niedrigen und mittleren Betriebstemperaturen um eine geräuschlose Arbeitsumgebung zu schaffen.
  • Auslesen und Protokollieren der Sensortemperaturen zur Fehlersuche/Diagnose, z.B. bei permanenten Lüfterbetrieb mit hohen Drehzahlen oder Spontanabschaltungen des Rechners (siehe auch: Lüfter reinigen)

Lüfterstrategie

Zuvor muss man sich Gedanken machen, wie die Lüftersteuerung arbeiten soll.

  • Bei einigen ThinkPad-Serien empfiehlt sich eine aggressive Lüftersteuerung, die frühzeitig den Lüfter startet und mit relativ hohen Drehzahlen arbeitet, um die Gefahr, thermisch bedingten Flexings durch Temperaturschwankungen und -höhe gering zu halten. Dies sind vor Allem bei folgenden ThikPads sinnvoll:
    • T40-T43
    • R50-R52
    • T60 und R60 mit ATI Grafik
    • T61 und R61 mit nVidia-Grafik
  • Eine defensive Lüftersteuerung erlaubt es den Rechner länger passiv zu kühlen (Lüfter ist aus), wobei man hier höheren Temperaturen in Kauf nimmt.

Installation

TPFanControl kann sehr einfach auf Windows-Systemen installiert werden.

Schritte für eine erfolgreiche Installation:

  1. Die neueste Version von der Downloadseite herunterladen (Aktuell: 0.62). Für das ThinkPad Edge E520 gibt es eine eigene Version (0.62e).
  2. Die Installationsdatei ausführen und den Anweisungen folgen. Windows Vista und Windows 7-Nutzer sollten hier darauf achten, dass TPFanControl als Dienst installiert wird. Dadurch verhindert die UAC[2] nicht das Ausführen von TPFanControl, wenn der Nutzer keine Administrationsrechte besitzt.
  3. Neustart des Rechners

Einrichten von TPFanControl

TPFancontrol.ini editieren

Das TPFanControl speichert alle Einstellungen in der ini-Datei "TPFancontrol.ini". Um diese zu editieren sind Administrationsrechte nötig! Starte dazu die Verknüpfung "edit TPFancontrol.ini" im Windows-Startmenü

Ermitteln der Lüfterstufen

Im ersten Schritt muss ermittelt werden, welche Lüfterstufen das ThinkPads nutzen kann. Dies ist erforderlich, da die meisten ThinkPad-Modelle über weniger als 7 Lüfterstufen ("1" = langsam, "7" = schnell) verfügen.

  1. TPFanControl öffnen, dazu ein "Links-Klick" auf das TPFanControl-Icon im System-Tray (unten rechts neben der Uhr) und im TPFanControl-Programmfenster die Markierung im Abschnitt "Mode" auf "Manual" setzen - TPFanControl läuft jetzt im manuellem Modus. Im darunter liegenden Eingabefeld kann nun die gewünschte Lüftergeschwindigkeit eingegeben werden.
  2. Eingeben einer "0" (Null) stoppt den Lüfter
  3. Eingeben der Zahlen 1 bis 7 lässt den Lüfter - nach einer kurzen Verzögerung - mit verschiedenen Geschwindigkeiten laufen. Nach dem Umstellen etwa 5 - 15 Sek. warten, dann kann die Lüfterdrehzahl abgelesen werden.
  4. Unterscheiden sich die Drehzahlen zwischen zwei Lüfterstufen um maximal ~100 rpm, liegt keine separate Lüfterstufe vor.
Beispiel am ThinkPad X61s:
* der Lüfter dreht in den u.a. Lüfterstufen mit folgenden Umdrehungen pro Minute
** Lüfterstufe 0: 0 rpm 
** Lüfterstufe 1: 3360 rpm 
** Lüfterstufe 2: 3402 rpm *
** Lüfterstufe 3: 3934 rpm
** Lüfterstufe 4: 3948 rpm *
** Lüfterstufe 5: 3862 rpm *
** Lüfterstufe 6: 4530 rpm 
** Lüfterstufe 7: 4479 rpm *
Die mit einem "*" gekennzeichneten Werte stellen keine eigenen Lüfterstufen dar, können also ignoriert werden. Im Beispiel wird also mit den Lüfterstufen 0 (=aus), 1, 3 und 6 gearbeitet.

Wichtig!

  • Nach einem BIOS- und Embedded Controller-Update müssen die Lüfterstufen erneut geprüft werden, da sich Umdrehungszahlen und Anzahl der Lüfterstufen geändert haben können.
  • Die Lüfterdrehzahlen sind im Embedded Controller festgelegt und können nur durch ein Embedded Controller-Update geändert werden.

Ermitteln von "Ausreißern" - Festlegen von Offsets

In der Regel bestimmen CPU- und GPU-Temperaturen das Verhalten des Lüfters. TPFanControl nutzt immer die Höchste Temperatur des Systems zur Steuerung der Lüfter.

  • Bei einigen ThinkPad-Modellen kann es vorkommen, dass andere (unkritische) Sensoren höhere Temperaturen aufweisen, z.B. der Sensor "aps" beim X40.
  • Aber auch Temperaturen kritischer Sensoren können für Ausreißer (falsche Werte) sorgen. So wird die Temperatur der ATI X1300 und X1400 beim T60 um etwa 8° zu hoch angezeigt.

Diese Ausreißer/falsche Werte kann man durch Festlegen von sog. "Offsets" entgegen wirken.

In der datei "TPFanControl.ini" werden hierzu folgende Abschnitte bearbeitet:

  • der erste Abschnitt führt Sensornamen und deren TPFanControl-interne Nummerierung auf
// ---------------------------------------------------------
// Liste von neuen Sensorname (jeweils 3 Buchstaben), zum
// Aktivieren die Schrägstriche löschen. Kleine Buschstaben 
// wg. der Lesbarkeit im TempIcon gebrauchen.

//SensorName1=cpu
//SensorName2=aps
//SensorName3=pcm
//SensorName4=gpu
SensorName5=no5
//SensorName6=x7d
//SensorName7=bat
//SensorName8=x7f
//SensorName9=bus
//SensorName10=pci
//SensorName11=pwr
//SensorName12=xc3
  • der zweite Abschnitt enthält die TPFanControl-interne Sensornummer und den Offset - alle Werte sind in den Voreinstellungen auskommentiert
// ---------------------------------------------------------
// Berechnung von Highest Temp mit: 
// Temperatur des Sensor Nr. = reale Temp minus SensorOffsetnr.
// Default: SensorOffset1-12=0 , Grosses O in SensorOffsetnr.
// zum Aktivieren Schrägstriche '//' löschen,
// Negative SensorOffsetnr-Werte erhöhen den Temperaturwert.

//SensorOffset1=20
//SensorOffset2=4
//SensorOffset3=6
//SensorOffset4=2
//SensorOffset5=1
//SensorOffset6=5
//SensorOffset7=5
//SensorOffset8=4
//SensorOffset9=3
//SensorOffset10=2
//SensorOffset11=1
//SensorOffset12=5

Um Beispielsweise beim T60 die Sensortemperaturwerte der GPU um 8° zu reduzieren, ermittelt man im oberen Abschnitt die Sensornummer des Sensors "gpu", im beispiel ist das "SensorName4" Demzufolge muss also der "SensorOffset4" aktiviert werden (die "//"-Zeichen am Anfang der Zeile entfernen) und mit dem Offset "8" (für 8°) versehen werden:

SensorOffset4=8

Hinweis

  • positive Zahlen reduzieren die angezeigte Sensortemperatur
  • negative Zahlen erhöhen die angezeigte Sensortemperatur

Ermitteln des Temperaturverlaufs - Festlegen des Profils

Standard - Lüfterprofil

Im nächsten Schritt ermittelt man das Temperaturverhalten im Rahmen der alltäglichen Nutzung und wann der Lüfter in welche Stufe schaltet.

  • Im TPFanControl-Programmfenster den Punkt "BIOS" (embedded controller) markieren und den Rechner einige Minuten im Idle (also ohne Belastung durch rechenintensive Programm) laufen lassen.
  • Im Feld "Temperatures" die höchste Temperatur beobachten - diese bestimmt das Verhalten des Lüfters.
  • Bleibt die Temperatur des Sensors konstant, diesen Wert (z.B. 45°C) in der TPFanControl.ini (am Ende der Datei) eintragen:
Level=45 0    // Level=140 0
  • beim normalen Arbeiten (z.B. Office) am Rechner die Temperaturen weiter beobachten, sie dürften jetzt um einige Grad steigen; hierbei darauf achten ob und wann das BIOS den Lüfter einschaltet
    • Bei aggressiver Lüftersteuerung kann man diesen oder einen um einige Grad niedrigeren Temperaturwert (z.B. 50°) in die TPFanControl.ini eintragen. Im folgenden Beispiel wird die "Lüfterstufe 1" ab 50°C eingeschaltet
Level=50 1  
    • bei defensiver Lüftersteuerung schaltet man in den "Manual"-Modus, stellt Lüfterstufe "0" ein und beobachtet, wie hoch die Temperatur ohne Lüfter steigt (bei T60 mit ATI-Grafik werden bspw. leicht 60°C erreicht)
    • Pendelt sich die Temperatur ein, kann man einen um 1-2° höheren Wert (z.B. "62") als Schwellwert in die TPFanControl.ini eintragen. Im folgenden Beispiel wird die "Lüfterstufe 1" ab 62°C eingeschaltet.
Level=62 1
  • Steuerung wieder auf "BIOS" (embedded controller) umschalten
  • Nun muß der Rechner belastet werden, man kann dazu bspw. im Browser ein Youtube-Video im bevorzugtem Format abspielen. Dabei die Lüfterumdrehungen beachten.
  • ca. 10° von der angezeigten Temperatur abziehen (z.B. 80°C --> 70°C) und als Schwellwert in der TPFanControl.ini eintragen. Im Beispiel wird Lüfterstufe 6 ab 70°C eingeschaltet:
Level=70 6
  • die restlichen Lüfterstufen sollten linear zwischen Stufe 1 und 7 eingestellt werden. Zusätzlich noch den "Notfall-Booster" ergänzen
    • Bsp. für aggressive Lüftersteuerung:
Level=45 0 //(aus 3. Aufzählungspunkt)
Level=50 1 //(aus Aufzählungspunkt 4 Unterpunkt 1)
Level=60 3 //(linear ermittelt)
Level=70 6 //(aus 6. Aufzählungspunkt)   
Level=80 64 //(Notfall-Booster: Beachte Anmerkung dazu weiter unten im Text)
    • Bsp. für defensive Lüftersteuerung:
Level=45 0 //(aus 3. Aufzählungspunkt)
Level=60 1 //(aus Aufzählungspunkt 4 Unterpunkt 2)
Level=70 3 //(linear ermittelt)
Level=80 7 //(aus 6. Aufzählungspunkt)   
Level=90 64 //(Notfall-Booster: Beachte Anmerkung dazu weiter unten im Text)

Anmerkungen:

  • Der Einsatz von Lüfterstufe 64 sollte gut überlegt sein, da sie bei einigen ThinkPad-Modellen höhere Drehzahlen als Stufe 7 verwendet und daher der Lüfter schneller verschleißt. Beachte hierzu auch die Erläuterungen zu "Lev64Norm" weiter unten
  • liegt der Wert "xx" von "Level=xx 0" über "80" rechnet TPFanControl in Fahrenheit, auch wenn alle anderen Temperaturangaben unter "80" liegen.

Alternatives Lüfterprofil (optional)

Bei Bedarf kann man ein alternatives Lüfterprofil z.B. für den Akkubetrieb oder die Nutzung in einer Bibliothek festlegen. Dazu in der "TPFanControl.ini" im folgenden Bereich die Einstewllungen vornehmen

// optional 2nd profile "Smart Mode 2", switched by icon menue
// change values and number of items for your needs
// to deactivate, insert leading '//' into following lines

MenuLabelSM2=Smart Mode 2/  Label for Icon Menu, must be terminated by '/'
Level2=xx 0		// Level2=xx 0
...

Ausgewählt wird das alternative Profil nach Rechtsklick auf das TPFanControl-Icon im System-Tray und Markieren des Menüpunkts "Smart Mode 2". Für ein X61s könnten die Lüfterprofile wie folgt aussehen:

...
//Smart Mode 1 - Normalbetrieb
Level=45 0 
Level=50 1 
Level=60 3 
Level=70 6 
Level=80 64 

//Smart Mode 2 - Betrieb in Uni-Bibliothek
Level2=45 0 
Level2=60 1 
Level2=70 3 
Level2=75 7 
Level2=80 64 

Temperaturanzeige "springt"

Bei einigen Thinkpads (vor Generation T40/R50 und ab der Generation T410) kann es vorkommen, dass die Temperaturanzeige einiger Sensoren wilde Auf- und Abwärtssprünge unternimmt, obwohl der Rechner bei Lüfterstufe 0 oder 1 im Idle läuft.


Ursache hierfür sind nicht vorhandene Sensoren, für die TPFanControl Temperaturwerte gefunden zu haben "glaubt". Hierbei kann es vorkommen, dass die Temperaturangaben tatsächlich existierender Sensoren durch die "Fantasiewerte" nicht existierender beeinflusst werden. Diesen Sprüngen kann man abhelfen, indem man in der TPFanControl.ini die fehlenden Sensoren deaktiviert und TPFanControl neu startet.

IgnoreSensors=no5,aps,gpu 
(deaktiviert die o.a. Sensoren)


Zusätzlich sollte man bei Thinkpad T20-23, A20-22 und X20-24 und älter mit

NoExtSensor=1

verhindern, dass die Sensoren 9-12 (bus, pci, pwr und xc3) ausgelesen werden (funktioniert nicht bei Thinkpad 570E). Die Ausgabe der Lüfterdrehzahl ist hierbei nicht immer verfügbar bzw. wird falsch angezeigt.


Allgemeine Einstellungen

In diesem Abschnitt werden die Einstellungen beschrieben, die in den weiter oben stehenden Abschnitten keine Erwähnung fanden.


Active

"Active" kann folgende Werte besitzen:

  • 0 : Es wird die TPFanControl.ini eingelesen, Steuerelemente sind deaktiviert, TPFanControl liest nur Temperaturen aus, die Lüftersteuerung obliegt dem BIOS
  • 1 : TPFanControl startet im "BIOS Mode (embedded controller)"
  • 2 : TPFanControl startet im "Smart Mode" (default Einstellung) - Lüftersteuerung gem. TPFanControl.ini
  • 3 : TPFanControl startet im "Manual Mode", es werden die "Manual Mode" - betreffenden Einstellungen aus der TPFanControl.ini aktiviert. - Beachte "ManFanSpeed" und "ManModeExit"

Beispiel:

Active=2

Zitat aus der TPFanControl.ini:

// mit Active=3 & ManFanSpeed=0 & ManModeExit=78 kann man nach dem 
// "Kaltstart eine schöne ruhige Zeit haben, bis die Temps 78 °C 
// erreichen und das Programm auf smart mode schaltet.


ManFanSpeed

Diese Einstellung gibt an, mit welche Lüfterstufe TPFanControl beim Programmstart im "Manual Mode" schalten soll. Diese Lüfterstufe wird eingehalten, bis der Anwender sie manuell ändert oder die Sensortemperatur den Wert von "ManModeExit" erreicht. - Beachte "Active" und "ManModeExit"

Beispiel:

Active=3
...
ManFanSpeed=1


ManModeExit

Ereicht die Temperatur eines Sensors den unter ManModeExit festgelegten Schwellwert, schaltet TPFanConcontrol in den "Smart Mode". Die Lüftersteuerung wird gem. der Einstellungen in der TPFanControl.ini vorgenommen. Hierbei spielt es keine Rolle, ob TPFanControl im "Manual Mode" gestartet oder der "Manual Mode" von Hand im Programmfenster ausgewählt wurde.

Beispiel:

ManModeExit=78


StayOnTop

Ist diese Variable auf "1" gesetzt, bleibt das geöffnete TPFanControl-Fenster ähnlich dem Windows Taskmanager immer im Vordergrund, kann hilfreich bei Fullscreen-Anwendungen sein, die andere Dialoge und Fenster nicht in den Vordergrund holen lassen.

Beispiel:

StayOnTop=0


SlimDialog

Ist diese Variable auf "1" gesetzt (default), erscheint das TPFanControl-Programmfenster ca. 2x10cm groß in der linken oberen Bildschirmecke. Nützlich vor Allem in Verbindung mit "StayOnTop=1" Im Gegensatz zum Programmfenster im Querformat werden hierbei keine Protokollfunktionen angezeigt.

Beispiel:

SlimDialog=1


BluetoothEDR

Bei Thinkpads mit "Bluetooth with enhanced data rate" (ab Generation T60/R60/X60) wird dieser Wert auf "1" gesetzt. Bei älteren Thinkpads muss der Wert "0" betragen. Bluetooth kann nach Rechtsklick auf das TPFanControl Tray-Icon de-/aktiviert werden.

Beispiel:

BluetoothEDR=1


ProcessPriority

Für Gamer und User, die mit Anwendungen die CPU sehr stark auslasten, ist dies die wichtigste Einstellung in TPFanControl überhaupt. Windows vergibt den laufenden Prozessen Prioritäten der Stufen 1 bis 5, wobei Stufe "1" die niedrigste Priorität besitzt. Standardeinstellung ist bei allen Prozessen die Prioritätsstufe 2.

Laufen auf dem Rechner Prozesse, die die CPU dauerhaft zu 100% auslasten, werden die übrigen Prozesse, darunter auch TPFanControl, regelrecht an die Wand gedrückt. Hierdurch kann TPFanControl nicht mehr alle 5 Sekunden "ins Geschehen" eingreifen, sondern vielleicht erst nach mehreren Minuten. Das wiederum kann bedeuten, dass CPU- und/oder GPU - Temperatur sprunghaft auf 100°C und mehr ansteigen können, was auf Dauer das System Board schädigen kann (Flexing durch thermische Spannungen aufgrund starker Temperaturschwankungen im Bereich der BGA.

Umsicherzustellen, dass in derartigen Situationen TPFanControl rechtzeitig reagiert, ist es ratsam, die "ProcessPriority" heraufzusetzen. Ein Wert von "4" oder "5" ist ratsam, wenn hohe CPU-Last erzeugenden programme auf dem Rechner verwendet werden.

Beispiel:

ProcessPriority=4


NoBallons

Ist "NoBallons" auf "0" gesetzt, zeigt TPFanControl Sprechblasen über der Systemtray.

Beispiel:

NoBallons=1


Cycle'

"Cycle" überprüft die Temperaturen alle x Sekunden (Standard ist 5).

Beispiel:

Cycle=5


StartMinimized

Ist "StartMinimized" auf "0", wird bei Programmstart das TPFanControl-Fenster angezeigt.

Beispiel:

StartMinimized=1


IconCycle

Überprüft das Icon von tpfcicon.exe alle x Sekunden (Standard =1).

Beispiel:

IconCycle=1

Qsicon inArbeit.png Was wird überprüft? Ob das Icon noch imSystemtrayist?


ShowTempIcon

Zeige neues Icon mit Max. Temperatur / Sensorbezeichnung

Beispiel:

ShowTempIcon=1

Qsicon inArbeit.png was ist "neues" Icon? Wird bei "0" überhaupt kein Icon angezeigt?


Startverzögerung

Das Problem der nicht erscheinenden Icons wird durch eine Startverzögerung um SecStartDelay (Sekunden) innerhalb einer Zeit von SecWinUptime (Sekunden) verhindert. Kommentarstriche "//" entfernen.

Beispiel:

SecWinUptime=120	//"SecWinUptime" (sec.) after (re)boot
SecStartDelay=60	//start delay of the program (sec.)
//NoWaitMessage=0	//set to 1 to avoid sleep message
//ReIcCycle=600		//rebuild TempIcon every xxx secs.

Qsicon inArbeit.png Hier fehlen nähere Erläuterungen zu der Funktion der o.a. Einstellungen.


IconLevels

Temperaturgrenzwerte, die das Symbol in der Taskbar gelb, orange bzw. rot färben. (Nur im "Smart"- und "Manual"-Modus in Kombination mit "MinimizeToTray=1" verfügbar.)

Beispiel:

IconLevels=50 60 70    


FanBeep

Frequenz und Dauer des Piep-Signals (in ms), das eine erfolgreiche Änderung des Lüfterzustands ankündigt. (Um den Piepton abzuschalten, setzen Sie entweder einen oder beide Werte auf 0.)

Beispiel:

FanBeep=0 0


MaxReadErrors

Sobald die maximale Anzahl aufeinanderfolgender EC-Lesefehler erreicht ist, schaltet das Programm auf den BIOS-Modus um und wird beendet.

Beispiel:

MaxReadErrors= 10


Log2File

Log2File=1 aktiviert, Log2File=0 deaktiviert Schreiben nach TPFanControl.log, Programm benötigt Admin-Rechte. Beachte auch "Log2CSV"

Beispiel:

Log2File=0


Log2csv

Log2csv=1 aktiviert das Schreiben der Logdatei nach TPFanControl_csv.txt Das Programm benötigt hierzu Admin-Rechte. Nach Neustart von TPFanControl wird die bisherige Logdatei in TPFanControl_last_csv.txt umbenannt. Zum Bearbeiten in Excel ändert man die Datei-Erweiterung in *.csv.

Beispiel:

Log2csv=0


ShowBiasedTemps

Ist der Wert "1" gesetzt, zeigt die Temperaturen mit Offsetkorrektur an

Beispiel:

ShowBiasedTemps=1 


ShowAll

Zeige alle/aktive Sensoren an: alle=1, nur aktive =0

Beispiel:

ShowAll=0  


IconColorFan

IconColorFan=1 Digitales Icon wird dunkelgrün während der Lüfter läuft.

Beispiel:

IconColorFan=1


Lev64Norm

Lev64Norm=1 : Fan level 64 arbeitet mit Hysterese, Lüfter läuft, bis nächst tieferer level erreicht wird. Lüfter pulsiert nicht. Falls Lev64Norm=0 gesetzt, arbeitet level 64 als Notfallkühlung oberhalb der Temperatur von level 64. Ein Pulsieren des Lüfters ist möglich.

Beispiel:

Lev64Norm=1


Weblinks

Howto Software