ENXIOing non-present battery

Adrian Chadd adrian at freebsd.org
Sun Dec 7 16:03:23 UTC 2014


Hi,

Wait - so it reports a battery with 0% in it, but not that it's not present?

How's this work on other systems? KDE on Linux doesn't lose its mind
if the second battery is totally flat.



-adrian


On 6 December 2014 at 23:53, Colin Percival <cperciva at freebsd.org> wrote:
> Hi ACPI people,
>
> On my Dell Latitude E7440 laptop, the ACPI reports two batteries: First
> the battery which exists; and second, a "Not Present" battery with zeroed
> statistics.  FreeBSD, not realizing that this second battery is a complete
> myth -- the E7440 only has one battery, and there is nowhere to add another
> -- faithfully reports the data from ACPI to userland.
>
> Unfortunately it causes some problems there; in particular, KDE interprets
> it as meaning that the system should have two batteries, and when it sees
> that the "second" battery has 0% power remaining it kicks off the "battery
> is low, turn the laptop off" code.  If that code is disabled, it still
> displays the wrong battery-charge-remaining status icons.
>
> For dealing with such broken ACPIs, it seems like not attaching a non-present
> battery would be a good idea.  This shouldn't be the default behaviour, since
> there are plenty of systems where a non-present battery might be inserted at
> a later time; but I see nothing wrong with adding an option.
>
> The attached patch adds a acpi.cmbat.hide_not_present loader tunable which,
> as the name suggests, hides non-present batteries; this is done in the probe
> code by returning ENXIO if the tunable is set to a nonzero value and
> acpi_BatteryIsPresent returns zero.  With this patch and the tunable set my
> laptop behaves appropriately; and (aside from wasting a few bytes of memory)
> there should be no effect on systems where the tunable is not set.
>
> Any objections to me committing this?
>
> --
> Colin Percival
> Security Officer Emeritus, FreeBSD | The power to serve
> Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid
>
> _______________________________________________
> freebsd-acpi at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
> To unsubscribe, send any mail to "freebsd-acpi-unsubscribe at freebsd.org"


More information about the freebsd-acpi mailing list