No battery status in /proc/acpi

On a generic laptop with a MS-171F motherboard, BAT1 is detected on boot:

<6> 7.147120] ACPI: Battery Slot [BAT1] (battery present)
<6> 7.161354] ACPI: AC Adapter [ADP1] (on-line)

but /proc/acpi/battery/info and proc/acpi/battery/state have no data:

cat /proc/acpi/battery/BAT1/state
cat: /proc/acpi/battery/BAT1/state: No such device

ACPI logs the following to /var/log/messages every few minutes:

Nov 28 09:55:32 xxx kernel: [840329.315595] ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for [EmbeddedControl] (201007
02/evregion-474)
Nov 28 09:55:32 xxx kernel: [840329.315605] ACPI Error (psparse-0537): Method parse/execution failed _SB_.PCI0.SBRG.EC__.BAT1
.UPBI] (Node ffff88011bafc268), AE_BAD_PARAMETER
Nov 28 09:55:32 xxx kernel: [840329.315616] ACPI Error (psparse-0537): Method parse/execution failed _SB_.PCI0.SBRG.EC__.BAT1
._BIF] (Node ffff88011bafc308), AE_BAD_PARAMETER
Nov 28 09:55:32 xxx kernel: [840329.315626] ACPI Exception: AE_BAD_PARAMETER, Evaluating _BIF (20100702/battery-404)

There is only one battery in the laptop and the kernel finds it as BAT1 not BAT0.

These problems existed with OpenSuse 11.1, went away with 11.2, and are back with 11.3. Right now, they occur with 2.6.36-18-desktop and 2.6.34.7-0.5-desktop from the repository and also custom builds of 2.6.34, 2.6.35, 2.6.36. The battery works fine but obviously there is no graceful shut down when it runs down since there is no report of battery power in /proc/acpi

My apologies if this problem has already been addressed. I see many references that are a few years old, and some newer ones to BAT1 being detected instead of BAT0, but none of the solutions apply. Any help in determining if I need to pursue this on a kernel forum, or an acpi forum, or this forum would be helpful. Thanks.

On 2010-11-28 16:06, debk wrote:

> My apologies if this problem has already been addressed. I see many
> references that are a few years old, and some newer ones to BAT1 being
> detected instead of BAT0, but none of the solutions apply. Any help in
> determining if I need to pursue this on a kernel forum, or an acpi
> forum, or this forum would be helpful. Thanks.

Bugzilla…


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)

I have the exact same laptop, and had this issue as well. After much trial and error I found that if I disable “WMI” in the kernel config under “Device Drivers->X86 Platform Specific Device Drivers” and recompile the kernel, it fixes the problem.

Hope that works for you, too!

Report problem and fix to bugzilla…

Since I am not a SUSE user I will leave the bugzilla as an exercise for the original poster. I found this posting via a google search when trying to solve the problem myself. I just registered and posted to help save you guys the same trial-and-error kernel configure/compile/reboot/retry loop I did to find it.

Excellent! Disabling ACPI_WMI fixed the problem. The bugzilla report is https://bugzilla.kernel.org/show_bug.cgi?id=24002. We’ll see if a patch comes out to autodetect broken WMI. Thanks for your help.