Date: Wed, 25 Mar 2009 12:41:54 -0400 From: "Alexandre \"Sunny\" Kovalenko" <gaijin.k@gmail.com> To: Nate Lawson <nate@root.org> Cc: freebsd-acpi@FreeBSD.org, Ian Smith <smithi@nimnet.asn.au>, Chris Whitehouse <cwhiteh@onetel.com> Subject: Re: acpi_tz0: _CRT value is absurd, ignored (256.0C) (was pr kern/105537) Message-ID: <1237999314.83221.20.camel@RabbitsDen> In-Reply-To: <49CA568B.6030305@root.org> References: <49C80E65.9090500@onetel.com> <49C93309.6050708@iki.fi> <20090325140718.J95588@sola.nimnet.asn.au> <49C9EE50.6070507@onetel.com> <1237992462.1297.22.camel@RabbitsDen> <49CA568B.6030305@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2009-03-25 at 09:06 -0700, Nate Lawson wrote: > > Alexandre "Sunny" Kovalenko wrote: > > On Wed, 2009-03-25 at 08:41 +0000, Chris Whitehouse wrote: > >> [Please would you cc me in any reply as I'm not subscribed, thanks.] > >> > >> Ian Smith wrote: > >>> On Tue, 24 Mar 2009, Pasi Parviainen wrote: > >>> > Chris Whitehouse wrote: > >>> > > Hi, I sent this a while ago but don't think there was a reply. I'm about to > >>> > > embark on a custom ASL to load in loader.conf as per > >>> > > http://www.freebsd.org/doc/en/books/handbook/acpi-debug.html but just > >>> > > wondering if their might be a 'proper' fix on the way. I do have the latest > >>> > > bios installed. > >>> > > >>> > Loading custom ASL with modified _CRT value for temperature zone in > >>> > question will solve the problem, see below for more information. > >>> > > >>> > > Would it help if I installed 8-CURRENT? > >>> > > >>> > Probably not, see below. > >>> > > >>> > > -------- Original Message -------- > >>> > > Subject: pr kern/105537 > >>> > > Date: Mon, 12 Jan 2009 15:00:49 +0000 > >>> > > From: Chris Whitehouse <cwhiteh@onetel.com> > >>> > > To: freebsd-acpi@FreeBSD.org > >>> > > > >>> > > hi, > >>> > > > >>> > > Please would you cc me in any reply as I'm not subscribed, thanks. > >>> > > > >>> > > I have the same problem noted in > >>> > > > >>> > > http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/105537 > >>> > > > >>> > > of frequent messages saying > >>> > > > >>> > > acpi_tz0: _CRT value is absurd, ignored (256.0C) > >>> > > > >>> > > on my HP nc6320 laptop, model RH383ET. > >>> > > > >>> > > >>> > I have HP 6510b and HP 2510p laptops and had same problem with those. > >>> > Actual problem is that the ACPI thermal code in kernel does sanity-check > >>> > for temperature values, and accepts only values between 0 - 200 Celsius. > >>> > To solve the problem you either create custom DSDT which returns 200.0C > >>> > value instead of 256.0C for thermal zone in question or increase the limit of > >>> > the sanity-check code of ACPI thermal code (src/sys/dev/acpica/acpi_thermal.c > >>> > function: acpi_tz_sanity). > >>> > > >>> > Proper way to solve this in my opinion is to increase the range of > >>> > sanity-check function from 0 - 200 Celsius to 0 - 256 Celsius, or at > >>> > least provide sysctl variable to disable thermal sanity-checks. > >>> > >>> Even 200C is absurd, really. That's above the melting point of many > >>> types of solder (http://www.rfcafe.com/references/electrical/solder.htm) > >>> while 256C exceeds the melting point of _most_ types of solder. I seem > >>> to recall that this limit used to be 150C, still hotter than anything > >>> you actually want to have anywhere on a computer board. > >>> > >>> No sense checking sanity to then accept insane values; fix the broken > >>> ASL. 256 sounds suspiciously like a byte-swapped value, perhaps? > >>> > >>> cheers, Ian > >>> > >> Getting the ASL in the actual BIOS firmware fixed would be great, but I > >> tried once to get Asus to correct a byte swapped value without success. > >> I don't suppose HP will be any more cooperative but I can try. I will > >> have a look at an acpidump tonight. A custom ASL would at least prove > >> what is wrong. > >> > >> Does anyone know what this value is supposed to be measuring? > > _CRT method in ASL is supposed to return temperature (in the tenth of > > Kelvin) at which you would like to have your computer shut down rather > > rapidly. On my ThinkPad X60 it is 97C. > > > > > 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. > > Yes, this is the best way instead of messing with ASL. > While it is true that, unlike _PSV, _CRT should not be changed while OS is running, it is not impossible to imagine that it could be calculated at boot, taking into account point-in-time configuration of the hardware (and causing EC timeout in process). Hence, I would recommend looking into ASL anyway, at least so OP understands what he is giving up by hardcoding the value. If I am not mistaken, 256C should look like Return(0x14AD), which is somewhat odd a number to say the least. Besides, FreeBSD makes ASL overriding so easy ;) -- Alexandre "Sunny" Kovalenko
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1237999314.83221.20.camel>