Re: Lenovo T530 - Battery Warnings

Joseph Mingrone <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
Ian Smith <[email protected]> writes:

> On Fri, 14 Jun 2013 10:58:11 -0300, Joseph Mingrone wrote:
>
>  > I convinced a friend to try FreeBSD (9-STABLE amd64) on her Lenovo T530 and
>  > things are running quite well.  One problem is that, unlike other
>  > IBM/Lenovos, there is no beep to warn her when the battery is about to die.
>  > There is also no beep when (un)plugging the power.  Beeping does work before
>  > the OS is loaded (e.g. in the BIOS setup).  The BIOS version is 2.04.
>  > 
>  > Is there a fix for this?
>
> For AC<->battery changes, /etc/devd.conf already has devd perform:
>
> # Switch power profiles when the AC line state changes.  notify 10 { match
> "system" "ACPI"; match "subsystem" "ACAD"; action "/etc/rc.d/power_profile
> $notify"; };
>
> You won't need to mess with power_profile but it's instructive and logs power
> changes to /var/log/messages.
>
> If you made that, say: action "/etc/rc.d/power_profile $notify &&
> /root/my_script $notify";
>
> then my_script can do whatever, with or without using parameter $notify
>
> if '# kldload speaker && spkrtest' makes useful noises on the speaker, then it's
> easy to make up a couple of satisfactory and noticeable alert 'tunes'.  See
> speaker(4).  I used these for years on an old Compaq with APM, which also could
> be configured to run alerts at every 10% battery level change, charging or
> discharging, enabling such as suspend on low battery where that wasn't built in,
> or other actions to save power.
>
> devd.conf(5) as well as /etc/devd.conf shows:
>
>      ACPI Events related to the ACPI subsystem.  Subsystem ACAD AC line state
> ($notify=0x00 is offline, 0x01 is online).  Button Button state ($notify=0x00 is
> power, 0x01 is sleep).  CMBAT Battery events.  Lid Lid state ($notify=0x00 is
> closed, 0x01 is open).  Thermal Thermal zone events.
>
> with an example also for thermal overheating pending shutdown, but I'm yet to
> find examples of any CMBAT battery events, regarding your first concern.  That
> is, I've wondered about this myself ..
>
> Can anyone say, or point to, which ACPI CMBAT events get to devd?
>

After an upgrade to 9-STABLE, the speakers started working.  I followed
you advice Ian to get the tones when switching between battery and AC.

I also tried to play a sound when the battery enters a LOW state, but
hw.acpi.battery.state remains in 1 (discharging) until the battery runs
out of power.  A notification is triggered in devd when the battery hits
about 4%, but without a $notify I struggled to distinguish battery-related
events.  The solution I came up with is a bit of a hack, but it works (for now).
I run a cronjob to check the remaining power and if it's at or below 5%
play a warning.  Here is the script:
http://ftfl.ca:8080/admin/artifact/80e3121009ba836d1b6f57eda6207520b9807b63

Thanks again,

Joseph

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.