VOICE Home Page: http://www.os2voice.org
Klein © August 2001
Now, c'mon: Would you consider using a special program only designed to heat
up your processor? I guess not, well... let me show you anyway what to do with it,
as it comes as part of ThermoProtect - a program I would like to give a "warm"
In the last issue of the newsletter, Christian introduced us to StHWMon; a program
used to monitor the sensing elements of today's mainboards. His review reminded
me of a little anecdote in conjunction with that similar program and finally drove
me to present to you ThermoProtect, as it is not quite what we call a newbie in
the warped world.
ThermoProtect is a "system health" monitoring program designed for
various chipsets such as WinBond, LM78/79 or compatible types respectively. Unfortunately,
this won't let you conclude specific mainboard chipsets. In general, it should work
with some SiS- and VIA-Chipsets as well as most of Ali Aladdin chipsets. It finally
depends on the monitoring chipset being used on your mainboard . Just give it a
try - in the worst case nothing will happen.
Basically, ThermoProtect runs as a plain text mode application. It's default
setup will show the values of all supported sensors on screen (in a very spartan
manner), being updated every 1.6 seconds. Besides up to three fans (showing their
rotation speed), this includes two temperature values (CPU and mainboard) as well
as the different voltages found in PCs nowadays (or to be correct their power
supplies; these are CPU core voltage, CPU i/o-voltage, 3.3V, 12v, 5v, -12v, -5v).
In addition, there's support for a case intrusion detection sensor (activated if
the computer's housing has been opened).
Some mainboards don't make use of the full number of sensors being supported
by the monitor chipset. And most people's PC cases don't come with a case intrusion
detector either, I guess. In these cases, ThermoProtect will show an appropriate
or initial value - as you can see by the screenshot above: My Asus P5A "only"
provides two temperature probes out of three possibles. And there's only one fan
capable of reporting its rotation speed- the one sitting on top of the K6-2/450
CPU. Shame on me ;)
While getting started with the work on this review, I managed to get in contact
with David Wei (author of ThermoProtect) because his website seemed to be unreachable
for quite some time and I wanted to know whether there might be an update...
David told me, that there was some trouble with Network Solutions and the domain
name - anyway; he gave me an alternate URL which I made part of the links collection
below this article. Concerning the state of development, David mentioned that he
got stuck: He can't figure out how to get Virtual Pascal to access the information
on the I2C-Bus or SMBus used in newer mainboards. So it's up to you now: If you
can provide any helpful information on that issue, get in contact with David
Wei please. He's still willing to extend ThermoProtect's list of supported chipsets.
In addition to its graphical front-end, StHWMon comes with its own X-Center widget
(a sort of plugin for the WarpCenter replacement provided by Ulrich Möller's
WPS enhancer 'XWorkplace'). ThermoProtect was mainly done when there was no XWorkplace...
well, maybe there was XFolder, but there was surely no XCenter. But don't turn your
back on ThermoProtect too soon; it can (theoretically) interact with XCenter as
well. There's a lot more under the hood.
In its standard mode (screen output), ThermoProtect will run either until there's
any key pressed or it receives an appropriate message that requests termination
(e.g. by the shutdown process). Alternatively it's output can be redirected into
a standard text file. This mode will let ThermoProtect start, get its values, write
them into the file specified and terminate immediately. You're free to do whatever
you like with that file - publish it somewhere on your LAN or in the web, append
it to a logfile or process it in any way you want. The author has even provided
two additional free programs to perform cyclic execution of ThermoProtect.
Personally, among the output methods I prefer the third way: Named pipe(s). ThermoProtect
provides a named pipe for each value supported - in case of temperature probes there
are even two values for each of them: Celsius and Fahrenheit. Now, the "cool"
thing about named pipes is, that they are a system-wide variable. Their values can
be accessed simply by the specific pipe's name and are available to almost every
application - like REXX scripts for example. So if you run the XCenter, you can
manage to create a look-alike equivalent of StHWMon by using an appropriate REXX
script and the REXX Gauge widget (included in the Widget Library)... theoretically
Theoretically, because I did not manage to access the named pipes via REXX scripts.
But this is because of me rather than ThermoProtect, as I am an absolute beginner
in matters of REXX. In addition, the named pipes work almost as smooth as silk when
being used with Dmitry I. Platonoff's tool Sysbar/2 by means of the "custom
pipe listener" feature. Sysbar/2 is breed of pre-XCenter-era too and acts like
a collection of display "cells" which are used to combine freely-configurable
tool bars on your Warp desktop. Features include standard stuff like CPU load as
well as e.g. IP-Traffic, completion status of SETI work units, the "tiniest"
CD-Player to my knowledge and those custom pipe listeners. To avoid the need for
the end-user to download an additional program, both freeware authors agreed to
provide a pre-configured Sysbar/2 which can be used along with ThermoProtect right
out of the box. This makes ThermoProtect's "screen output" look like this:
But running just sb2_pipe.exe won't do the job: Prior to this, one must change
ThermoProtect's output method from "screen" to "named pipe".
Because of the fact that option setup is done exclusively by means of the configuration
file (as I already told you) you'll have to change the appropriate entry. This can
be done by either firing up your preferred editor or by using the the setup program
which comes along with the application if you don't trust your editing abilities:
Once done, you're free to tweak around with Sysbar's settings. Did I mention
for example, that it was designed especially to run "on top" of the WarpCenter?
Once I limited the display to only the values of interest for me, it makes look
the whole thing like this:
Fine. Now that your fragile hardware's entire "biometric" data is at
your fingertips - would you want to keep an eye on it yourself? Day in, day out?
ThermoProtect offers a way to define specific threshold values. If any of these
limits is exceeded an audible alarm will pop up. In addition, there's a special
"ThermoAlarm" tag which can be monitored by its own named pipe too. It
will be toggled from "false" to "true". As Sysbar/2 can
launch a user-specified command whenever the content of a specific display cell
changes, you're able to do almost anything you want if ever this alarm happens to
In the readme file, the author stresses not to set the thresholds too "tight",
because of slight differences among the sensor chips being manufactured, which makes
their peak values differ. Even more, the mainboard layouts differ between manufacturers
- that's to say, that e.g. the distance between the CPU temperature probe and the
CPU itself can differ from one manufacturer to another, even between two identical
mainboards, which might result in the sensor showing different values while both
mainboards may run at the same temperature.
At this point, we take a long breath, put aside our microscope and soldering iron and prepare to leave the crypt of electrical principles to get back to our application:
All thresholds are stored in the configuration file as well. In case of a fan,
this will be some kind of "rotation per minute" value. There's no alarm
threshold for voltages. I guess such alarm would be too late anyway... For temperatures,
there are thresholds again - both upper and lower in case of CPU.
What's that? Pardon? - "lower"?
That's correct; ThermoProtect is able to alert even when the CPU gets too cold... which makes us get back to my first question (and that little anecdote).
Well, "Great" you might say, "coldness does not harm a CPU!"
- and you're right: It doesn't... but water does:
The humidity of the surrounding air will start to freeze on top of the cooling cap. Then, sooner or later, your dial-up will be back. The SETI client gets in contact with its server, returns its result file and gets itself a new work unit. Happy to finally have something to do again, your CPU will begin to analyze and analyze... and heat up... making the ice crystals on top of the cooling cap start to melt... and making the board do the big oops first and the big sleep next. Whew - to me this is definitely the "coolest"way to get rid of a mainboard...;)
To be serious: This is not a hypothetical scenario. It might not happen to everyone
but it happened just that way to David Wei. As a conclusion of that mishap, he went
off to create an additional feature of ThermoProtect: If the CPU's temperature falls
below a user-defined threshold, ThermoProtect will launch a separate thread to do
loads of floating-point operations until the temperature is back in its "usual"
So what's my conclusion? ThermoProtect provides great monitoring tools with minor
resource footprint. By using the tools included, you're able to create processes
for almost every kind of usage without having to be a great programmer. If only
someone out there could give the missing technical hint to the author, we soon might
have support for additional chipsets - making ThermoProtect become a real "cool"
choice... so folks: Keep cool - but don't get frozen... ;)