Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jan 2010 17:55:42 -0800
From:      Nate Lawson <nate@root.org>
To:        Guido van Rooij <guido@gvr.org>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: ACPI CMBAT notify's never reach devd?
Message-ID:  <4B4E799E.2030405@root.org>
In-Reply-To: <20100113204228.GA8768@gvr.gvr.org>
References:  <20100113204228.GA8768@gvr.gvr.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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




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