Hi,
I have a new Toshiba Tecra S1 laptop which I cannot get ACPI battery
status from. I grepped my dmesg output for ACPI and got the following
messages:
BIOS-e820: 000000001fff0000 - 000000001fffffc0 (ACPI data)
BIOS-e820: 000000001fffffc0 - 0000000020000000 (ACPI NVS)
ACPI: RSDP (v000 OID_00 ) @
0x000e6010
ACPI: RSDT (v001 INSYDE RSDT_000 0x00000001 _CSI 0x00010101) @
0x1fffaaf0
ACPI: FADT (v001 INSYDE FACP_000 0x00000100 _CSI 0x00010101) @
0x1ffffb00
ACPI: BOOT (v001 INSYDE SYS_BOOT 0x00000100 _CSI 0x00010101) @
0x1ffffb90
ACPI: DBGP (v001 INSYDE DBGP_000 0x00000100 _CSI 0x00010101) @
0x1ffffbc0
ACPI: SSDT (v001 INSYDE GV3Ref 0x00002000 INTL 0x20021002) @
0x1fffab30
ACPI: DSDT (v001 TOSINV INT810 0x00001002 INTL 0x02002036) @
0x00000000
ACPI: Subsystem revision 20031002
ACPI: IRQ 9 was Edge Triggered, setting to Level Triggerd
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI-1120: *** Error: Method execution failed [\_SB_.BAT0._STA]
(Node dff61fe0), AE_NOT_EXIST
ACPI-1120: *** Error: Method execution failed [\_SB_.BAT1._STA]
(Node dff61ea0), AE_NOT_EXIST
ACPI: PCI Root Bridge [PCI0] (00:00)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI2._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 5 7 *10 11)
ACPI: PCI Interrupt Link [LNKB] (IRQs 6)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 5 7 10 *11)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 7 10 *11)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 5 7 10 11)
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 5 7 10 11)
ACPI: Embedded Controller [EC0] (gpe 16)
ACPI: Power Resource [PUT2] (on)
ACPI: Power Resource [PFA1] (off)
ACPI: Power Resource [PFA0] (off)
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 5
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 11
PCI: Using ACPI for IRQ routing
PCI: if you experience problems, try using option 'pci=noacpi' or even
'acpi=off'
acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.4
acpiphp_glue: can't get bus number, assuming 0
ACPI: AC Adapter [AC] (on-line)
ACPI: Power Button (FF) [PWRF]
ACPI: Lid Switch [LID]
ACPI: Fan [FAN0] (off)
ACPI: Fan [FAN1] (off)
The errors with "Method execution failed" seem to be my problem. Any
ideas what I can try to get the status of the batteries in this laptop?
There are two batteries in this thing.
I have attached the full dmesg output in case it is helpful. Let me
know what I can do to help solve this problem.
Thanks,
Bernt.
--
Bernt Hansen Norang Consulting Inc.
I suspect this is a known issue with AML code from Toshiba. Their _STA
does not return a value explicitly, but (wrongly) expects the AML
interpreter to get the return value returned by the function _STA is
calling, like
Method (_STA, ....) {
AAA(...)
}
Instead of
Method (_STA, ....) {
Return (AAA(...))
}
If you can provide ACPI dump data of the machine, that would be helpful
when identifying the cause. Copy the ACPI mailing list and Len.
Jun
> -----Original Message-----
> From: [email protected] [mailto:linux-kernel-
> [email protected]] On Behalf Of Bernt Hansen
> Sent: Monday, November 24, 2003 12:45 PM
> To: Linux Kernel Mailing List
> Subject: Toshiba ACPI battery status - ACPI errors
>
> Hi,
>
> I have a new Toshiba Tecra S1 laptop which I cannot get ACPI battery
> status from. I grepped my dmesg output for ACPI and got the following
> messages:
>
> BIOS-e820: 000000001fff0000 - 000000001fffffc0 (ACPI data)
> BIOS-e820: 000000001fffffc0 - 0000000020000000 (ACPI NVS)
> ACPI: RSDP (v000 OID_00 ) @
> 0x000e6010
> ACPI: RSDT (v001 INSYDE RSDT_000 0x00000001 _CSI 0x00010101) @
> 0x1fffaaf0
> ACPI: FADT (v001 INSYDE FACP_000 0x00000100 _CSI 0x00010101) @
> 0x1ffffb00
> ACPI: BOOT (v001 INSYDE SYS_BOOT 0x00000100 _CSI 0x00010101) @
> 0x1ffffb90
> ACPI: DBGP (v001 INSYDE DBGP_000 0x00000100 _CSI 0x00010101) @
> 0x1ffffbc0
> ACPI: SSDT (v001 INSYDE GV3Ref 0x00002000 INTL 0x20021002) @
> 0x1fffab30
> ACPI: DSDT (v001 TOSINV INT810 0x00001002 INTL 0x02002036) @
> 0x00000000
> ACPI: Subsystem revision 20031002
> ACPI: IRQ 9 was Edge Triggered, setting to Level Triggerd
> ACPI: Interpreter enabled
> ACPI: Using PIC for interrupt routing
> ACPI-1120: *** Error: Method execution failed [\_SB_.BAT0._STA]
> (Node dff61fe0), AE_NOT_EXIST
> ACPI-1120: *** Error: Method execution failed [\_SB_.BAT1._STA]
> (Node dff61ea0), AE_NOT_EXIST
> ACPI: PCI Root Bridge [PCI0] (00:00)
> ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
> ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI2._PRT]
> ACPI: PCI Interrupt Link [LNKA] (IRQs 3 5 7 *10 11)
> ACPI: PCI Interrupt Link [LNKB] (IRQs 6)
> ACPI: PCI Interrupt Link [LNKC] (IRQs 3 5 7 10 *11)
> ACPI: PCI Interrupt Link [LNKD] (IRQs 3 7 10 *11)
> ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 10 *11 14 15)
> ACPI: PCI Interrupt Link [LNKF] (IRQs 3 5 7 10 11)
> ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 10 11 14 15)
> ACPI: PCI Interrupt Link [LNKH] (IRQs 3 5 7 10 11)
> ACPI: Embedded Controller [EC0] (gpe 16)
> ACPI: Power Resource [PUT2] (on)
> ACPI: Power Resource [PFA1] (off)
> ACPI: Power Resource [PFA0] (off)
> ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
> ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
> ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
> ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 5
> ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
> ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 11
> PCI: Using ACPI for IRQ routing
> PCI: if you experience problems, try using option 'pci=noacpi' or even
> 'acpi=off'
> acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.4
> acpiphp_glue: can't get bus number, assuming 0
> ACPI: AC Adapter [AC] (on-line)
> ACPI: Power Button (FF) [PWRF]
> ACPI: Lid Switch [LID]
> ACPI: Fan [FAN0] (off)
> ACPI: Fan [FAN1] (off)
>
> The errors with "Method execution failed" seem to be my problem. Any
> ideas what I can try to get the status of the batteries in this
laptop?
> There are two batteries in this thing.
>
> I have attached the full dmesg output in case it is helpful. Let me
> know what I can do to help solve this problem.
>
> Thanks,
> Bernt.
>
> --
> Bernt Hansen Norang Consulting Inc.
Jun,
I'd be happy to provide any data to get this problem fixed... how do I
generate an ACPI dump? I've never done that before.
Bernt
On Mon, Nov 24, 2003 at 01:04:22PM -0800, Nakajima, Jun wrote:
> I suspect this is a known issue with AML code from Toshiba. Their _STA
> does not return a value explicitly, but (wrongly) expects the AML
> interpreter to get the return value returned by the function _STA is
> calling, like
> Method (_STA, ....) {
> AAA(...)
> }
> Instead of
> Method (_STA, ....) {
> Return (AAA(...))
> }
>
> If you can provide ACPI dump data of the machine, that would be helpful
> when identifying the cause. Copy the ACPI mailing list and Len.
--
Bernt Hansen Norang Consulting Inc.
> I suspect this is a known issue with AML code from Toshiba.
Sorry, but unfortunately your guess is wrong (would have been too easy). A
few days ago i reported about the Tecra S1 problems on the acpi-devel list
as well, maybe you missed my post, which can be found in the archives here:
http://sourceforge.net/mailarchive/forum.php?thread_id=3511931&forum_id=6102
Included was a link to the disassembled dsdt, which can be found here:
http://www.kju.de/data/dsdt.dsl
As you can see, the _STA-Methods of both BAT0 and BAT1 do proper return
calls. I'm sorry, but i'm do not have any knowledge about acpi or dsdts to
debug this myself. The DSDT has some other errors as well.
It is somewhat strange, that toshiba as one of the core members of ACPI
seems to be unable to provide sane DSDTs for years now. Something is real
wrong with this company.
Regards
Michael
--
Michael Holzt, DL3KJU, [email protected], [email protected], kju@IRCNet
On Mon, Nov 24, 2003 at 11:55:39PM +0100, Michael Holzt wrote:
> > I suspect this is a known issue with AML code from Toshiba.
>
> Sorry, but unfortunately your guess is wrong (would have been too easy). A
> few days ago i reported about the Tecra S1 problems on the acpi-devel list
> as well, maybe you missed my post, which can be found in the archives here:
>
> http://sourceforge.net/mailarchive/forum.php?thread_id=3511931&forum_id=6102
Sorry, I missed your post.
>
> Included was a link to the disassembled dsdt, which can be found here:
>
> http://www.kju.de/data/dsdt.dsl
>
> As you can see, the _STA-Methods of both BAT0 and BAT1 do proper return
> calls. I'm sorry, but i'm do not have any knowledge about acpi or dsdts to
> debug this myself. The DSDT has some other errors as well.
I posted last week at acpi-devel a patch which fake a ECDT. That should
at least fix your embedded error you encounter.
http://sourceforge.net/mailarchive/message.php?msg_id=6561311
Looking your DSDT, the parameter you have to pass at boot are:
ecdt_fake=0x66:0x62:0x10:-1:\\_SB.PCI0.LPCB.EC0
I hope that at least that will correct some obivous errors.
>
> It is somewhat strange, that toshiba as one of the core members of ACPI
> seems to be unable to provide sane DSDTs for years now. Something is real
> wrong with this company.
Indeed. They should change their ODM.
--
Ducrot Bruno
-- Which is worse: ignorance or apathy?
-- Don't know. Don't care.