Solaris 'health' driver

This is the home page for the solaris "health" driver, a motherboard
temperature and fan speed monitor, for motherboards with the WinBond "w83781d"
family of enviromental monitor chips.

It is inspired by the
l*nux "health" driver, by
David Ludlow. However, it shares no code with that driver (apart from one
main similar data 'struct'), due to Solaris's vastly different driver API.
[I spelled it odd so that search engines dont misdirect people to this
page. But only changed it sept 20th, 2001. sorry folks.]

Using the driver

and you are done. One of these days, i might get around to making a pkg
for it. It's more likely to happen if you email and bug me about it :-)

Once the driver is installed, you can then use /usr/local/bin/printhealth,
to look at the temperature values and fanspeeds that your motherboard knows
about. The chip we talk to thinks it knows about three temperature gauges, and
three fanspeeds. You motherboard may or may not actually have all of
its sensors hooked up to something.
For example, this is the result on an ASUS P2B motherboard:

"temperature #1" and "#2" can reasonably be assumed to not be valid :-)
Sometimes you will see some apparently valid temperature readings, and you
will have no idea what they are for. One of them is probably an "ambient
temperature" sensor, or "motherboard temperature". Check with what your
BIOS says your CPU temperature is, and match it with the appropriate
temperature #

Additionally, while the speed for fan1 may not be accurate, you can at
least see it is working. If you want to set up a monitor for fan failures,
just check for if the fanspeed is less than 500. Or possibly just see if
it is equal to 0.000000

Latest download

The latest source code can be downloaded now.
Last updated July 4rd, 2001

Solaris 9+ warning!
You may need to change 'parent="isa"' to 'class="root"' in health.conf.
Or alternatively, 'parent="i86pc"'.
But if it works for you as-is, dont worry about it.

Compatibility list

At this point in time, the following motherboards seem to be compatible
with this driver:

If you know of any other motherboards that it works with, please let me
know, and I'll add it to the list!

Future

At some point, I would like to:
1. Fix the fanspeed to be more accurate
2. integrate more with David's version, so that a common "printhealth"
program can be used.

Unfortunately, at this time, David likes to use floating point in the
kernel, which Solaris does not allow.

[later note: i hear David has sinced changed this. But I need encouragement
to fix up the code!]

Derivative drivers

Gerhard Strangar was nice enough to put together a driver mod for
those folks who have a WinBond chip on the other side of an "SMBus".
For example, on a Gigabytes 7IXE-4 motherboard. You may download his
'ghealth' source code here.
Read the enclosed README file for what to do with it, and some limitations
of the driver.

At some point, I would "like" to merge the two drivers together. but right
now, I'm too busy working on Utah-GLX to do that sort of thing :-)