DSDT problem with Acer Aspire 3002NLC
Hi!
I have a Acer Aspire 3002NLC and the battery was not getting reported. The syslog too was flooded. I checked up the DSDT database and found a fixed table for Aspire 3000 (It reportedly fixed this error, see
http://acpi.sourceforge.net/dsdt/view.php?id=377). I merged the changes with the decompiled file I had. I had decompiled with iasl, and on recompilation with the patch 6 errors remained. (Originally 37 errors were present). I am using iasl version 20050513.
The compilation cmdline: iasl -oi -of -on -tc dcust.dsl 2>&1 > /tmp/error.log
Error log:
Intel ACPI Component Architecture
ASL Optimizing Compiler / AML Disassembler version 20050513 [Jun 4 2005] Copyright (C) 2000 - 2005 Intel Corporation
Supports ACPI Specification Revision 3.0
dcust.dsl 2506: If (LNot (LEqual
(\_PR.CPU0._PPC, 0x00)))
Error 1022 - Object does not
exist ^ (\_PR.CPU0._PPC)
dcust.dsl 2508: Store (0x00, \_PR.CPU0._PPC)
Error 1022 - Object does not
exist ^ (\_PR.CPU0._PPC)
dcust.dsl 2516: If (LLess (\_PR.CPU0._PPC, Local1))
Error 1022 - Object does not exist ^
(\_PR.CPU0._PPC)
dcust.dsl 2518: Store (Local1, \_PR.CPU0._PPC)
Error 1022 - Object does not
exist ^ (\_PR.CPU0._PPC)
dcust.dsl 2528: If (LNot (LEqual
(\_PR.CPU0._PPC, 0x00)))
Error 1022 - Object does not
exist ^ (\_PR.CPU0._PPC)
dcust.dsl 2530: Store (0x00, \_PR.CPU0._PPC)
Error 1022 - Object does not exist
^ (\_PR.CPU0._PPC)
ASL Input: dcust.dsl - 3466 lines, 120769 bytes, 1560 keywords Compilation complete. 6 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
Thanx,
Ramkumar.
PS: I am new to the list. Tried attaching the dsdt, but the mailist list server complained. So, I have mailed without the dsdt (I think it's the same as in the url above). If the older mail eventually gets approved and comes to this list, sorry for the repetition :)
Signature · 10 lines
The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.
-Ernst Jan Plugge
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r A message that is not in the archive (sent off-list or not yet received): 9a9bfc170506060740547d2bd6-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org
Quoted 41 lines · Ramkumar R
Hi!
I have a Acer Aspire 3002NLC and the battery was not getting reported. The syslog too was flooded. I checked up the DSDT database and found a fixed table for Aspire 3000 (It reportedly fixed this error, see
http://acpi.sourceforge.net/dsdt/view.php?id=377). I merged the changes with the decompiled file I had. I had decompiled with iasl, and on recompilation with the patch 6 errors remained. (Originally 37 errors were present). I am using iasl version 20050513.The compilation cmdline: iasl -oi -of -on -tc dcust.dsl 2>&1 >
/tmp/error.logError log:
Intel ACPI Component Architecture
ASL Optimizing Compiler / AML Disassembler version 20050513 [Jun 4 2005] Copyright (C) 2000 - 2005 Intel Corporation
Supports ACPI Specification Revision 3.0dcust.dsl 2506: If (LNot (LEqual
(\_PR.CPU0._PPC,0x00)))
Error 1022 - Object does not
exist ^ (\_PR.CPU0._PPC)dcust.dsl 2508: Store (
0x00, \_PR.CPU0._PPC)
Error 1022 - Object does not
exist ^ (\_PR.CPU0._PPC)dcust.dsl 2516: If (LLess (\_PR.CPU0._PPC, Local1))
Error 1022 - Object does not exist ^
(\_PR.CPU0._PPC)dcust.dsl 2518: Store (Local1, \_PR.CPU0._PPC)
Error 1022 - Object does not
exist ^ (\_PR.CPU0._PPC)dcust.dsl 2528: If (LNot (LEqual
(\_PR.CPU0._PPC,0x00)))
Error 1022 - Object does not
exist ^ (\_PR.CPU0._PPC)
Quoted 7 lines
dcust.dsl 2530: Store (
0x00, \_PR.CPU0._PPC)
Error 1022 - Object does not exist
^ (\_PR.CPU0._PPC)ASL Input: dcust.dsl - 3466 lines, 120769 bytes, 1560 keywords Compilation complete. 6 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
The object is defined in your SSDT.
Try adding:
External (\_PR.CPU0._PPC)
in global scope
or
External (_PPC)
in the \_PR.CPU0 scope.
One of these should work getting your dsdt compiled.
The kernel interpreter will find the object when the SSDT table is loaded.
Thomas
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): 9a9bfc170506061006433fbcd7-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org
Quoted 4 lines · Ramkumar R
thanx a lot...that worked ! .... just curious as to what it changed in the dsdt ... coz out of curiosity i also tried the one with the errors (just realised that even when there are errors, it still outputs a hex file) ... atleast
/proc/acpididn't show any changes...
Don't know whether the .hex file of a DSDT compiled with errors is valid.
Quoted 3 lines
secondly, is this a big enough change for me to create a new dsdt entry in the dsdt database ?
Adding the External (...) statements?
No this doesn't fix anything.
It's just a hint for the compiler that these objects are in a separate table.
You can do:
acpidmp > /tmp/acpidmp
acpixtract ssdt /tmp/acpidmp > /tmp/ssdt
(be careful there could be more than one, maybe you have to split the /tmp/acpidmp outputfile (it's a text file, you can just copy away several SSDT.... parts) to e.g. /tmp/ssdt1 /tmp/ssdt2).
iasl -d /tmp/ssdtX
There should somewhere exist the \PR.CPU0._PDC object the compiler complained about.
However your dsdt/ssdt(s) seem to work well.
I expect your battery to be a smart battery system, for which an instruction exists to get it going. It includes patching your DSDT with some additional instructions.
If you grep the archives you should find a step by step instruction. IIRC Rich Townsend posted it, at least he did this smart battery stuff.
Quoted 3 lines
and a bit off topic, what exactly can i do with the
embedded_controllerentry i have in my/proc/acpi? it just shows up an info file ?
That's OK, AFAIK the embedded controller does not provide any interface to userspace you could play around with.
Thomas
P.S.: you should CC the list again, so that others with similar problems grepping the archives or googling know what to do.
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20