Monitoring temperature with acpi (sysctls)

Oliver Fromme olli at lurza.secnetix.de
Mon Jul 31 13:35:54 UTC 2006


John Baldwin wrote:
 > Mike Jakubik wrote:
 > > I tried that, unfortunately it does not work. All i want to know is if 
 > > this a shortcoming of freebsd or the motherboard, if its the later, i 
 > > will contact the manufacturer.
 > 
 > If ACPI doesn't include the sysctl's that's due to your BIOS, not FreeBSD.
 > You can verify by doing an acpidump and seeing if you have any thermal
 > zones listed in your ASL.

I have a similar problem.  This is what sysctl says:

hw.acpi.thermal.tz0.temperature: 8.3C
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.passive_cooling: 1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: 9.8C
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 31.3C
hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
dev.acpi_tz.0.%desc: Thermal Zone
dev.acpi_tz.0.%driver: acpi_tz
dev.acpi_tz.0.%location: handle=\_TZ_.THM0
dev.acpi_tz.0.%pnpinfo: _HID=none _UID=0

The value of tz0.temperature is always 8.3C and never seems
to change.  In reality it should be rathe 20C and change
slightly during day and night.

This is an excerpt from "acpidump -d" on that machine, which
seems to imply that it _should_ support thermal readings
(but I'm not a low-level ACPI expert):

    Scope (_TZ)
    {
        Name (\TEMP, 0x0AFF)
        ThermalZone (THM0)
        {
            Name (_TSP, 0x3C)
            Name (_TC1, 0x04)
            Name (_TC2, 0x04)
            Name (_PSL, Package (0x01)
            {
                \_PR.CPU0
            })
            Method (_PSV, 0, NotSerialized)
            {
                Store ("_PSV Method", Debug)
                Return (0x0B0E)
            }
            Method (_SCP, 1, NotSerialized)
            {
                Notify (THM0, 0x81)
            }
            Method (_TMP, 0, NotSerialized)
            {
                Store ("_TMP Method", Debug)
                Return (TEMP)
            }
            Method (_CRT, 0, NotSerialized)
            {
                Store ("_CRT Method", Debug)
                Return (0x0BE5)
            }
        }
    }

Is it a bug in the ACPI BIOS or a bug in FreeBSD code?

Best regards
   Oliver

-- 
Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.

"Documentation is like sex; when it's good, it's very, very good,
and when it's bad, it's better than nothing."
        -- Dick Brandon


More information about the freebsd-stable mailing list