Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 06 Dec 2009 01:21:41 -0500
From:      "Alexandre \"Sunny\" Kovalenko" <gaijin.k@gmail.com>
To:        Steven Friedrich <freebsd@insightbb.com>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: ACPI temperature
Message-ID:  <1260080501.1745.32.camel@RabbitsDen>
In-Reply-To: <200912042337.04403.freebsd@insightbb.com>
References:  <200912042337.04403.freebsd@insightbb.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2009-12-04 at 23:37 -0500, Steven Friedrich wrote:
> I sent this to questions last Sunday, but only one person responded. He's 
> running FreeBSD 8 and I think his system is reporting bogus temps too.
> I think there might be a missing scaling factor. I'm a hardware guy, but I 
> don't currently have temperature measuring equipment and I would want to do it 
> on one of my towers (which are currently in storage), not my laptop anyway.
> 
> I booted my HP Pavilion zd8215us and I immediately invoked chkCPUTemperature.
> The first temp reported was 52C, which is 125.6F. This leads me to believe
> that acpi has an anomaly regarding temperature measurement. The ambient temp 
> was 71F (21.6C). The machine had been off for over eight hours.
> 
> Here's chkCPUTemperature:
> 
> #!/bin/sh
> # $Id:$
> #
> 
> # CPU Temperature Information from ACPI
> POLLING_RATE=`sysctl hw.acpi.thermal.polling_rate|awk '{print $2}'`
> while [ 1 ]
> do
> 	sysctl hw.acpi.thermal.tz0.temperature
> 	sleep $POLLING_RATE
> done
> 
> uname -a
> FreeBSD laptop2.StevenFriedrich.org 7.2-RELEASE-p4 FreeBSD 7.2-RELEASE-p4 #1: 
> Sat Oct  3 18:47:43 EDT 2009     
> root@laptop2.StevenFriedrich.org:/usr/obj/usr/src/sys/LAPTOP  i386
> _______________________________________________
> freebsd-acpi@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
> To unsubscribe, send any mail to "freebsd-acpi-unsubscribe@freebsd.org"

First, I fully agree with what other people said elsewhere on this
thread -- thermal hygiene is important for the laptops. I have not seen
anyone mentioning disconnecting the heatsink cleaning it completely and
reapplying reasonable amount of thermal paste, with the "reasonable"
being a key word -- I have run into few IBM ThinkPads and one Sony Vaio
where manufacturing people used teaspoons of the stuff.

However, there are few things you can check on the software side:
* Does tz0 correspond to the CPU sensor (on my ThinkPad X60 CPU is,
actually, tz1)? Full output of sysctl hw.acpi might be of a value here.

* Are you using acpi_hp(4)? If yes, full output of sysctl dev.acpi_hp
might be useful.

* Are you setting Cx states? Output of sysctl dev.cpu will help.

* Are you using powerd? With custom flags? Output of grep
powerd /etc/rc.conf might be useful.

* You can reduce passive cooling threshold by setting something like
hw.acpi.thermal.tz1.passive_cooling=1
hw.acpi.thermal.user_override=1
hw.acpi.thermal.tz1._PSV=75C
  This will make your machine slower, but cooler. Please, note that, in
my laptop CPU is in the tz1 -- you will have to put the right one there.

* You can dump your ASL into the file (look into Handbook for
instruction on how to do that) and look for _TMP method in the
appropriate thermal zone. Errors in that method tend to be somewhat
obvious, like forgetting to multiply value by 10, but I have also seen
_TMP methods that actually drive cooling fans instead. If logic looks
complex and things like "If (<some condition> ("Windows blah blah"))"
are abundant, you might want to tell system to pretend to be "Windows
blah blah" (see Handbook) or edit it outright, recompile and override on
boot (Handbook, again). If you've gone this far, I would recommend
pulling out battery pack and keeping easy access to the power cord while
experimenting.

I would also recommend reading thermal chapter of ACPI specification --
it is short, relatively self-contained, and fairly well written.


-- 
Alexandre Kovalenko (Олександр Коваленко)





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1260080501.1745.32.camel>