Jump to content

GA-EX58 and GA-X58A DSDT native power management modifications


d00d
 Share

1,771 posts in this topic

Recommended Posts

ok. Founded how to fix Hot Plug for Firewire ! :D

...................................................

IMPORTANT!

If you have somewere in _GPE

 

Notify (\_SB.PCI0.HUB0.FRWR, Zero)

or

Method (_L1A, 0, NotSerialized)

{

Notify (\_SB.PCI0.PCIB.FRWR, Zero)

Notify (\_SB.PWRB, 0x02)

}

 

REMOVE those entries!!!

...................................................

every Gigabyte board has

 

		Method (_L0B, 0, NotSerialized)
	{
		Notify (\_SB.PCI0.HUB0, 0x02)
	}

 

change it to this

 

		Method (_L0B, 0, NotSerialized)
	{
		Notify (\_SB.PCI0.HUB0, 0x02)
		Notify (\_SB.PWRB, 0x02)
	}

 

Under Device (HUB0) add this

 

				Device (FRWR)
			{
				Name (_ADR, 0x00060000) // find your address in Ioreg
				Name (_GPE, 0x0B)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x04)
						{
							"fwports", 
							Buffer (0x04)
							{
								0x03, 0x00, 0x00, 0x00
							}, 

							"fwswappedbib", 
							Buffer (0x04)
							{
								0x01, 0x00, 0x00, 0x00
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}

 

that's all. You will have firewire Hotplug and runtime power conservation working properly. ;)

Link to comment
Share on other sites

ok. Founded how to fix Hot Plug for Firewire ! :D

every Gigabyte board has

 

		Method (_L0B, 0, NotSerialized)
	{
		Notify (\_SB.PCI0.HUB0, 0x02)
	}

 

change it to this

 

		Method (_L0B, 0, NotSerialized)
	{
		Notify (\_SB.PCI0.HUB0, 0x02)
		Notify (\_SB.PCI0.HUB0.FRWR, Zero)
		Notify (\_SB.PWRB, 0x02)
	}

 

Under Device (HUB0) add this

 

				Device (FRWR)
			{
				Name (_ADR, 0x0006FFFF) // find your address in Ioreg
				Name (_GPE, 0x0B)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
						{
							"fwhub", 
							Buffer (0x04)
							{
								0x00, 0x00, 0x00, 0x00
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}

 

and THE MOST IMPORTANT PART

every Gigabyte board has

 

Method (^_INI, 0, NotSerialized)

and

Method (OSTP, 0, NotSerialized)

they are not Darwin frendly and must be edited !

 

from this

				Method (^_INI, 0, NotSerialized)
			{
				If (STRC (_OS, "Microsoft Windows"))
				{
					Store (0x56, SMIP)
				}
				Else
				{
					If (STRC (_OS, "Microsoft Windows NT"))
					{
						If (CondRefOf (\_OSI, Local0))
						{
							If (_OSI ("Windows 2001"))
							{
								Store (0x59, SMIP)
								Store (Zero, OSFL)
								Store (0x03, OSFX)
							}
						}
						Else
						{
							Store (0x58, SMIP)
							Store (Zero, OSFL)
						}
					}
					Else
					{
						Store (0x57, SMIP)
						Store (0x02, OSFL)
					}
				}
			}

			Scope (\)
			{
				Method (OSTP, 0, NotSerialized)
				{
					If (LEqual (OSFL, One))
					{
						Store (0x56, SMIP)
					}

					If (LEqual (OSFL, 0x02))
					{
						Store (0x57, SMIP)
					}

					If (LEqual (OSFL, Zero))
					{
						If (LEqual (OSFX, 0x03))
						{
							Store (0x59, SMIP)
						}
						Else
						{
							Store (0x58, SMIP)
						}
					}

					If (LEqual (OSFX, 0x03))
					{
						Store (0x59, SMIP)
					}
				}
			}

 

to this

				Method (^_INI, 0, NotSerialized)
			{
					Store (0x99, SMIP)
			}

			Scope (\)
			{
				Method (OSTP, 0, NotSerialized)
				{
						Store (0x99, SMIP)
				}
			}

 

that's all. You will have firewire Hotplug and runtime power conservation working properly. ;)

P.S. d00d - can you add this on front page?

Hmmm hotplug still doesn't work for me with this patch.
Link to comment
Share on other sites

Hmmm hotplug still doesn't work for me with this patch.

 

remove from Method (_L0B, 0, NotSerialized) this entry :

 

Notify (\_SB.PCI0.HUB0.FRWR, Zero)

 

and remove

Method (_L1A, 0, NotSerialized)

if you have it.

and tell if it works. ;)

 

and your DSDT in your sig is a real MESS :D

Link to comment
Share on other sites

				Device (FRWR)
			{
				Name (_ADR, 0x0006FFFF) // find your address in Ioreg
				Name (_GPE, 0x0B)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
						{
							"fwhub", 
							Buffer (0x04)
							{
								0x00, 0x00, 0x00, 0x00
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}

 

Thank you x.di for the post. How do I find the address of my firewire using the ioreg command in the terminal or by running IORegistryExplorer? I'm not that advanced.

Link to comment
Share on other sites

Hotplug still doesn't work for me!

Only after sleep with plugged audio interface!

 

Anyway Thanks for all your hard work!

 

just looked again in your dsdt and there are wrong address for firewire device.Just missed that before :P

Try this one dsdt :(

It Should work now.

DSDT.aml.zip

Link to comment
Share on other sites

feedback after the 10.6.3 on your rig guys?

 

Bad here so far. :rolleyes:

 

The update went fine, but upon restart the computer got stuck on ”MACH reboot”.

Did a manual reset and after that I got in to the OS just fine. I had no proper graphics acceleration, though, so I installed the new ”10.6.3 exotic patch pkg” from netkas.

After doing this and a restart (again getting stuck at MACH reboot and doing a manual reset) I get a 60% black screen with some garbled video on the top. The computer seems to freeze at this stage. I tried two times – same thing.

 

Back on 10.6.2 running on a separate hard drive.

 

Update:

All fine after installing the graphics fix from netkas: http://netkas.org/?p=382

 

Except the computer gets stuck at ”MACH Reboot” upon restarting, but I guess that's fixable (anyone?)

Link to comment
Share on other sites

Modified my DSDT per page 1 instructions parts 7,9,10,12 and 13 to enable full Mac Pro 4,1 power management on 10.6.2, "Start up automatically after power failure" and "Allow power button to put the computer to sleep" are active and checked in Energy Saver prefs. The computer will go into sleep and power down (S3 STR in BIOS) but will now KP on re-awakening. I do not have AppleTyMCEdriver.kext in S/L/E as it was causing panics prior to this. Sleep was working 100% before the modification.

Link to comment
Share on other sites

feedback after the 10.6.3 on your rig guys?

 

I had no issues on my EX58-UD5 with d00d's DSDT, GTS 250, GraphicsEnabler=y, PciRoot=1, and 4 + 1 kexts: ALC889a, fakesmc, OpenHaltRestart and OrangeIconFix on EFI partition plus RealtekR1000SL in S/L/E.

 

I updated using Apple's built-in software update. Thanks d00d! You really are a dude.

Link to comment
Share on other sites

Update via Software Update worked perfect. Just repair/rebuild caches after install and reboot.

 

Kexts in /E/E: OrangeIconFix.kext, fakesmc.kext

Kexts in S/L/E: RealtekR1000SL.kext

 

reboot,sleep, well everything works.

 

Just have to get into fixing speed steps once and for all.. Anyone who can post their macpro4,1.plist? also, do you have change values in it if you change clockspeed of cpu?

 

edit:

 

wooooops... not everything works. :) Sound is gone.

 

I used ANARCHiNTOSH patched AppleHDA.kext with 10.6.2. worked perfect. Those who have sound on ga-ex58-ud5 after 10.6.3: what kext/solution are you using?

Link to comment
Share on other sites

 Share

×
×
  • Create New...