Date: Fri, 24 Jun 2005 19:13:45 -0300 From: Matthew Flanagan <flanagan.matt@gmail.com> To: Nate Lawson <nate@root.org> Cc: freebsd-acpi@freebsd.org Subject: Re: Changing temperature threshold Message-ID: <7cd06a2d050624151357296b5@mail.gmail.com> In-Reply-To: <42BB28BD.5080202@root.org> References: <7cd06a2d05062205331d03372c@mail.gmail.com> <7cd06a2d050623073452e3c3f9@mail.gmail.com> <1130426516.777.7.camel@RabbitsDen> <42BB28BD.5080202@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 6/23/05, Nate Lawson <nate@root.org> wrote: > Alexandre "Sunny" Kovalenko wrote: > >>When I try to raise hw.acpi.thermal.tz0._CRT to 85C (which is the=20 > >>threshold in the BIOS setup) it doesn't work: > >> > >>bell# sysctl hw.acpi.thermal.tz0._CRT=3D3580 # 3580 tenths of Kelvin= =3D85C > >>sysctl: oid 'hw.acpi.thermal.tz0._CRT' is read only > >> > >>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? > >=20 > > 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. Thanks for the tip, I'll try that if the machine starts acting up again (so= far=20 it hasn't). > This explanation is correct. The reason why the sysctl is read-only is= =20 > because the values are supplied by the BIOS and are what the OEM thinks= =20 > are critical temperatures. However, we need a way to allow override in= =20 > the case of obviously wrong values like this. I'll probably change it=20 > to allow overriding from the loader but be read-only in sysctl to avoid= =20 > accidental changes from users experimenting. I think that's a great idea. Thank you and have a nice weekend, Matt
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7cd06a2d050624151357296b5>