• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

motivated to help fix DSDT of Asus X51R?

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

Lifthanger

Member
Joined
Jun 30, 2004
Location
Wöschbach LMAO
Hi,

I really want to use my new laptop with gentoo :).
I'm highly motivated to fix my DSDT. My idea was, to post my progress here
and maybe get some insights of more experienced people in here :).

At the moment I'm stuck here:

If (OCC0)
{
Scope (_GPE)
{
Method (_L13, 0, NotSerialized)
{
Not (GM0P, GM0P)
U_OC (Zero, GM0P)
}
}
}

I found out, that if may not stand in a global context, which this one does.
Couldn't find out what this statement does and how to fix it yet.

Lifthanger
 
an update :

after installing a recent version of iasl I get 113 errors, but they are more common ones this time.

I've uploaded my DSDT.dsl, in case someone is interested
Link

and here is the compiler error log

Code:
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20060912 [Sep 22 2007]
Copyright (C) 2000 - 2006 Intel Corporation
Supports ACPI Specification Revision 3.0a

dsdt.dsl    30:                 Return (MNAM)
Error    4062 -      Object does not exist ^  (MNAM)

dsdt.dsl    35:                 Store (IKFG, Local0)
Error    4062 -     Object does not exist ^  (IKFG)

dsdt.dsl    36:                 If (ACPF)
Error    4062 -  Object does not exist ^  (ACPF)

dsdt.dsl    46:                 Store (\_TZ.RTMP (), Local0)
Error    4062 -          Object does not exist ^  (\_TZ.RTMP)

dsdt.dsl    47:                 Store (\_TZ.RFAN (), Local1)
Error    4062 -          Object does not exist ^  (\_TZ.RFAN)

dsdt.dsl    49:                 Add (\_TZ.KELV (Local0), Local1, Local0)
Error    4062 -        Object does not exist ^  (\_TZ.KELV)

dsdt.dsl    68:                 Store (Arg0, OSFG)
Error    4062 -           Object does not exist ^  (OSFG)

dsdt.dsl    73:                 Return (LBTN)
Error    4062 -      Object does not exist ^  (LBTN)

dsdt.dsl    78:                 Store (Arg0, LBTN)
Error    4062 -           Object does not exist ^  (LBTN)

dsdt.dsl    79:                 ^^PCI0.SBRG.EC0.STBR ()
Error    4063 -                                    ^ Object not found or not accessible from scope (^^PCI0.SBRG.EC0.STBR)

dsdt.dsl    84:                 OWLD (Arg0)
Error    4062 -                    ^ Object does not exist (OWLD)

dsdt.dsl    89:                 OBTD (Arg0)
Error    4062 -                    ^ Object does not exist (OBTD)

dsdt.dsl    94:                 Return (ORST ())
Error    4062 -      Object does not exist ^  (ORST)

dsdt.dsl    99:                 If (NATK ())
Error    4062 -  Object does not exist ^  (NATK)

dsdt.dsl   101:                     SWHG (Arg0)
Error    4062 -  Object does not exist ^  (SWHG)

dsdt.dsl   107:                 Return (LCDR)
Error    4062 -      Object does not exist ^  (LCDR)

dsdt.dsl   112:                 Return (OHWR ())
Error    4062 -      Object does not exist ^  (OHWR)

dsdt.dsl   117:                 Return (LCDV)
Error    4062 -      Object does not exist ^  (LCDV)

dsdt.dsl   132:                     Store (PTIM, PCDV)
Error    4062 -         Object does not exist ^  (PTIM)

dsdt.dsl   138:                     If (^^LID._LID ())
Error    4063 -                                  ^ Object not found or not accessible from scope (^^LID._LID)

dsdt.dsl   140:                         Store (PTIM, PCDV)
Error    4062 -             Object does not exist ^  (PTIM)

dsdt.dsl   144:                     If (LLess (\_TZ.RLTM (), PTMP))
Error    4062 -                  Object does not exist ^  (\_TZ.RLTM)

dsdt.dsl   144:                     If (LLess (\_TZ.RLTM (), PTMP))
Error    4062 -                           Object does not exist ^  (PTMP)

dsdt.dsl   146:                         Store (PTIM, PCDV)
Error    4062 -             Object does not exist ^  (PTIM)

dsdt.dsl   153:                         Store (PTIM, PCDV)
Error    4062 -             Object does not exist ^  (PTIM)

dsdt.dsl   172:                     ShiftLeft (QFAN, 0x10, Local0)
Error    4062 -             Object does not exist ^  (QFAN)

dsdt.dsl   187:                 Store (ASMI (Arg0), Local0)
Error    4062 -     Object does not exist ^  (ASMI)

dsdt.dsl   195:                     Return (PSTN)
Error    4062 -          Object does not exist ^  (PSTN)

dsdt.dsl   198:                 If (ACPF)
Error    4062 -  Object does not exist ^  (ACPF)

dsdt.dsl   200:                     ShiftRight (PSTN, 0x08, Local0)
Error    4062 -              Object does not exist ^  (PSTN)

dsdt.dsl   204:                     And (PSTN, 0xFF, Local0)
Error    4062 -       Object does not exist ^  (PSTN)

dsdt.dsl   212:                 Store (Arg0, SLMT)
Error    4062 -           Object does not exist ^  (SLMT)

dsdt.dsl   230:                     Return (RBYT (Local1, Local0))
Error    4062 -          Object does not exist ^  (RBYT)

dsdt.dsl   234:                     Return (WBYT (Local1, Local0, Local2))
Error    4062 -          Object does not exist ^  (WBYT)

dsdt.dsl   246:                     Return (RWRD (Local1, Local0))
Error    4062 -          Object does not exist ^  (RWRD)

dsdt.dsl   250:                     Return (WWRD (Local1, Local0, Local2))
Error    4062 -          Object does not exist ^  (WWRD)

dsdt.dsl   267:                         RBLK (Local1, Local0, Local3)
Error    4062 -      Object does not exist ^  (RBLK)

dsdt.dsl   271:                         WBLK (Local1, Local0, Local3)
Error    4062 -      Object does not exist ^  (WBLK)

dsdt.dsl   283:                         Return (DerefOf (Index (RBUF, Local2)))
Error    4062 -                              Object does not exist ^  (RBUF)

dsdt.dsl   288:                         Store (Local1, Index (RBUF, Local2))
Error    4062 -                            Object does not exist ^  (RBUF)

dsdt.dsl   303:                 If (LNotEqual (Acquire (P4SM, 0xFFFF), Zero))
Error    4062 -                      Object does not exist ^  (P4SM)

dsdt.dsl   308:                 Store (Local0, ^^PCI0.SBRG.EC0.CDT3)
Error    4063 -     Object not found or not accessible from scope ^  (^^PCI0.SBRG.EC0.CDT3)

dsdt.dsl   309:                 Store (Local1, ^^PCI0.SBRG.EC0.CDT2)
Error    4063 -     Object not found or not accessible from scope ^  (^^PCI0.SBRG.EC0.CDT2)

dsdt.dsl   310:                 Store (Local2, ^^PCI0.SBRG.EC0.CDT1)
Error    4063 -     Object not found or not accessible from scope ^  (^^PCI0.SBRG.EC0.CDT1)

dsdt.dsl   311:                 Store (Local3, ^^PCI0.SBRG.EC0.CMD1)
Error    4063 -     Object not found or not accessible from scope ^  (^^PCI0.SBRG.EC0.CMD1)

dsdt.dsl   313:                 While (LAnd (Local0, ^^PCI0.SBRG.EC0.CMD1))
Error    4063 -           Object not found or not accessible from scope ^  (^^PCI0.SBRG.EC0.CMD1)

dsdt.dsl   319:                 Store (^^PCI0.SBRG.EC0.CDT3, Local0)
Error    4063 -                                           ^ Object not found or not accessible from scope (^^PCI0.SBRG.EC0.CDT3)

dsdt.dsl   320:                 Store (^^PCI0.SBRG.EC0.CDT2, Local1)
Error    4063 -                                           ^ Object not found or not accessible from scope (^^PCI0.SBRG.EC0.CDT2)

dsdt.dsl   321:                 Store (^^PCI0.SBRG.EC0.CDT1, Local2)
Error    4063 -                                           ^ Object not found or not accessible from scope (^^PCI0.SBRG.EC0.CDT1)

dsdt.dsl   322:                 Store (^^PCI0.SBRG.EC0.CMD1, Local3)
Error    4063 -                                           ^ Object not found or not accessible from scope (^^PCI0.SBRG.EC0.CMD1)

dsdt.dsl   323:                 Release (P4SM)
Error    4062 -       Object does not exist ^  (P4SM)

dsdt.dsl   791:         If (DTSE)
Error    4062 -                ^ Object does not exist (DTSE)

dsdt.dsl   801:             If (LAnd (DTSE, MPEN))
Error    4062 -    Object does not exist ^  (DTSE)

dsdt.dsl   801:             If (LAnd (DTSE, MPEN))
Error    4062 -          Object does not exist ^  (MPEN)

dsdt.dsl   821:             Notify (\_TZ.THRM, 0x80)
Error    4062 -       Object does not exist ^  (\_TZ.THRM)

dsdt.dsl  1032:                 LNKA, 
Error    4062 -                    ^ Object does not exist (LNKA)

dsdt.dsl  1040:                 LNKB, 
Error    4062 -                    ^ Object does not exist (LNKB)

dsdt.dsl  1048:                 LNKC, 
Error    4062 -                    ^ Object does not exist (LNKC)

dsdt.dsl  1056:                 LNKD, 
Error    4062 -                    ^ Object does not exist (LNKD)

dsdt.dsl  1064:                 LNKA, 
Error    4062 -                    ^ Object does not exist (LNKA)

dsdt.dsl  1072:                 LNKB, 
Error    4062 -                    ^ Object does not exist (LNKB)

dsdt.dsl  1080:                 LNKC, 
Error    4062 -                    ^ Object does not exist (LNKC)

dsdt.dsl  1088:                 LNKD, 
Error    4062 -                    ^ Object does not exist (LNKD)

dsdt.dsl  1096:                 LNKG, 
Error    4062 -                    ^ Object does not exist (LNKG)

dsdt.dsl  1180:                 LNKC, 
Error    4062 -                    ^ Object does not exist (LNKC)

dsdt.dsl  1188:                 LNKD, 
Error    4062 -                    ^ Object does not exist (LNKD)

dsdt.dsl  1196:                 LNKA, 
Error    4062 -                    ^ Object does not exist (LNKA)

dsdt.dsl  1204:                 LNKB, 
Error    4062 -                    ^ Object does not exist (LNKB)

dsdt.dsl  1248:                 LNKD, 
Error    4062 -                    ^ Object does not exist (LNKD)

dsdt.dsl  1256:                 LNKA, 
Error    4062 -                    ^ Object does not exist (LNKA)

dsdt.dsl  1264:                 LNKB, 
Error    4062 -                    ^ Object does not exist (LNKB)

dsdt.dsl  1272:                 LNKC, 
Error    4062 -                    ^ Object does not exist (LNKC)

dsdt.dsl  1316:                 LNKA, 
Error    4062 -                    ^ Object does not exist (LNKA)

dsdt.dsl  1324:                 LNKB, 
Error    4062 -                    ^ Object does not exist (LNKB)

dsdt.dsl  1332:                 LNKC, 
Error    4062 -                    ^ Object does not exist (LNKC)

dsdt.dsl  1340:                 LNKD, 
Error    4062 -                    ^ Object does not exist (LNKD)

dsdt.dsl  1384:                 LNKB, 
Error    4062 -                    ^ Object does not exist (LNKB)

dsdt.dsl  1392:                 LNKC, 
Error    4062 -                    ^ Object does not exist (LNKC)

dsdt.dsl  1400:                 LNKD, 
Error    4062 -                    ^ Object does not exist (LNKD)

dsdt.dsl  1408:                 LNKA, 
Error    4062 -                    ^ Object does not exist (LNKA)

dsdt.dsl  1452:                 LNKC, 
Error    4062 -                    ^ Object does not exist (LNKC)

dsdt.dsl  1460:                 LNKD, 
Error    4062 -                    ^ Object does not exist (LNKD)

dsdt.dsl  1468:                 LNKA, 
Error    4062 -                    ^ Object does not exist (LNKA)

dsdt.dsl  1476:                 LNKB, 
Error    4062 -                    ^ Object does not exist (LNKB)

dsdt.dsl  1520:                 LNKD, 
Error    4062 -                    ^ Object does not exist (LNKD)

dsdt.dsl  1528:                 LNKA, 
Error    4062 -                    ^ Object does not exist (LNKA)

dsdt.dsl  1536:                 LNKB, 
Error    4062 -                    ^ Object does not exist (LNKB)

dsdt.dsl  1544:                 LNKC, 
Error    4062 -                    ^ Object does not exist (LNKC)

dsdt.dsl  1588:                 LNKA, 
Error    4062 -                    ^ Object does not exist (LNKA)

dsdt.dsl  1596:                 LNKB, 
Error    4062 -                    ^ Object does not exist (LNKB)

dsdt.dsl  1604:                 LNKC, 
Error    4062 -                    ^ Object does not exist (LNKC)

dsdt.dsl  1612:                 LNKD, 
Error    4062 -                    ^ Object does not exist (LNKD)

dsdt.dsl  1620:                 LNKB, 
Error    4062 -                    ^ Object does not exist (LNKB)

dsdt.dsl  1628:                 LNKC, 
Error    4062 -                    ^ Object does not exist (LNKC)

dsdt.dsl  1636:                 LNKD, 
Error    4062 -                    ^ Object does not exist (LNKD)

dsdt.dsl  1644:                 LNKA, 
Error    4062 -                    ^ Object does not exist (LNKA)

dsdt.dsl  1652:                 LNKB, 
Error    4062 -                    ^ Object does not exist (LNKB)

dsdt.dsl  1660:                 LNKC, 
Error    4062 -                    ^ Object does not exist (LNKC)

dsdt.dsl  1668:                 LNKD, 
Error    4062 -                    ^ Object does not exist (LNKD)

dsdt.dsl  1676:                 LNKA, 
Error    4062 -                    ^ Object does not exist (LNKA)

dsdt.dsl  1784:                 LNKE, 
Error    4062 -                    ^ Object does not exist (LNKE)

dsdt.dsl  1792:                 LNKF, 
Error    4062 -                    ^ Object does not exist (LNKF)

dsdt.dsl  1800:                 LNKG, 
Error    4062 -                    ^ Object does not exist (LNKG)

dsdt.dsl  1808:                 LNKH, 
Error    4062 -                    ^ Object does not exist (LNKH)

dsdt.dsl  4040:                 If (STHP)
Error    4094 -                  ^ syntax error, unexpected PARSEOP_IF

dsdt.dsl  4175:                 If (STHP)
Error    4094 -                  ^ syntax error, unexpected PARSEOP_IF

dsdt.dsl  4188:                                 Notify (\_SB.PCI0.SATA.PRID.P_D0, One)
Error    4062 -                                          Object does not exist ^  (\_SB.PCI0.SATA.PRID.P_D0)

dsdt.dsl  4199:                                 Notify (\_SB.PCI0.SATA.SECD.S_D0, One)
Error    4062 -                                          Object does not exist ^  (\_SB.PCI0.SATA.SECD.S_D0)

dsdt.dsl  4210:                                 Notify (\_SB.PCI0.SATA.PRID.P_D1, One)
Error    4062 -                                          Object does not exist ^  (\_SB.PCI0.SATA.PRID.P_D1)

dsdt.dsl  4221:                                 Notify (\_SB.PCI0.SATA.SECD.S_D1, One)
Error    4062 -                                          Object does not exist ^  (\_SB.PCI0.SATA.SECD.S_D1)

dsdt.dsl  4308:                         Return (AR05)
Error    4066 -                                    ^ Object is not accessible from this scope (AR05)

dsdt.dsl  4311:                     Return (PR05)
Error    4066 -                                ^ Object is not accessible from this scope (PR05)

dsdt.dsl  4315:     }     }
Error    4094 -     ^ syntax error, unexpected '}', expecting $end

ASL Input:  dsdt.dsl - 8725 lines, 246644 bytes, 1465 keywords
Compilation complete. 113 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

as I understand it, this should be mostly scope errors, but am still working on it.
I fixed the first 3 errors, by putting in an External(XXXX) line, but I'm not sure this is the way its supposed to be.

thanks :)
 
More background please... what's DSDT, what does it have to do with Gentoo, etc...
 
the dsdt is a file that the kernel needs to access acpi functions.
This file is compiled with a special compiler.
Now the problem: Most manufacturers compile their dsdts with the microsoft compiler. It produces buggy code which (of course :) ) works with windows, but not with written-for-specification linux.
In my case my laptop is almost without ACPI functions in linux which reduces battery life and so on.

The trick is to install iasl (emerge iasl) ,
cat your dsdt cat /proc/acpi/dsdt > /dsdt
disassemble it iasl -d /dsdt
and then recompile it iasl -tc /dsdt.dsl

And because the intel iasl compiler knows the specifications the recompilation fails with many errors.
the file I posted it my disassembly dsdt.dsl.

There are many fixed DSDTs out there, but I found none for my laptop. Now I'm trying to use other fixed DSDTs as blueprints to somehow fix my own.

So in fact this problem is a general linux one. After fixing this DSDT I intend to upload it to the repository so others may benefit from the work done.
 
Back