From owner-freebsd-stable@FreeBSD.ORG Wed Jan 10 03:38:48 2007 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2461B16A417 for ; Wed, 10 Jan 2007 03:38:48 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.freebsd.org (Postfix) with ESMTP id B659713C46B for ; Wed, 10 Jan 2007 03:38:47 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1H4UIP-0001EZ-00; Wed, 10 Jan 2007 04:38:37 +0100 Date: Wed, 10 Jan 2007 04:38:37 +0100 To: Daniel O'Connor , freebsd-stable@freebsd.org Message-ID: <20070110033837.GE4945@poupinou.org> References: <200701091239.46735.doconnor@gsoft.com.au> <20070109135047.GD4945@poupinou.org> <20070109165028.GA70345@icarus.home.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070109165028.GA70345@icarus.home.lan> User-Agent: Mutt/1.5.9i From: Bruno Ducrot Cc: Subject: Re: Temperature/fan monitoring on a Supermicro P8SCT X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Jan 2007 03:38:48 -0000 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.