piter2619 Posted October 24, 2012 Author Posted October 24, 2012 (edited) Hello Finally I'm able to boot without the NullAppleIntelCPUPowerManagement !!! I've extracted the SSDT tabe, put it in /Extra folder then unselected Generate P C States flags then selected DropSSDT flag and thats it Now..The sleep is properly working, just the pc wakes up immediately I wrote this command on terminal syslog -k Sender kernel -k Message Req Wake and Wake Reason is GLAN EHC1 EHC2 So I applyed EHCI patch and then sleep works, but in a very strange way: I have to press the power button several times and then i have to press a key on the keyboard to enable the screen; also when i close the lid its not going to sleep.. What else can I try? Maybe I can just edit _PRW and _PSW methods from GLAN and EHC1 EHC2? Thanks Edited November 5, 2012 by Guest
piter2619 Posted October 31, 2012 Author Posted October 31, 2012 (edited) any help ? Edited November 5, 2012 by Guest
pcnewpinky Posted November 5, 2012 Posted November 5, 2012 (edited) hei. anyone can help me to fix and patch my own clean extracted dsdt file ? RTC, HPET, Restart, Shutdown, Wake, Normal and High Performance CPU, and IDE/SATA fixed configuration... ? Edited November 17, 2012 by Guest
piter2619 Posted November 8, 2012 Author Posted November 8, 2012 edit: so applying ehci patch the system is going to sleep normally but when I want to wake it up I have to press the power button once then fan at max speed and computer waking up, then i have to press a second time the power button to enable the screen; if i press the power button just once the screen stays turned off. Any ideas on how to patch the DSDT in a way such that i have to press the power button once to have also the screen ready? Besides the wake up time is a bit longer, like 10 seconds while in windows 1 2 seconds Thanks
pcnewpinky Posted November 17, 2012 Posted November 17, 2012 edit: so applying ehci patch the system is going to sleep normally but when I want to wake it up I have to press the power button once then fan at max speed and computer waking up, then i have to press a second time the power button to enable the screen; if i press the power button just once the screen stays turned off.Any ideas on how to patch the DSDT in a way such that i have to press the power button once to have also the screen ready? Besides the wake up time is a bit longer, like 10 seconds while in windows 1 2 seconds Thanks hi. you need to fix _Wak and Wak method. and fix Processors HPET and another methods. _CRS , ..
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