Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Oct 2005 12:42:26 -0400
From:      "Alexandre \"Sunny\" Kovalenko" <Alex.Kovalenko@verizon.net>
To:        Peter Reimer <punky@gmx.ch>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: PowerD Problem and strange cooler behaviour
Message-ID:  <1129394547.1254.12.camel@RabbitsDen>
In-Reply-To: <09291702.20051014202345@gmx.ch>
References:  <1934759270.20051014145733@gmx.ch> <1129301610.742.16.camel@RabbitsDen> <09291702.20051014202345@gmx.ch>

next in thread | previous in thread | raw e-mail | index | archive | help

--Boundary_(ID_SQnZW6KkNDDZkPkvuJozbQ)
Content-type: text/plain; charset=windows-1251
Content-transfer-encoding: 8BIT

On Fri, 2005-10-14 at 20:23 +0200, Peter Reimer wrote:
> >> Hello list,
> >> 
> >> I've two problems with my Fujitsu Siemens Amilo M 7440 and I hope
> >> someone have an idea.
> >> 
> >> When I start the notebook, the cooler starts with the highest speep.
> >> If the processor for a short time becomes warmer than 49.8°C
> >> (2nd temperature in hw.acpi.thermal.tz0._ACx), the cooler stops. So,
> >> after I start the notebook I compile the kernel to warm-up the
> >> processor :) Is there another way to stop the cooler? I've already
> >> googled around but haven't found another way yet.
> >> 
> >> My 2nd problem deals with powerD. When I start powerD, it takes my
> >> whole processor power and after some seconds, it needs about 90%. Some
> >> seconds later, my system crashes (without a panic). I have cpufreq
> >> compiled in my kernel, the rest of my kernel config is as GENERIC.
> >> 
> >> My system is a Pentium M 1.73 GHz (perhaps Pentium 740).
> 
> > You did not mention your version of FreeBSD. I think, I have seen this
> > problem in 5.x and then doing 
> 
> Ou sorry, 6.0 RC1 (cvsuped yesterday)
> 
> > sysctl hw.acpi.thermal.tz0.active=0
> > followed by
> > sysctl hw.acpi.thermal.tz0.active=-1
> > was the workaround.
> 
> I saw the thread and I've the same problem. I can't change the value
> of hw.acpi.thermal.tz0.active ( I tried every value between -1 and
> 10).
> 
> > sysctl -a hw.acpi.thermal 
> (http://aucupor.gmxhome.de/hw.thermal.txt)
> 
> hw.acpi.thermal.min_runtime: 0
> hw.acpi.thermal.polling_rate: 10
> hw.acpi.thermal.tz0.temperature: 38.8C
> hw.acpi.thermal.tz0.active: -1
> hw.acpi.thermal.tz0.thermal_flags: 0
> hw.acpi.thermal.tz0._PSV: 85.8C
> hw.acpi.thermal.tz0._HOT: -1
> hw.acpi.thermal.tz0._CRT: 104.8C
> hw.acpi.thermal.tz0._ACx: 64.8C 49.8C -1 -1 -1 -1 -1 -1 -1 -1
> 
> > right after boot will help as well as your ASL dump (see Handbook for
> > directions on how to get one).
> 
> I've uploaded it to: http://aucupor.gmxhome.de/acpidump.txt.
> 
> Many thanks,
> Peter
> 
> 
> 
> 
> _______________________________________________
> 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"

Attached patch should allow you to use 

sysctl hw.acpi.thermal.tz0.active=0
sysctl hw.acpi.thermal.tz0.active=-1

workaround.

I see no ill effects running for few hours with it... but if your
computer melts down, please, do not blame me ;) Patch was made against
-CURRENT, and I don't have access to the 6.0 machine, so you might need
to tweak it manually to apply.

The problem, as I see it, is that FreeBSD assumes that your fan status
matches your temperature, which, apparently, is not the case. I would
recommend looking for BIOS updates if any available.

I will take closer look at your ASL as time permits, but not being ASL
guru, could not promise much. Maybe someone more knowledgeable would
chime in.

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

--Boundary_(ID_SQnZW6KkNDDZkPkvuJozbQ)
Content-type: text/x-patch; name=acpi_thermal.c.patch; charset=ASCII
Content-transfer-encoding: 7BIT
Content-disposition: attachment; filename=acpi_thermal.c.patch

--- /usr/src/sys/dev/acpica/acpi_thermal.c	Sat Oct 15 12:05:34 2005
+++ acpi_thermal.c	Sat Oct 15 12:11:28 2005
@@ -492,8 +492,11 @@
 	    newactive = sc->tz_active;
     }
 
-    /* Handle user override of active mode */
-    if (sc->tz_requested != TZ_ACTIVE_NONE && sc->tz_requested < newactive)
+    /* Handle user override of active mode, allow user to turn on fan even 
+     * if it is not necessary.
+     */
+    if ((sc->tz_requested != TZ_ACTIVE_NONE && sc->tz_requested < newactive) ||
+        (sc->tz_active == TZ_ACTIVE_NONE && newactive == TZ_ACTIVE_NONE))
 	newactive = sc->tz_requested;
 
     /* update temperature-related flags */

--Boundary_(ID_SQnZW6KkNDDZkPkvuJozbQ)--



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