Changing temperature threshold
Alexandre "Sunny" Kovalenko
Alex.Kovalenko at verizon.net
Thu Jun 23 15:22:29 GMT 2005
On Thu, 2005-06-23 at 11:34 -0300, Matthew Flanagan wrote:
> Hi everyone,
>
> [I haven't got the needed information from freebsd-questions, so I'm
> reposting it here.]
>
> I`ve installed a FreeBSD 5.4-STABLE and I was building some ports when
> suddenly my system shut down. Upon rebooting it and checking
> /var/log/messages, I found the following lines:
>
> Jun 21 16:01:30 bell root: WARNING: system temperature too high,
> shutting down soon!
> Jun 21 16:01:40 bell kernel: acpi_tz0: WARNING - current temperature
> (60.0C) exceeds safe limits
>
> Then I realized what had happened. My acpi_thermal sysctl's are:
>
> hw.acpi.thermal.min_runtime: 0
> hw.acpi.thermal.polling_rate: 10
> hw.acpi.thermal.tz0.temperature: 50.0C
> hw.acpi.thermal.tz0.active: 0
> hw.acpi.thermal.tz0.thermal_flags: 1
> hw.acpi.thermal.tz0._PSV: 50.0C
> hw.acpi.thermal.tz0._HOT: -1
> hw.acpi.thermal.tz0._CRT: 60.0C
> hw.acpi.thermal.tz0._ACx: 50.0C -1 -1 -1 -1 -1 -1 -1 -1 -1
>
> When I try to raise hw.acpi.thermal.tz0._CRT to 85C (which is the
> threshold in the BIOS setup) it doesn't work:
>
> bell# sysctl hw.acpi.thermal.tz0._CRT=3580 # 3580 tenths of Kelvin=85C
> sysctl: oid 'hw.acpi.thermal.tz0._CRT' is read only
>
> I've tried /etc/sysctl.conf as well, but I get the same error.
>
> Now, my question is: how do I change this value? I've read several
> manpages (acpi(4), acpi_thermal(4), acpiconf(8), loader(8), and many
> others) and checked the handbook, to no avail. Can anyone point me
> to the right direction?
>
> Thanks a lot,
> Matt
> _______________________________________________
> freebsd-acpi at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
> To unsubscribe, send any mail to "freebsd-acpi-unsubscribe at freebsd.org"
One of the ways to deal with that would be to dump your ASL (see
Handbook for guidance), find lines which look like:
Method (_CRT, 0, NotSerialized)
{
Return (KELV (0x5d))
}
modify them to your liking, compile ASL and override it during boot
(instructions on how to compile and override are in Handbook as well).
Please, note that actual value returned is in the 1/10th of the degree
of Kelvin. Function KELV above has following ASL code associated with
it:
Method (KELV, 1, NotSerialized)
{
Store (Arg0, Local1)
Multiply (0x0A, Local1, Local1)
Add (Local1, 0x0AAC, Local1)
Return (Local1)
}
Thermal management chapter of the ACPI specification should provide you
with ample explanation of what this is all about.
HTH,
--
Alexandre "Sunny" Kovalenko (Олександр Коваленко)
More information about the freebsd-acpi
mailing list