Bug 3750 - Battery not recognized and ACPI-1138
Battery not recognized and ACPI-1138
Status: REJECTED DUPLICATE of bug 4588
Product: ACPI
Classification: Unclassified
Component: Power-Battery
i386 Linux
: P2 normal
Assigned To: Robert Moore
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2004-11-15 12:36 UTC by Brice MEALIER
Modified: 2005-10-23 00:06 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.9 acpi 20041105
Tree: Mainline
Regression: ---


Attachments
acpidmp.out (85.94 KB, application/octet-stream)
2004-11-16 03:39 UTC, Brice MEALIER
Details

Description Brice MEALIER 2004-11-15 12:36:03 UTC
Distribution:debian
Hardware Environment: sony vaio pcg-fr215e
Software Environment:
Problem Description:

the battery is not always recognized!

dmesg output:

 BIOS-e820: 000000000fef0000 - 000000000fefc000 (ACPI data)
 BIOS-e820: 000000000fefc000 - 000000000ff00000 (ACPI NVS)
ACPI: RSDP (v000 PTLTD                                 ) @ 0x000f6890
ACPI: RSDT (v001 SONY   K5       0x06040000  LTP 0x00000000) @ 0x0fef7647
ACPI: FADT (v001 SONY   K5       0x06040000 PTL_ 0x000f4240) @ 0x0fefbdff
ACPI: BOOT (v001 PTLTD  $SBFTBL$ 0x06040000  LTP 0x00000001) @ 0x0fefbe73
ACPI: SSDT (v001 PTLTD  POWERNOW 0x06040000  LTP 0x00000001) @ 0x0fefbe9b
ACPI: DSDT (v001  SONY  X0       0x06040000 MSFT 0x0100000e) @ 0x00000000
ACPI: PM-Timer IO Port: 0x8008
ACPI: Looking for DSDT in initrd... not found!
ACPI: IRQ9 SCI: Level Trigger.
ACPI: Subsystem revision 20041105
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 9 10 11 12) *0, disabled.
ACPI: PCI Interrupt Link [LNKB] (IRQs *9 10 11 12)
ACPI: PCI Interrupt Link [LNKC] (IRQs 9 10 *11 12)
ACPI: PCI Interrupt Link [LNKD] (IRQs *9 10 11 12)
ACPI: Embedded Controller [EC0] (gpe 1)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PPB_._PRT]
pnp: PnP ACPI init
pnp: PnP ACPI: found 10 devices
PnPBIOS: Disabled by ACPI
PCI: Using ACPI for IRQ routing
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 9
ACPI: PCI interrupt 0000:00:0c.0[A] -> GSI 9 (level, low) -> IRQ 9
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
ACPI: PCI interrupt 0000:00:0e.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:00:0e.1[B] -> GSI 9 (level, low) -> IRQ 9
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
ACPI: PCI interrupt 0000:00:0e.2[C] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:00:10.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:00:10.1[B] -> GSI 9 (level, low) -> IRQ 9
ACPI: PCI interrupt 0000:00:10.2[C] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 9
ACPI: PCI interrupt 0000:00:10.3[D] -> GSI 9 (level, low) -> IRQ 9
ACPI: PCI interrupt 0000:00:11.1[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:00:11.5[C] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:00:11.6[C] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:00:11.1[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: (supports S0 S3 S4 S5)
ACPI wakeup devices: 
ACPI: Processor [CPU0] (supports C1 C2)
ACPI: Processor [CPU0] (supports 16 throttling states)
ACPI: PCI interrupt 0000:00:0c.0[A] -> GSI 9 (level, low) -> IRQ 9
ACPI: PCI interrupt 0000:00:0e.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:00:0e.1[B] -> GSI 9 (level, low) -> IRQ 9
ACPI: PCI interrupt 0000:00:0e.2[C] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:00:10.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:00:10.1[B] -> GSI 9 (level, low) -> IRQ 9
ACPI: PCI interrupt 0000:00:10.2[C] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:00:10.3[D] -> GSI 9 (level, low) -> IRQ 9
ACPI: PCI interrupt 0000:00:11.5[C] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:00:11.6[C] -> GSI 11 (level, low) -> IRQ 11
ACPI: Battery Slot [BAT1] (battery absent)
ACPI: AC Adapter [ACAD] (on-line)
ACPI: Power Button (FF) [PWRF]
ACPI: Sleep Button (CM) [SBTN]
ACPI: Lid Switch [LID]
ACPI: Thermal Zone [THRM] (60 C)
apm: overridden by ACPI.
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11



Note: I applied the patch of the latest stable release 20041105 and also the one
concerning the loading of the dsdt via initrd but I didn't change my dsdt (see
also bug 3652 !!!). 
Also this bug appears more often when the battery is full but this is random!!

If booting with acpi=strict I get the following error:

ACPI: PCI interrupt 0000:00:11.6[C] -> GSI 11 (level, low) -> IRQ 11
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
ACPI: Battery Slot [BAT1] (battery present)
ACPI: AC Adapter [ACAD] (on-line)
ACPI: Power Button (FF) [PWRF]
ACPI: Sleep Button (CM) [SBTN]
ACPI: Lid Switch [LID]
ACPI: Thermal Zone [THRM] (59 C)
apm: overridden by ACPI.
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.PIB_.EC0_._Q20]
(Node cfc0d4c0), AE_AML_UNINITIALIZED_LOCAL




Steps to reproduce:

just boot (sometimes it recognizes the battery but not always especially if the
battery is full, the presence or absence of the ac adapter doesn't change anything)
Comment 1 Shaohua 2004-11-15 23:13:00 UTC
>ACPI: Battery Slot [BAT1] (battery absent)
Is the problem battery should be present, right?
Please attach the acpidmp output.
Comment 2 Brice MEALIER 2004-11-16 03:39:38 UTC
Created attachment 4039 [details]
acpidmp.out

The problem is the non-recognization of the battery at boot time (happens
randomly)


Regards, Brice
Comment 3 Luming Yu 2004-12-06 03:26:43 UTC
Sounds like some aml code is Not executed as expected.
Comment 4 Luming Yu 2004-12-14 20:46:40 UTC
Could you try with kernel option:  acpi_serialize , and don't use option:
acpi=strict .

Comment 5 Luming Yu 2004-12-14 20:48:18 UTC
If the problem persist, please feel free to reopen it. 
Comment 6 Brice MEALIER 2004-12-18 02:43:31 UTC
I patched my kernel 2.6.9 with acpi-20041203-26-stable-release.diff and boot
with the option acpi_serialize but the bug is still here and appears always
randomly!

Brice
Comment 7 Brice MEALIER 2004-12-18 02:46:23 UTC
I patched my kernel 2.6.9 with acpi-20041203-26-stable-release.diff and boot
with the option acpi_serialize but the bug is still here and appears always
randomly!

Brice
Comment 8 Brice MEALIER 2005-01-13 09:34:24 UTC
I updated to 2.6.10 and the bug is still here.
Comment 9 Gerald Britton 2005-04-01 06:23:13 UTC
Confirmed on my box with Linux version 2.6.11-gentoo-r4 

Mar 28 07:08:36 gentoo ACPI: Subsystem revision 20050211
Mar 28 07:08:36 gentoo ACPI-1138: *** Error: Method execution failed [\MCTH]
(Node d1feefa0), AE_AML_BUFFER_LIM
IT
Mar 28 07:08:36 gentoo ACPI-1138: *** Error: Method execution failed
[\_SB_.PCI0._INI] (Node d1feec80), AE_AML_
BUFFER_LIMIT
Comment 10 Robert Moore 2005-09-01 12:26:52 UTC
At least the BUFFER_LIMIT issue was resolved in ACPICA version 20050310:

"The string-to-buffer implicit conversion code has been modified again after a 
change to the ACPI specification.  In order to match the behavior of the other 
major ACPI implementation, the target buffer is no longer truncated if the 
source string is smaller than an existing target buffer. This change requires 
an update to the ACPI spec, and should eliminate the recent 
AE_AML_BUFFER_LIMIT issues."

The UNITIALIZED_LOCAL exception will require further investigation.
Comment 11 Robert Moore 2005-09-29 14:01:13 UTC
With acpi=strict, support to ignore unitialized locals is disabled, thus the 
error messages.  This support was added in 20041105
Comment 12 Robert Moore 2005-09-29 15:06:10 UTC
One more possibility. I discovered a path in the ASL (_Q20 method) where a 
local could be used when it is uninitialized:

If (LNot (Acquire (\_SB.PCI0.PIB.EC0.MUT0, 0x1388)))
{
    Store (0x08, \_SB.PCI0.PIB.DID)
    \_SB.SSMI (0x83)
    Store (\_SB.PCI0.PIB.INF1, Local1)
    Release (\_SB.PCI0.PIB.EC0.MUT0)
}

\_SB.BAT1.CHBP (Local1)

If the acquire fails with a timeout, Local1 will not be initialized.

This could in fact be another EC issue in disguise.
Bob
Comment 13 Luming Yu 2005-10-23 00:06:42 UTC

*** This bug has been marked as a duplicate of 4588 ***

Note You need to log in before you can comment on or make changes to this bug.