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)
>ACPI: Battery Slot [BAT1] (battery absent) Is the problem battery should be present, right? Please attach the acpidmp output.
Created attachment 4039 [details] acpidmp.out The problem is the non-recognization of the battery at boot time (happens randomly) Regards, Brice
Sounds like some aml code is Not executed as expected.
Could you try with kernel option: acpi_serialize , and don't use option: acpi=strict .
If the problem persist, please feel free to reopen it.
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
I updated to 2.6.10 and the bug is still here.
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
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.
With acpi=strict, support to ignore unitialized locals is disabled, thus the error messages. This support was added in 20041105
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
*** This bug has been marked as a duplicate of 4588 ***