acpi_tz0: _CRT value is absurd, ignored (256.0C) (was pr kern/105537)

Chris Whitehouse cwhiteh at onetel.com
Fri Mar 27 07:03:55 PDT 2009


Alexandre "Sunny" Kovalenko wrote:
> On Thu, 2009-03-26 at 16:49 -0700, Nate Lawson wrote:
>> Chris Whitehouse wrote:
>>> Alexandre "Sunny" Kovalenko wrote:
>>>> To be fair, if all you want is to override _CRT, you should be able to
>>>> put something to the tune of
>>>>
>>>> hw.acpi.thermal.user_override=1
>>>> hw.acpi.thermal.tz0._CRT=90C
>>>>
>>>> in your /etc/sysctl.conf and not deal with the ASL at all.
>>> I tried this and it sets hw.acpi.thermal.tz0._CRT correctly until
>>> hw.acpi.thermal.tz0.active and hw.acpi.thermal.tz0.temperature change
>>> values at which point hw.acpi.thermal.tz0._CRT reverts to -1.
>>>
> 
> Looking at ASL I can see five thermal zone objects defined and only one
> of them (TZ4) looking somewhat normal: _CRT is 110C and _TMP method goes
> to the trouble of making sane return value. Maybe Windows somehow knows
> which thermal zones to ignore? Given the snippet below this _was_ geared
> heavily towards Windows:
> 
>                     If (\_OSI ("Windows 2001"))
>                     {
>                         Store (0x04, C014)
>                     }
> 
>                     If (\_OSI ("Windows 2001 SP1"))
>                     {
>                         Store (0x04, C014)
>                     }
> 
>                     If (\_OSI ("Windows 2001 SP2"))
>                     {
>                         Store (0x05, C014)
>                     }
> 
>                     If (\_OSI ("Windows 2006"))
>                     {
>                         Store (0x06, C014)
>                     }
> 
> Chris, you should be able to set hw.acpi.osname=<pick one from the
> above> in loader.conf and see if things improve somewhat. Note that
> "Windows 2001" and "Windows 2001 SP1" are identical.

sysctl says it is an unknown oid

> 
> Could you also, please, post the full output of the sysctl
> hw.acpi.thermal
> 
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 10
hw.acpi.thermal.user_override: 1
hw.acpi.thermal.tz0.temperature: 45.0C
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.passive_cooling: 0
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: -1
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: -1
hw.acpi.thermal.tz0._ACx: 80.0C 70.0C 60.0C 50.0C -1 -1 -1 -1 -1 -1
hw.acpi.thermal.tz0._TC1: -1
hw.acpi.thermal.tz0._TC2: -1
hw.acpi.thermal.tz0._TSP: -1
hw.acpi.thermal.tz1.temperature: 43.0C
hw.acpi.thermal.tz1.active: -1
hw.acpi.thermal.tz1.passive_cooling: 1
hw.acpi.thermal.tz1.thermal_flags: 0
hw.acpi.thermal.tz1._PSV: 102.0C
hw.acpi.thermal.tz1._HOT: -1
hw.acpi.thermal.tz1._CRT: 105.0C
hw.acpi.thermal.tz1._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
hw.acpi.thermal.tz1._TC1: 1
hw.acpi.thermal.tz1._TC2: 2
hw.acpi.thermal.tz1._TSP: 300
hw.acpi.thermal.tz2.temperature: 43.0C
hw.acpi.thermal.tz2.active: -1
hw.acpi.thermal.tz2.passive_cooling: 0
hw.acpi.thermal.tz2.thermal_flags: 0
hw.acpi.thermal.tz2._PSV: -1
hw.acpi.thermal.tz2._HOT: -1
hw.acpi.thermal.tz2._CRT: 105.0C
hw.acpi.thermal.tz2._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
hw.acpi.thermal.tz2._TC1: 1
hw.acpi.thermal.tz2._TC2: 2
hw.acpi.thermal.tz2._TSP: 300
hw.acpi.thermal.tz3.temperature: 28.9C
hw.acpi.thermal.tz3.active: -1
hw.acpi.thermal.tz3.passive_cooling: 0
hw.acpi.thermal.tz3.thermal_flags: 0
hw.acpi.thermal.tz3._PSV: 60.0C
hw.acpi.thermal.tz3._HOT: -1
hw.acpi.thermal.tz3._CRT: 105.0C
hw.acpi.thermal.tz3._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
hw.acpi.thermal.tz3._TC1: 1
hw.acpi.thermal.tz3._TC2: 2
hw.acpi.thermal.tz3._TSP: 300
hw.acpi.thermal.tz4.temperature: 0.0C
hw.acpi.thermal.tz4.active: -1
hw.acpi.thermal.tz4.passive_cooling: 0
hw.acpi.thermal.tz4.thermal_flags: 0
hw.acpi.thermal.tz4._PSV: -1
hw.acpi.thermal.tz4._HOT: -1
hw.acpi.thermal.tz4._CRT: 110.0C
hw.acpi.thermal.tz4._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
hw.acpi.thermal.tz4._TC1: -1
hw.acpi.thermal.tz4._TC2: -1
hw.acpi.thermal.tz4._TSP: -1

Also
fetch www.fishercroft.plus.com/messages.gz

will get bits of /var/log/messages with the normal startup messages and 
the output of

#!/bin/sh
while [ TRUE ]; do
logger \
` sysctl -n dev.cpu.0.temperature ; sysctl -n dev.cpu.1.temperature ; \
sysctl -n hw.acpi.thermal.tz0.temperature ; sysctl -n 
hw.acpi.thermal.tz0.active ; sysctl -n  hw.acpi.thermal.tz0._CRT ; \
sysctl -n hw.acpi.thermal.tz1.temperature ; sysctl -n 
hw.acpi.thermal.tz1.active ; sysctl -n  hw.acpi.thermal.tz1._CRT ; \
sysctl -n hw.acpi.thermal.tz2.temperature ; sysctl -n 
hw.acpi.thermal.tz2.active ; sysctl -n  hw.acpi.thermal.tz2._CRT ; \
sysctl -n hw.acpi.thermal.tz3.temperature ; sysctl -n 
hw.acpi.thermal.tz3.active ; sysctl -n  hw.acpi.thermal.tz3._CRT ; \
sysctl -n hw.acpi.thermal.tz4.temperature ; sysctl -n 
hw.acpi.thermal.tz4.active ; sysctl -n  hw.acpi.thermal.tz4._CRT `
sleep 5
done

(sorry bad wrapping)

The two cpu temps come from coretemp.ko module.

While this was running I changed the temp with burnK7 and an icepack :). 
It's clear that the messages do correspond to changes of state but there 
are further triggers that I am not watching.

Chris


More information about the freebsd-acpi mailing list