From owner-freebsd-acpi@FreeBSD.ORG Thu Nov 22 09:46:33 2007 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4BE2E16A468 for ; Thu, 22 Nov 2007 09:46:33 +0000 (UTC) (envelope-from sbruno@miralink.com) Received: from plato.miralink.com (mail.miralink.com [70.103.185.20]) by mx1.freebsd.org (Postfix) with ESMTP id 1DE5413C468 for ; Thu, 22 Nov 2007 09:46:32 +0000 (UTC) (envelope-from sbruno@miralink.com) Received: from localhost (localhost.localdomain [127.0.0.1]) by plato.miralink.com (Postfix) with ESMTP id 2822061AAA4; Wed, 21 Nov 2007 14:58:28 -0800 (PST) Received: from plato.miralink.com ([127.0.0.1]) by localhost (plato.miralink.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 13891-06; Wed, 21 Nov 2007 14:58:26 -0800 (PST) Received: from [10.0.0.40] (iago.office.miralink.com [10.0.0.40]) by plato.miralink.com (Postfix) with ESMTP id A148261AA61; Wed, 21 Nov 2007 14:58:26 -0800 (PST) Message-ID: <4744B812.6010602@miralink.com> Date: Wed, 21 Nov 2007 14:58:26 -0800 From: Sean Bruno User-Agent: Thunderbird 1.5.0.12 (X11/20071019) MIME-Version: 1.0 To: "Alexandre \"Sunny\" Kovalenko" References: <4741D35B.1010509@miralink.com> <4741EF2F.3060708@miralink.com> <1195660760.56779.28.camel@RabbitsDen> In-Reply-To: <1195660760.56779.28.camel@RabbitsDen> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DSPAM-Result: Innocent X-DSPAM-Processed: Wed Nov 21 14:58:27 2007 X-DSPAM-Confidence: 0.9997 X-DSPAM-Probability: 0.0000 X-DSPAM-Signature: 4744b813115728539715904 X-DSPAM-Factors: 27, X-Virus-Scanned: amavisd-new at X-Spam-Status: No, score=-4.499 tagged_above=-10 required=6.6 autolearn=ham tests=[ALL_TRUSTED=-1.8, AWL=-0.000, BAYES_00=-2.599, DSPAM_HAM=-0.1] X-Spam-Score: -4.499 X-Spam-Level: Cc: freebsd-acpi@FreeBSD.org Subject: Re: Temperature sensor is absurd X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Nov 2007 09:46:33 -0000 Alexandre "Sunny" Kovalenko wrote: > On Mon, 2007-11-19 at 12:16 -0800, Sean Bruno wrote: > >> Sean Bruno wrote: >> >>> Using RELENG_6(updated) on a Shuttle xPC SD30G2, I am seeing the >>> following error message repeating on the console: >>> acpi_tz0: _TMP value is absurd, ignored (-73.0C) >>> >>> The temperature reported by the BIOS is ~31C for the CPU and ~32C for >>> the System. >>> >>> I agree that -73C is "absurd" for sure. The system has the latest >>> BIOS(rev 7). What should I look at to repair this condition? >>> >>> I have dumped the ACPI tables >>> http://consultcsg.com/shuttle.asl >>> > This chunk is somewhat suspicious: > > Method (RTMP, 0, NotSerialized) > { > Store (GBYT (0x29), Local0) > FindSetLeftBit (Local0, Local1) > If (LEqual (Local1, 0x08)) > { > And (Local0, 0x7F, Local0) > Multiply (Local0, 0x0A, Local0) > Subtract (0x0AAC, Local0, Local0) > } > Else > { > Multiply (Local0, 0x0A, Local0) > Add (0x0AAC, Local0, Local0) > } > > If (LEqual (SSHU, 0x01)) > { > Return (0x0C3C) > } > Else > { > Return (Local0) > } > } > > Let's say GBYT(29) returned 0xc9, then first branch of the If kicks in and > 0xc9 & 0x7f -> 0x49 > 0x49 * 0xa -> 0x2da > 0xAAC - 0x2da -> 0x7d2 > > 0x7d2 is 200.2K or -73C in ACPI reckoning. > > Unfortunately, I have no idea why GBYT(0x29) would return value with the bit 0x80 set and what the real > special processing should have been. You can experiment by changing Subtract to Add and trying to see > whether your temperature makes any sense, but this is pretty much wild guess. > > As usual, if you are playing with the thermal subsystem, I would recommend putting laptop on the cooling > pad and taking out the battery. Latter will allow you to shut machine down on the short notice by pulling > the power cord out. > I fired up an install of Windows XP to use the Shuttle "monitoring" software to see what it was doing. There appear to be three different temperature settings to query: CPU, System and Motherboard. CPU and System are valid (~31C) but Motherboard returns N/A in the Shuttle monitoring app. I note that there is some other kind of temperature monitor available: Method (STMP, 2, NotSerialized) { Store (Arg1, DW00) If (Arg0) { STHY (DB00, DB01, DW00) } Else { STOS (DB00, DB01, DW00) } I assume that these are the two valid value that I would want to gather for this motherboard. Since they appear to be non-standard, is there a quirk in the acpi code that I can try to get them returned for the temperature? Sean