piter2619 Posted November 17, 2012 Author Posted November 17, 2012 do you know how to do that? this is my _WAK method Method (_WAK, 1, Serialized) { P8XH (One, 0xAB) Store (One, ECON) If (LNotEqual (\_SB.PCI0.LPCB.H_EC.ACEX, PWRS)) { Store (\_SB.PCI0.LPCB.H_EC.ACEX, PWRS) If (LGreaterEqual (\_SB.OSYS, 0x07D1)) { PNOT () } } If (LNotEqual (\_SB.PCI0.LPCB.H_EC.B1DF, \_SB.BFCC)) { Notify (\_SB.PCI0.LPCB.H_EC.BAT1, 0x80) Notify (\_SB.PCI0.LPCB.H_EC.BAT1, 0x81) } If (NEXP) { If (And (OSCC, 0x02)) { \_SB.PCI0.NHPG () } If (And (OSCC, 0x04)) { \_SB.PCI0.NPME () } } Else { \_SB.PCI0.CPME () } If (LEqual (Arg0, 0x03)) { If (LNotEqual (\_SB.PCI0.LPCB.H_EC.TIST, \_SB.TZON)) { Store (\_SB.PCI0.LPCB.H_EC.TIST, \_SB.TZON) CPRN () } Or (GL01, GBF0, GL01) Or (GL04, GBF1, GL04) Or (GL06, GBF2, GL06) If (LOr (GBF0, LOr (GBF1, GBF2))) { \_SB.SECS (0xB2) } If (LNotEqual (\_SB.HBAT, Zero)) { Notify (\_SB.PWRB, 0x02) } } If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { Store (Arg0, \_SB.RTYP) If (LAnd (DTSE, LGreater (TCNT, One))) { TRAP (TRTD, 0x14) } If (LEqual (OSYS, 0x07D2)) { If (And (CFGD, One)) { If (LGreater (\_PR.CPU0._PPC, Zero)) { Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) PNOT () Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) PNOT () } Else { Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) PNOT () Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) PNOT () } } } If (LEqual (ECON, One)) { If (LNotEqual (LIDS, \_SB.PCI0.LPCB.H_EC.LIDS)) { Store (\_SB.PCI0.LPCB.H_EC.LIDS, LIDS) If (IGDS) { If (\_SB.PCI0.GFX0.GLID (LIDS)) { Or (0x80000000, \_SB.PCI0.GFX0.CLID, \_SB.PCI0.GFX0.CLID) } } Notify (\_SB.LID0, 0x80) } } If (LEqual (RP1D, Zero)) { Notify (\_SB.PCI0.RP01, Zero) } If (LEqual (RP2D, Zero)) { Notify (\_SB.PCI0.RP02, Zero) } If (LEqual (RP3D, Zero)) { Notify (\_SB.PCI0.RP03, Zero) } If (LEqual (RP4D, Zero)) { Notify (\_SB.PCI0.RP04, Zero) } If (LEqual (RP5D, Zero)) { Notify (\_SB.PCI0.RP05, Zero) } If (LEqual (RP7D, Zero)) { Notify (\_SB.PCI0.RP07, Zero) } If (LEqual (RP8D, Zero)) { Notify (\_SB.PCI0.RP08, Zero) } } Return (Package (0x02) { Zero, Zero }) } as you can see is very complex, while the _WAK method of a macbookpro is quite simple Method (_WAK, 1, NotSerialized) { P8XH (0x00, 0x00) Store (0x00, \_SB.PCI0.LPCB.EC.ECSS) If (OSDW ()) { \_SB.PCI0.SBUS.ENAB () } Store (\_SB.PCI0.LPCB.EC.LSTE, LIDS) Store (\_SB.PCI0.LPCB.EC.RPWR, PWRS) PNOT () Return (Package (0x02) { 0x00, 0x00 }) } do you know for example which parts i can delete? maybe not every line is necessary PS i already tried to make my _WAK method similar to the one from the macbookpro but if i do that then i obtain instant wake..also when waking up from sleep audio's not working anymore
pcnewpinky Posted November 19, 2012 Posted November 19, 2012 @piter2619 : Yes. It is. In DSDT we have two method (_WAK) and (WAK) first Method(_WAK, ... ) looks likes this .. (for Asus) Method (_WAK, 1, Serialized) { WAK (Arg0) Return (Package (0x02) { 0x00, 0x00 }) } And the second Method(WAK, .. ) in the end of file.. looks like this one .. Method (WAK, 1, NotSerialized) { \_SB.ATKD.GENW (Arg0) \_SB.PCI0.GFX0.OWAK (Arg0) \OEMW (Arg0) } Sorry bro, but i only knew this. For more helps please Contact 'Mald0n' or use patches. you can find on this site. Good luck.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now