Re: ASL help with latest acpi and compaq presario 2800t
From: Ducrot Bruno <hidden>
Date: 2003-02-10 13:57:40
On Sun, Feb 09, 2003 at 05:44:48PM -0700, Kevin Fenzi wrote:
Greetings.
I have been running nicely on my presario 2800t for a while, but with
kernel 2.4.18 and a pretty old acpi version.
So, what better to do on a lazy sunday than try and upgrade to
2.4.21-pre4 and the newest acpi? :)
I pulled down the 2.4.21-pre4 kernel. Applied the
acpi-20030125-2.4.21-pre3.diff.gz diff to it.
Then applied the patch-acpi-acpi20030125-swsusp18.gz software
suspend+acpi patch to that.
First I tried just compiling that and seeing how acpi would work.
It came up, but of course with no battery/ac, etc due to the broken
compaq dsdt.
So, I pulled down acpidump and iasl-linux-20030123.tar.gz
dumped out the dsdt and tried to compile it.
56 errors.
I first fixed all the "String must be entirely alphanumeric" errors
(compaq seems to like putting * in all their names.)
I realize it's against the spec, but could something be added to
change * to nothing if it finds it in a Name?
Fixing those got me down to 21 errors.
(Worth noting that at this point with the old iasl I was using with
2.4.18 there were no further errors here).
Any ideas on any of these:
dsdt.asl-2003-02-09 168: If(\_OSI) {
Error 1028 - Too few arguments ^ (\_OSI requires 1)
dsdt.asl-2003-02-09 169: "Windows 2001"
Error 1037 - ^ parse error, unexpected PARSEOP_STRING_LITERALTry:
--- dsdt.asl 2003/02/10 13:49:25 1.1
+++ dsdt.asl 2003/02/10 13:54:53@@ -165,8 +165,7 @@ } If(LOr(LEqual(C009, 0x0), LEqual(C009, 0x3))) { If(CondRefOf(\_OSI, Local0)) { - If(\_OSI) { - "Windows 2001" + If(\_OSI("Windows 2001")) { Store(0x4, C009) } }
@@ -1916,7 +1915,7 @@ } Method(_OFF) { If(LOr(\_SB_.C020, LEqual(0x0, 0x1))) { - Return(0x0) + /* Return(0x0) */ } C132(0x3, 0x0) }
@@ -2202,7 +2201,7 @@ } Method(_OFF) { If(LOr(\_SB_.C023, LEqual(0x0, 0x1))) { - Return(0x0) + /* Return(0x0) */ } C132(0x1, 0x0) }
@@ -2285,7 +2284,7 @@ } } Scope(C162) { - Name(_HID, "*SYN0100") + Name(_HID, "SYN0100") Name(_CID, Package(0x2) { 0x02002e4f, 0x130fd041,
Alas, your DSDT do not contains some of the objects not found. This is likely because you have SDST tables which contains them. You need to force the compilation. -- Ducrot Bruno -- Which is worse: ignorance or apathy? -- Don't know. Don't care. ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com