Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Nov 2007 10:59:19 -0500
From:      "Alexandre \"Sunny\" Kovalenko" <alex.kovalenko@verizon.net>
To:        Sean Bruno <sbruno@miralink.com>
Cc:        freebsd-acpi@FreeBSD.org
Subject:   Re: Temperature sensor is absurd
Message-ID:  <1195660760.56779.28.camel@RabbitsDen>
In-Reply-To: <4741EF2F.3060708@miralink.com>
References:  <4741D35B.1010509@miralink.com>  <4741EF2F.3060708@miralink.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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.

> > http://consultcsg.com/shuttle.dsdt
> I enabled debug and need some help interpreting the debug output for the 
> thermal poll:
> 
> Execute Method: [\\_TZ_.THRM._TMP] (Node 0xc3322128)
> exregion-0265 [188] ExSystemMemorySpaceHan: SystemMemory 0 (16 width) 
> Address=       0   FF81A
> exregion-0378 [189] ExSystemIoSpaceHandler: SystemIO 1 (8 width) 
> Address=       0     295
> exregion-0378 [188] ExSystemIoSpaceHandler: SystemIO 0 (8 width) 
> Address=       0     296
> exregion-0265 [188] ExSystemMemorySpaceHan: SystemMemory 0 (8 width) 
> Address=       0   FF840
> acpi_tz0: _TMP value is absurd, ignored (-73.0C)
> Execute Method: [\\_TZ_.THRM._TMP] (Node 0xc3322128)
> exregion-0265 [188] ExSystemMemorySpaceHan: SystemMemory 0 (16 width) 
> Address=       0   FF81A
> exregion-0378 [189] ExSystemIoSpaceHandler: SystemIO 1 (8 width) 
> Address=       0     295
> exregion-0378 [188] ExSystemIoSpaceHandler: SystemIO 0 (8 width) 
> Address=       0     296
> exregion-0265 [188] ExSystemMemorySpaceHan: SystemMemory 0 (8 width) 
> Address=       0   FF840
> acpi_tz0: _TMP value is absurd, ignored (-73.0C)
> 
> 
> Sean
> _______________________________________________
> freebsd-acpi@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
> To unsubscribe, send any mail to "freebsd-acpi-unsubscribe@freebsd.org"

-- 
Alexandre "Sunny" Kovalenko




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1195660760.56779.28.camel>