ENXIOing non-present battery
Ian Smith
smithi at nimnet.asn.au
Thu Dec 11 03:53:26 UTC 2014
On Tue, 9 Dec 2014 10:42:39 +0100, Dan Lukes wrote:
> On 12/09/14 06:33, Ian Smith:
> > Normally with 2 batteries catered for and only one fitted you'd expect to
> > see
>
> > battery1: <ACPI Control Method Battery> on acpi0
> > battery1: battery initialization start
> > battery1: battery initialization failed, giving up
>
> Just for the completeness ...
>
> ... it is expected behavior for non-present battery. Relevant part of code
> (sys/dev/acpica/acpi_cmbat.c):
>
> > ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev),
> > "battery initialization start\n");
> ...
> > for (retry = 0; retry < ACPI_CMBAT_RETRY_MAX; retry++,
> > AcpiOsSleep(10000)) {
> ...
> > if (!acpi_BatteryIsPresent(dev))
> > continue;
> ...
> > }
> >
> > if (retry == ACPI_CMBAT_RETRY_MAX) {
> > ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev),
> > "battery initialization failed, giving up\n");
Yes, I just wanted to eliminate the battery being erroneously detected
as being present on initialisation.
So this problem seems likely to be down to (at least) one of:
a) a bug in our ACPI code;
b) a bug in this machine's AML (which we haven't seen);
c) a bug in hald.
.. which is hardly helpful, I know. I had a quick browse of the scripts
and FreeBSD backend bits of sysutils/hal, and was frankly too horrified
to consider trying to browse its full sources.
cheers, Ian
More information about the freebsd-acpi
mailing list