Monitoring temperature with acpi (sysctls)
John Baldwin
john at baldwin.cx
Tue Aug 1 18:25:07 UTC 2006
On Monday 31 July 2006 09:35, Oliver Fromme wrote:
> 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?
Well, your _TMP method just returns the TEMP constant. It may be that your
BIOS is supposed to be overwriting the TEMP constant periodically. It's not
a bug in FreeBSD though.
--
John Baldwin
More information about the freebsd-stable
mailing list