Jump to content
  • Announcements

    • Allan

      Forum Rules   04/13/2018

      Hello folks! As some things are being fixed, we'll keep you updated. Per hour the Forum Rules don't have a dedicated "Tab", so here is the place that we have our Rules back. New Users Lounge > [READ] - InsanelyMac Forum Rules - The InsanelyMac Staff Team. 
sirbow2

{guide}DSDT mods/hacks

1 post in this topic

Recommended Posts

i was thinking of making a topic of just pure DSDT mods/ hacks. most DSDT topis are full of questions by of how do i fix these errors or something, not actual how to mod a DSDT ;) . it would be helpful because in my experience DSDT mods/help i buried in hundreds of post in multiple topics. if everyone could post some use full dsdt modding info here such as how to add native ethernet support or add pin configs, it would make modding a DSDT much easier for every user of this fourm. all the info for modding a DSDT would be in one place. i hope you see why i created this post.

 

i am not complaining or what some people would call flaming or whatever.

 

Orange HD fix:

 

Add these line to your sata device:

Method (_DSM, 4, NotSerialized)
{
Return (MCID (Arg2, 0x26818086))
}

 

So it looks like this

Device (SATA)
		{
			Name (_ADR, 0x001F0002)
			Method (_DSM, 4, NotSerialized)
			{
				Return (MCID (Arg2, 0x26818086))
			}

			Device (PRT0)
			{

 

 

HPET Fix:

HPET fix allows you to use native apple cpu management

Add this to your HPETY device in your DSDT:

   IRQNoFlags ()
   {0}
  IRQNoFlags ()
   {8}

It would look like this:

Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (_CID, EisaId ("PNP0C01"))
Name (BUF0, ResourceTemplate ()
{
   IRQNoFlags ()
	  {0}
   IRQNoFlags ()
	  {8}
	Memory32Fixed (ReadOnly,
		0xFED00000,		 // Address Base
		0x00000400,		 // Address Length
		_Y0F)
})

 

Method DTGP:

method DTGP is required by some DSDT hacks, it is best to place it at the beginning of the DSDT

Method (DTGP, 5, NotSerialized)
{
	If (LEqual (Arg0, Buffer (0x10)
			{
				/* 0000 */	0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
				/* 0008 */	0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
			}))
	{
		If (LEqual (Arg1, One))
		{
			If (LEqual (Arg2, Zero))
			{
				Store (Buffer (One)
					{
						0x03
					}, Arg4)
				Return (One)
			}

			If (LEqual (Arg2, One))
			{
				Return (One)
			}
		}
	}

	Store (Buffer (One)
		{
			0x00
		}, Arg4)
	Return (Zero)
}

 

Error fixing:

 

If you get this error:

./dsdt_fixed.txt   222:	 Method (_WAK, 1, NotSerialized)
Warning  1080 -						^ Reserved method must return a value (_WAK)

add this, to the end of your _WAK method in your DSDT:

Return(Package(0x02){0x00, 0x00})

so it looks like this:

Method (_WAK, 1, NotSerialized)
{

	Notify (\_SB.PCI0.USB0, Zero)
	Notify (\_SB.PCI0.USB1, Zero)
	Notify (\_SB.PCI0.USB2, Zero)
	Notify (\_SB.PCI0.USB3, Zero)
	Notify (\_SB.PCI0.USB4, Zero)
	Notify (\_SB.PCI0.USB5, Zero)
	Return(Package(0x02){0x00, 0x00})  <------ Add here
}

 

 

Also here are two DSDT's that have been edited and slimmed to deliver the best performance for a "hack", they also contain annotations for the edits in the DSDT, the ep45 has the most annotations. the ep45 was mostly edited by MasterChief

 

feel free to post your own DSDT mods/hacks in a comment

Aargh_v4.0_dsdt.dsl.zip

dsdt_EP45_UD3P_Q6600.dsl.zip

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.



×