Jump to content

Asus P5Q & 10.6 Sleep Go


4 posts in this topic

Recommended Posts

After great annoyance of having the fans of my computer run 24/7, I decided to attempt to find a fix.

Here is what worked for me, and hopefully it will help your system also (@ your own risk...)

 

I initially tried the sleepenabler.kext found @ http://code.google.com/p/xnu-sleep-enabler/

 

I didn't work though, even with pmVersion = 20 (because 10.6.4.)

After installing this in /E/E & S/L/E and having no luck, I decided to leave it in both places.

 

My next step was to attempt to make a modified dsdt.aml file so I coud remove nullcpupowermanagement.kext.

I initially attempted to use the DSDT patcher created by fassl: http://www.insanelymac.com/forum/index.php?showtopic=133683. With this I was able to extract and create a dsdt.aml file.

 

Now to what worked!

1. Download DSDTSE from http://www.kexts.com/view/78-evosx86_dsdt_editor.html.

2. Extract the DSDT using the above program.

3. Now start to make some changes via "DSDT hacks."

a. Method DTGP.dsl (not sure if this is needed, but I read elsewhere it is recommended when making changes :unsure:

b. HPET fix.dsl (allows for the removal of nullcpupowermanagement.kext from /E/E, allowing for the chance of sleep to work because your computer will now use AppleIntelCPUPowerManagement.kext *I think...*)

c. _WAK hack.dsl (enables sleep)

4. Step (c.) might not be needed, but I am unsure since I did not approach this with a scientific mind.

5. Now you need to place the modified dsdt.aml into /E folder

a. Edit your com.apple.Boot.plist to account for a dsdt.aml

b. Example: <key>DSDT</key>

<string>/Extra/dsdt.aml</string>

6. Remove the nullcpupowermanagement.kext from /E/E

7. Run Kext Utility.app ( http://www.insanelymac.com/forum/index.php?showtopic=140647 )

8. Cross your fingers, restart & attempt to make your computer sleep!

 

Notes

~ After making the above changes, I was unable to reboot unless I used the newer FakeSMCv.2.5

~ I have since upgraded the newest FakeSMCv.2.5 which allows for iStat monitoring of temperatures, fans, etc which has been great (though I had to install it in /S/L/E)

 

Hope it helps, and respond with any questions!

Link to comment
Share on other sites

You don't need to set the path for DSDT.aml in com.apple.boot.plist when DSDT.aml is located in the default path (/Extra).

 

Method DTGP is only needed if you're using DSDT patches that call that method.

If your only modifications are the ones you listed, you don't need it.

 

DSDTSE comes from here: http://www.osx86.es/?p=610 (always go to the source!)

A new, cross-platform DSDT editor by El Coniglio and OldNapalm:

http://www.insanelymac.com/forum/index.php?showtopic=223205

Latest version of the IASL ACPI language compiler/decompiler for OS X courtesy of mitch_de here:

http://www.insanelymac.com/forum/index.php?showtopic=189272

 

If your board has the ICH10R Southbridge, in addition to what you said, you will need to add code that overrides the Device ID of the motherboard LPC device so that AppleLPC.kext loads. This in turn requires the DTGP method. In the DSDT, the LPC device is named PX40 on Gigabyte boards and SBRG on ASUS boards. There's loads of info on this subject floating around. Here's some:

http://www.insanelymac.com/forum/index.php...t&p=1306375

http://www.insanelymac.com/forum/index.php?showtopic=209896

 

Here's a working code example from ASUS P5Q-E DSDT with SBRG renamed to LPCB (that's the device name Apple uses) - note the DTGP caller.

 

			Device (LPCB)
		{
			Name (_ADR, 0x001F0000)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x18, 0x3A, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

 

I believe the device ID override code was first demonstrated by zhell in this thread (lots of meat on this one, including fixes for Intel ICHx SATA and USB):

http://www.insanelymac.com/forum/index.php?showtopic=168014

 

Another widely spread DSDT hack that can fix many issues (such as slow SATA transfers and sound skipping) is removing or modifying IRQNoFlags from various devices in the DSDT as explained by THe KiNG in this thread:

http://www.projectosx.com/forum/index.php?showtopic=564

 

The mother of all DSDT hacks, vanilla speedstepping:

http://www.insanelymac.com/forum/index.php?showtopic=181631

http://efixusers.com/showthread.php?t=533

 

Bonus DSDT goldmine threads:

http://www.insanelymac.com/forum/index.php?showtopic=192518

http://www.insanelymac.com/forum/index.php...t&p=1280888

 

Happy hacking!

Link to comment
Share on other sites

You don't need to set the path for DSDT.aml in com.apple.boot.plist when DSDT.aml is located in the default path (/Extra).

 

Method DTGP is only needed if you're using DSDT patches that call that method.

If your only modifications are the ones you listed, you don't need it.

 

DSDTSE comes from here: http://www.osx86.es/?p=610 (always go to the source!)

A new, cross-platform DSDT editor by El Coniglio and OldNapalm:

http://www.insanelymac.com/forum/index.php?showtopic=223205

Latest version of the IASL ACPI language compiler/decompiler for OS X courtesy of mitch_de here:

http://www.insanelymac.com/forum/index.php?showtopic=189272

 

If your board has the ICH10R Southbridge, in addition to what you said, you will need to add code that overrides the Device ID of the motherboard LPC device so that AppleLPC.kext loads. This in turn requires the DTGP method. In the DSDT, the LPC device is named PX40 on Gigabyte boards and SBRG on ASUS boards. There's loads of info on this subject floating around. Here's some:

http://www.insanelymac.com/forum/index.php...t&p=1306375

http://www.insanelymac.com/forum/index.php?showtopic=209896

 

Here's a working code example from ASUS P5Q-E DSDT with SBRG renamed to LPCB (that's the device name Apple uses) - note the DTGP caller.

 

			Device (LPCB)
		{
			Name (_ADR, 0x001F0000)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x18, 0x3A, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

 

I believe the device ID override code was first demonstrated by zhell in this thread (lots of meat on this one, including fixes for Intel ICHx SATA and USB):

http://www.insanelymac.com/forum/index.php?showtopic=168014 <-- if your motherboard has an Intel chipset and your USB ports come up as located on a PCI expansion card in System Profiler, you'll definitely want to follow this link.

 

Another widely spread DSDT hack that can fix many issues (such as slow SATA transfers and sound skipping) is removing or modifying IRQNoFlags from various devices in the DSDT as explained by THe KiNG in this thread:

http://www.projectosx.com/forum/index.php?showtopic=564

 

The mother of all DSDT hacks, vanilla speedstepping:

http://www.insanelymac.com/forum/index.php?showtopic=181631

http://efixusers.com/showthread.php?t=533

 

Bonus DSDT goldmine threads:

http://www.insanelymac.com/forum/index.php?showtopic=192518

http://www.insanelymac.com/forum/index.php...t&p=1280888

 

Happy hacking!

 

 

Gringo Vermelho,

 

THANKS for your reply! It has given me an overwhelming amount of new information! I appreciate your time in explaining the purpose of DTGP, & showing where it is called in the latter example!

 

Peace.

Link to comment
Share on other sites

  • 6 years later...

I've got as far learning to edit a DSDT over the past 3 days and managed to get all the fixes applied except HPET and also learned how to rename my Asus boards' SBRG to LPCB thank to this post and also to this great guide.

 

I actually did have power management working OK but not 100%. It would reach it's idle states but never clock past 3.3 Ghz into it Turbo States of up to 3.9 Ghz. 

 

I eventually discovered due to the way I was booting from a Clover Partition on my SSD that Clover kept loading NullCPUPowerManagement.kext which I removed yesterday and now all power management is lost despite the fact that I have a spiffy edited DSDT of my own and an SSDT created by ssdtPRGen

 

I will try adding you HPET fix into my DSDT and see if I can make progress otherwise I think yet another fresh install is on the cards to make sure there is nothing lurking from all the methods I have tried that is now breaking it.

 

If I have any success I will certainly post back here, thanks for the info. 

Link to comment
Share on other sites

 Share

×
×
  • Create New...