From owner-freebsd-current@FreeBSD.ORG Fri Jan 16 10:23:05 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 259C316A4CE for ; Fri, 16 Jan 2004 10:23:05 -0800 (PST) Received: from root.org (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id EB4DB43D2F for ; Fri, 16 Jan 2004 10:23:02 -0800 (PST) (envelope-from nate@root.org) Received: (qmail 76575 invoked by uid 1000); 16 Jan 2004 18:23:03 -0000 Date: Fri, 16 Jan 2004 10:23:03 -0800 (PST) From: Nate Lawson To: Sean Lazar In-Reply-To: <006301c3d67d$66285080$6401a8c0@seano> Message-ID: <20040116101908.H76561@root.org> References: <006301c3d67d$66285080$6401a8c0@seano> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-current@freebsd.org cc: acpi-jp@jp.freebsd.org Subject: RE: ACPI and Gateway 400sd4 laptop X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Jan 2004 18:23:05 -0000 On Thu, 8 Jan 2004, Sean Lazar wrote: > >> I have a Gateway 400SD4 laptop that I am having thermal issues with in > >> FreeBSD-CURRENT. The two-speed fan dosen't seem to come on. With ACPI on, > >> after the system has been running a little while and has warmed up, if I > >> turn off acpi with "acpiconf -d" the fan will kick on immediately. After > >> that the fan appears to behave normally, turning on and off when > >> necessary. > >> If the laptop boots warm with the fan on, it will shut off when it gets > >> cool but it won't come back on again. > > > >Output from sysctl hw.acpi would help. You can also play with values from > >0-2 for hw.acpi.tz0.active. That should manually turn the fan on at > >various speeds. > > > >-Nate > > very interesting, it dosen't want to turn on the fan: > > freebsd-5_2# sysctl hw.acpi.thermal.tz0.active=0 > hw.acpi.thermal.tz0.active: -1 -> -1 > freebsd-5_2# sysctl hw.acpi.thermal.tz0.active=0 > hw.acpi.thermal.tz0.active: -1 -> -1 > freebsd-5_2# sysctl hw.acpi.thermal.tz0.active=1 > hw.acpi.thermal.tz0.active: -1 -> -1 > freebsd-5_2# sysctl hw.acpi.thermal.tz0.active=2 > hw.acpi.thermal.tz0.active: -1 -> -1 > freebsd-5_2# sysctl hw.acpi.thermal.tz0.active=3 > hw.acpi.thermal.tz0.active: -1 -> 3 > freebsd-5_2# sysctl hw.acpi.thermal.tz0.active=6 > hw.acpi.thermal.tz0.active: 3 -> 6 > freebsd-5_2# sysctl hw.acpi.thermal.tz0.active=0 > hw.acpi.thermal.tz0.active: 6 -> -1 Your ASL has something strange. Your ThermalZone has an _INI method. Try the following patch: Index: sys/dev/acpica/acpi_thermal.c =================================================================== RCS file: /home/ncvs/src/sys/dev/acpica/acpi_thermal.c,v retrieving revision 1.35 diff -u -r1.35 acpi_thermal.c --- sys/dev/acpica/acpi_thermal.c 12 Jan 2004 17:59:10 -0000 1.35 +++ sys/dev/acpica/acpi_thermal.c 16 Jan 2004 18:21:53 -0000 @@ -306,6 +306,9 @@ AcpiOsFree(sc->tz_zone.psl.Pointer); bzero(&sc->tz_zone, sizeof(sc->tz_zone)); + /* XXX Call _INI if it exists */ + AcpiEvaluateObject(sc->tz_handle, "_INI", NULL, NULL); + /* Evaluate thermal zone parameters. */ for (i = 0; i < TZ_NUMLEVELS; i++) { sprintf(nbuf, "_AC%d", i); -Nate