Temperature/fan monitoring on a Supermicro P8SCT

Bruno Ducrot ducrot at poupinou.org
Wed Jan 10 03:38:48 UTC 2007


On Tue, Jan 09, 2007 at 08:50:28AM -0800, Jeremy Chadwick wrote:
> On Tue, Jan 09, 2007 at 02:50:47PM +0100, Bruno Ducrot wrote:
> > On Tue, Jan 09, 2007 at 12:39:45PM +1030, Daniel O'Connor wrote:
> > > Has anyone had any success?
> > > I've tried healthd (0.7.9) but it can't show temps, eg..
> > > julx2:/usr/src/sys/amd64/conf>sudo healthd -1 -D
> > 
> > It seems we can get directly different temperatures from the CPU.  At
> > least this works for some opteron CG core, and believe it should work
> > with other processors as well.
> > 
> > In the meantime, could you please try this:
> > 
> > # setpci -d1022:1103 e6.b | sed s,^,0x,g | \
> > 	awk 'BEGIN {i = 0} {print "processor "i++": " $1 - 49 "C"}'
> > 
> > (you must have the sysutils/pciutils port, though, but I need a similar
> > command under Linux, that's why I'm doing something like that).
> 
> I don't understand how this interfaces with the Winbond 83627HF H/W
> monitoring IC of the P8SCT.  As far as I know, the 83627HF does not
> sit on the PCI bus; you can only talk to it via SMBus (and that's
> *only* if Supermicro added the SMBus tie-ins in their BIOS properly;
> Supermicro has a history of being hit-or-miss when it comes to this,
> most of the time being a miss), or via ancient x86 memory-mapped I/O
> ports (which each motherboard vendor can set/implement at various
> memory locations as they see fit; there is no "standard").
> 
> Full engineering details of the 83627HF are here:
> 
> http://www.winbond-usa.com/products/winbond_products/pdfs/PCIC/627hf.pdf
> 
> Regarding your setpci request:
> 
> 0x1022 is the vendor ID (AMD), 0x1103 is the device ID (what AMD
> labels as "Miscellaneous Control").  How did you determine that
> you should use configuration register E6?  I can't find any
> documentation about this PCI device.
> 
> Regardless, chances are what you're looking up on the PCI bus
> is the on-die thermistor for CPU temperature.  This doesn't
> help when it comes to monitoring system (case/enclosure)
> temperature.

>From the OP, I think the processor is an AMD 64 bits of some sort. From
"BIOS and Kernel Developer's Guide for AMD NPT Family 0Fh Processors",
available at
http://www.amd.com/fr-fr/Processors/TechnicalResources/0,,30_182_739_7203,00.html
you will find the corresponding documentation for this pci config
register.  It happens that even though the bits used for thermal reading
is marked as "reserved" for older processors, this work for at least
an old opteron processor onto a HP DL385, where the situation is even worst
when one can't use the binary stuff that don't exist under FreeBSD, just
Linux or Windows.  Of course, since we'll get the reading directly from
the processor, there is absolutely no need to get it from an external
chip like the winbond you mention.  The drawback though is that we can't
get indeed the other sensors like fan, other thermal sensors and so on,
but it's the only solution I can give by now.

Cheers,

-- 
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


More information about the freebsd-stable mailing list