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>