VOICE Homepage: http://de.os2voice.org
August 2001

[Inhaltsverzeichnis]
[Vorherige Seite] [Nächste Seite]
[Artikelverzeichnis]

editor@os2voice.org


Mach mich heiß!

Von Thomas Klein © August 2001

Also mal ehrlich: Würden Sie ein Programm verwenden, das ausschließlich dafür konzipiert wurde, Ihren Prozessor zu erhitzen? Wahrscheinlich nicht - lassen Sie mich Ihnen trotzdem sagen, wozu man so etwas braucht; es handelt sich um einen Bestandteil des Programms ThermoProtect, daß ich Ihnen heute "wärmstens" ;) ans Herz legen möchte.
In der letzten Ausgabe des VOICE Newsletters hatte uns Christian das Programm StHwMon vorgestellt, mit dem sich die diversen Sensoren moderner Mainboards unter OS/2 überwachen lassen. Sein Bericht rief in mir die Erinnerung an eine kleine Anekdote zu ThermoProtect wach - und führte letztendlich dazu, daß ich es hier heute nochmals vorstellen möchte, denn eigentlich ist es schon ein "alter Bekannter" in der OS/2-Gemeinde.

ThermoProtect ist ein Systemüberwachungsprogramm, welches auf Hardwaremonitor-Chipsätze vom Typ WinBond oder LM78/79 bzw. kompatible ausgelegt wurde. Leider lässt sich daraus nicht direkt auf einen Mainboard-Chipsatz schließen. Grob gesagt sollte es mit machen SiS- und VIA-Chipsätzen funktionieren, ebenso mit den meisten Ali Aladdin Chipsätzen. Es hängt eben davon ab, welcher Monitorchipsatz auf dem jeweiligen Mainboard zum Einsatz kommt. Probieren Sie's aus - schlimmstenfalls passiert gar nichts.

Im Kern ist ThermoProtect ein reines Textmodus-Programm. In seinem Auslieferungszustand ist es so eingestellt, daß alle unterstützten Meßwerte in einem - zugegeben - spartanischen Bildschirm angezeigt und alle 1,6 Sekunden aktualisiert werden. Neben den bis zu drei Lüftern (zu denen jeweils die Umdrehungszahl ausgegeben wird), werden zwei Temperaturwerte (CPU und Board) sowie die verschiedenen Spannungspegel eines Mainboards bzw. Schaltnetzteils ausgewertet (cpu Kernspannung, e/a-Spannung, 3,3V, 12v, 5v, -12v, -5v). Es wird außerdem noch ein Gehäusesensor unterstützt, der das Öffnen des PC-Gehäuses meldet.

Manche Mainboards verfügen nicht über die volle Anzahl an Sensoren, die vom verwendeten Monitorchip unterstützt werden. Auch haben wohl die meisten Anwender kein Gehäuse mit "Eindringlingswarnung", die bei Öffnen des Gehäuses ausgelöst wird. In solchen Fällen meldet ThermoProtect einen Minimalwert oder einen Initialzustand - der obigen Abbildung können Sie z.B. entnehmen, daß mein Asus P5A "nur" zwei Temperatursensoren hat und daß ich lediglich einen Lüfter betreibe, der Informationen zu seiner Umdrehungsgeschwindigkeit ausgibt - nämlich den auf der K6-2/450 CPU. Pfui. Schande über mich ;)
 

Gemeinsamkeiten und Unterschiede

Im wesentlichen ist der Funktionsumfang von ThermoProtect identisch mit dem von StHwMon... ein Unterschied ist, daß StHwMon mindestens Warp4 mit FP6 benötigt, wohingegen ThermoProtect jedoch auch schon auf einem ungefixten Warp 3 funktioniert. Besonders erfreulich ist, daß beide Programme Freeware sind. Während StHwMon konstante Aktualisierungen erfährt, scheint die Entwicklung zu ThermoProtect auf den ersten Blick schon etwas länger zu "ruhen"... die hier besprochene Version (1.34 vom 23. Mai 2000) ist jedenfalls die aktuellste verfügbare.
Ich habe mich im Vorfeld zu diesem Bericht mit David Wei (dem Entwickler von ThermoProtect) in Verbindung gesetzt, da die mir bekannte Website seit geraumer Zeit nicht mehr erreichbar war und ich also nicht wusste, ob es vielleicht etwas Neues gab...
David teilte mir mit, daß es wohl ein Problem mit Network Solutions und der bisherigen Adresse gäbe -  die von ihm genannte Alternativadresse habe ich am Ende des Berichts angegeben. Zum Stand der Entwicklung teilte mir David mit, daß er momentan nicht weiterkommt: Er hat keine Idee, wie er mit Virtual Pascal an die Informationen des I2C- bzw SMBus herankommen kann, der bei den neueren Boards verwendet wird. Wenn Sie also hier Hilfe leisten können, setzen Sie sich bitte mit David Wei in Verbindung. Er ist nach wie vor daran interessiert, alle existierenden Monitorchipsätze in ThermoProtect zu unterstützen.

Unter der Oberfläche

Beide Programme rufen die vom Hardwaremonitor-Chipsatz bereitgestellten Meßwerte ab und verwalten einstellbare Schwellwerte, bei deren Erreichung oder Überschreitung eine entsprechende akustische und/oder visuelle Warnung ausgegeben wird. Während StHwMon über eine grafische Benutzeroberfläche verfügt, ist ThermoProtect bei weitem spartanischer ausgelegt; die Konfiguration wird in einer Textdatei abgelegt, es gibt auch keine Befehlszeilenparameter.
Neben dem grafischen Frontend kommt StHwMon mit einem eigenen X-Center-Widget - das ist eine Art von PlugIn für den WarpCenter-Ersatz "XCenter", der mit Ulrich Möller's XWorkplace ausgeliefert wird. ThermoProtect stammt noch aus einer Zeit, als XWorkplace noch nicht existierte... na gut, vielleicht schon in Form von XFolder, aber das XCenter gab's auf jeden Fall noch nicht. Bevor Sie aber jetzt abwinken: ThermoProtect kann nicht nur (theoretisch) mit dem XCenter umgehen - es bietet noch mehr:
Im Standardmodus (Bildschirmausgabe) läuft ThermoProtect so lange, bis es durch Drücken einer beliebigen Taste oder durch Empfang einer entsprechenden Systemnachricht (z.B. durch Systemabschluß) beendet wird. Alternativ kann die Ausgabe aber auch in eine Textdatei erfolgen. Hierbei startet ThermoProtect, ermittelt die Meßwerte, schreibt diese in die angegebene Datei und beendet sich. Diese Datei kann man dann zum Beispiel zyklisch im Netz veröffentlichen, in eine Logdatei übernehmen oder sonstwie verarbeiten. Der Autor hat es sich nicht nehmen lassen, zwei weitere Gratistools mitzuliefern, mit denen ein zyklisches Aufrufen von ThermoProtect für solche Einsatzbereiche ermöglicht wird.

Persönlich finde ich die dritte unterstützte Ausgabeart jedoch am interessantesten: Named pipe(s).
ThermoProtect stellt jeden einzelnen Meßwert als eigene named pipe zur Verfügung - für die Temperaturwerte sogar separat jeweils in Celsius und Fahrenheit. Das "coole" an named pipes ist, daß sie - wenn Sie so wollen - eine Art von systemweiter Variable darstellen. Mittels des ihnen zugeordneten Namens können die Inhalte von allen erdenklichen Anwendungen verwendet werden - zum Beispiel auch in einem REXX-Script. Wenn Sie also das XCenter verwenden, könnten Sie theoretisch mit Hilfe der REXX Gauge (im Lieferumfang der "Widget Library" enthalten) eine Ausgabefunktionalität erreichen, die der von StHwMon entspricht.
Ich sage hier bewußt "theoretisch", denn ich habe es nicht geschafft, mit REXX auf die named pipes zuzugreifen. Das wird aber wahrscheinlich eher an mir als an ThermoProtect liegen, denn zum einen bin ich ein absoluter REXX-Laie, zum anderen arbeiten die named pipes hervorragend mit Dmitry I. Platonoff's Sysbar/2 zusammen. Dieses Tool aus der Vor-XCenter-Zeit ist sozusagen eine Sammlung von "Anzeigezellen", mit denen die unterschiedlichsten Systemwerte als frei konfigurierbare Anzeigeleiste auf den OS/2-Desktop gebracht werden können. Neben den Standardwerten wie CPU-Auslastung werden hier z.B. auch IP-Traffic, SETI-Status, der "kleinste" mir bekannte CD-Player  und eben beliebige named-pipes unterstützt. Und damit Sie nicht noch zusätzlich ein weiteres Programm downloaden müssen, haben sich die beide Freewareautoren darauf geeinigt, daß ein entsprechend vorkonfiguriertes und betriebsbereites Sysbar/2 mit ThermoProtect geliefert wird. Damit sieht die Ausgabe von ThermoProtect dann so aus...:

Allerdings reicht es nicht, lediglich das mitgelieferte sb2_pipe.exe zu starten: Vorher muß noch ThermoProtect's Ausgabemodus von "Bildschirm" auf "named pipe" umgestellt werden. Da ThermoProtect (wie bereits erwähnt) ausschließlich mittels einer Konfigurationsdatei bedient wird, müssen Sie also den entsprechenden Eintrag darin ändern, indem Sie sich nun entweder an den Editor Ihres Vertrauens wenden oder einfach das hierfür mitgelieferte Konfigurationsprogramm aufrufen, wenn Ihnen die Sache mit dem Editor zu umständlich ist:

Danach können Sie dann noch ein wenig an den Einstellungen von Sysbar/2 herumtüfteln. Beispielsweise ist Sysbar/2 so konzipiert, daß es sich auch prima über das WarpCenter legen lässt. Ich habe dann noch die Anzeige auf die für mich interessanten Werte beschränkt - und schon sieht das ganze so aus:

Prima. Jetzt liegt Ihnen also quasi die komplette "Biometrie" Ihrer sensiblen Hardware zu Füßen. Das ist zwar ganz nett, aber sicherlich möchten Sie die nicht permanent selbst überwachen wollen, oder? ThermoProtect bietet hier die Möglichkeit, bestimmte Schwellwerte zu definieren, bei deren Über- bzw. Unterschreitung eine entsprechende akustische Warnmeldung ausgegeben wird. Zusätzlich wird noch ein separates "ThermoAlarm"-Kennzeichen von "falsch" auf "wahr" gesetzt,  sobald für einen der Werte eine Warnmeldung eintritt. Auch für dieses Kennzeichen existiert eine eigene named pipe. Da Sysbar/2 die Möglichkeit bietet, pro Zelle bei Veränderung des darin angezeigten Wertes ein beliebiges Kommando bzw. Programm zu starten, liegt es also nahe, die named pipe des Alarmkennzeichens zu überwachen.

Der Autor weist hier aber auch darauf hin, daß man diese Grenzwerte nicht zu "eng" definieren sollte, da die Meßwerte in Ihren Spitzen aufgrund von Varianzen in der Serienfertigung der Sensorchips schwanken können. Außerdem variiert je nach Mainboardhersteller z.B. der Abstand zwischen dem Temperatursensor und der CPU, so daß der gleiche Sensorchip bei gleicher CPU-Temperatur dennoch unterschiedliche Werte ausspuckt, weil er auf unterschiedliche Boards gelötet wurde...
An dieser Stelle atmen wir tief durch, legen Mikroskop, Schiebelehre und Lötkolben wieder zur Seite und verlassen die Gruft der elektrotechnischen Grundlagen. Zurück zur Anwendung:

Alle Schwellwerte werden ebenfalls in der Konfigurationsdatei eingetragen. Für die Lüfter ist das eine Angabe in Umdrehungen pro minute (rpm). Für die Spannungspegel gibt es keine Warnfunktion (wahrscheinlich käme die eh' zu spät, nehme ich an...). Bei den Temperaturmessungen allerdings gibt es wieder Schwellwerte: Sowohl nach oben als auch nach unten.
Wie Bitte? Nach unten?
Korrekt: ThermoProtect kann auch Alarm schlagen, wenn die CPU zu kühl wird... womit wir bei der Beantwortung meiner einleitenden Frage angekommen wären (und besagter kleinen Anekdote):
 

Arbeiten im ewigen Eis

Stellen Sie sich vor, Sie tun Ihrer CPU etwas Gutes und beschaffen sich eines dieser Killer-Kühlelemente mit Peltier-Effekt. Ihr Turboprozessor läuft Tag und Nacht zwecks Hilfe bei der Suche nach außerirdischer Intelligenz (als ob man schon eine irdische entdeckt hätte, tss... <g>) und besorgt sich selbsttätig bei SETI neue Arbeitspäckchen. Nun geschieht es, daß Sie mal gerade ausgerechnet nicht zu Hause sind (war ja klar), das aktuelle Päckchen zuende analysiert wurde aber die Internetverbindung nicht klappt. Der SETI-Client sagt sich "Na dann eben nicht" und legt sich erst mal eine Stunde hin... das macht er dann noch ein paar mal über einen längeren Zeitraum hinweg (sagen wir mal ein paar Stunden) mit dem Effekt, daß die CPU aus Langeweile fast bis an den Gefrierpunkt gekühlt wird.

Natürlich werden Sie jetzt sagen: Na und - ist doch klasse! Kälte schadet einer CPU nicht - und Sie haben Recht... Kälte schadet nicht - aber Wasser schon:
Irgendwann funktioniert die Internetverbindung wieder und der SETI-Client liefert sein Päckchen ab. Er bekommt postwendend ein neues und fängt fröhlich zu analysieren an... mit dem Effekt, daß die CPU-Temperatur jetzt wieder steigt... und die an den Kühlrippen des Peltierkühlers zwischenzeitlich gefrorene Luftfeuchtigkeit sich sich in Form von Wasser verabschiedet - und mit ihr gleich das ganze Board.
Tja, wenn Sie mich fragen, ist das definitiv die "coolste" Art, ein Mainboard zu entsorgen... ;)

Aber im Ernst - ich male hier kein theoretisches Horrorszenario - es ist wahr: Genauso hat es sich bei David Wei ereignet. Als Konsequenz aus dem Debakel hat er eine weitere Funktion in ThermoProtect eingebaut: Bei Unterschreitung der Mindesttemperatur wird ein separater Thread gestartet, der so lange Fließkommaoperationen durch den Prozessor prügelt, bis diese wieder erreicht ist.
 

Wie's weitergeht?

Zwar steht für den Entwickler ein automatisches Abschalten des Rechners via APM ganz oben auf der Liste der geplanten Erweiterungen (neben der Unterstützung neuer Chipsätze), jedoch weiß ich nicht, wie es hinsichtlich der Warp3-Kompatibilität und dem OS/2-APM-Treiber darum bestellt ist. Ein akustischer oder visueller Alarm z.B. bei Ausfall eines Lüfters ist natürlich wenig hilfreich, wenn man gerade im Büro / der Uni / der Schule oder sonstwo ist... außer vielleicht, man hat entsprechend dressierte Haustiere. Hier wäre es schon hilfreich, den PC automatisch ausschalten zu können - also wirklich ein wichtiges geplantes Feature.
Aber... dabei fällt mir ein: Mit einem ThermoAlarm-"pipe listener" aus Sysbar/2  und Roman Stangl's Freeware-Tool APM/2 sollte man das doch auch schon jetzt hinbekommen!

Was bleibt als Fazit? Mit ThermoProtect steht Ihnen ein sehr flexibles Hilfsprogramm zur Verfügung, das die Ressourcen Ihres Systems nur minimal beansprucht. Mit den mitgelieferten Tools lässt sich fast jeder denkbare Einsatz realisieren - zumindest stehen einem alle Mittel dafür zur Verfügung. Wenn nun noch jemand dem Entwickler die entsprechenden technischen Tips gibt, könnten auch die neuen Chipsätze unterstützt werden - und dann wäre ThermoProtect auf jeden Fall ein "cooles" Programm... also: Passen Sie auf, daß ihr kühler Kopf nicht zu kalt wird...  ;)

Quellenverzeichnis:
ThermoProtect
Entwickler: David Wei
Preis: Freeware

ThermoProtect Homepage: http://www.dcviewer.com/ThermoProtect/TP-index-e.html
ThermoProtect V1.34 (bei LEO): http://archiv.leo.org/pub/comp/os/os2/leo/systools/tp-134.zip
APM/2 Homepage: http://www.geocities.com/SiliconValley/Pines/7885/APM2/DownloadAPM2.html
Steve Wendt's Widget List (-> Widget Library): http://www.os2bbs.com/os2news/XCenter
StHwMon Homepage: http://home.t-online.de/home/stefan.milcke/hwmon_en.html
Sysbar/2 (bei LEO): http://archiv.leo.org/pub/comp/os/os2/leo/pmtools/sbr2_017.zip
XWorkplace Homepage: http://www.xworkplace.org


Thomas Klein ist EDV-Berater der Systor GmbH & Co. KG und zur Zeit in der Qualitätssicherung eines Großprojektes für die IBM tätig. Er ist OS/2-Anwender seit Version 2.11.

[Artikelverzeichnis]
editor@os2voice.org
[Vorherige Seite] [Inhaltsverzeichnis] [Nächste Seite]
VOICE Homepage: http://de.os2voice.org