From owner-freebsd-acpi@FreeBSD.ORG Thu Jan 14 02:12:44 2010 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB51C1065679 for ; Thu, 14 Jan 2010 02:12:44 +0000 (UTC) (envelope-from nate@root.org) Received: from mail.root.org (root.org [208.72.84.34]) by mx1.freebsd.org (Postfix) with ESMTP id 876098FC08 for ; Thu, 14 Jan 2010 02:12:44 +0000 (UTC) Received: from [10.0.5.50] (ppp-71-139-9-149.dsl.snfc21.pacbell.net [71.139.9.149]) by mail.root.org (Postfix) with ESMTP id 70899434F; Thu, 14 Jan 2010 01:55:44 +0000 (UTC) Message-ID: <4B4E799E.2030405@root.org> Date: Wed, 13 Jan 2010 17:55:42 -0800 From: Nate Lawson User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) MIME-Version: 1.0 To: Guido van Rooij References: <20100113204228.GA8768@gvr.gvr.org> In-Reply-To: <20100113204228.GA8768@gvr.gvr.org> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org Subject: Re: ACPI CMBAT notify's never reach devd? X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jan 2010 02:12:44 -0000 Guido van Rooij wrote: > I am trying to have a script shutdown a system on low battery levels and > I'm using this script: > http://www.chruetertee.ch/files/download/battery > > What I see is that the script is only called when the state changes > (e.g. when the bateries start charging). > Reading the script, it seems to imply that notify's should be sent > regularly when the level (hw.acpi.battery.life) changes. > However that does not happen. > > Also, when batteries run out, the state does not change to LOW (I waited > to: > hw.acpi.battery.life: 4 > hw.acpi.battery.time: 3 > hw.acpi.battery.state: 1 > > I am not sure if this is a bug in the acpi implementation or in my laptop's > bios (the dumped DSDT indeed only seems to send SB.BAT noities in the PWRE > method). I read on http://www.columbia.edu/~ariel/acpi/acpi_howto.txt: > If your battery doesn't support alarms, the ACPI specification requires the > OS to poll the battery to check its remaining capacity. It appears that > Linux does not yet do this. In this case, it's best to run a user > application that can check your battery status and take appropriate action. > > Can anyone tell me what I need to do to use the script succesfully? > My system: Dell D820 running 8.0-release. Most battery systems don't generate the notifies on level changes. So our ACPI battery implementation itself is polled. You should probably just run a cron job that checks the level. Perhaps we could add a low and high mark to the kernel code, configurable by the user. It would be checked by the cmbat polling code and generate an artificial notify to devd if there was a match. -- Nate