Jump to content

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


d00d
 Share

1,771 posts in this topic

Recommended Posts

I made a few changes to my system yesterday which have caused my system to run differently. The main change I made was replacing my bootloader with a modified version of Chameleon/PC-EFI (found here: http://www.efixusers.com/showthread.php?t=644) called AsereBLN Booter. It allows the removal of kexts like OpenHaltRestart/EvoReboot and PlatformUUID. After installing it sleep doesn't seem to be working. The computer wakes, but the monitor doesn't come out of standby, but I don't get the continual GPU fan noise I would usually get when it didn't work before.

 

The only other change I made was to audio. I patched DSDT and installed LegacyHDA.kext to S/L/E.

 

I got a kernel panic when trying to shutdown, but restart seemed to work the first time.

 

I imagine the problem is caused by the bootloader. Anyone have any ideas?

I tried AsereBLN 1.1.8, restart works without additional kext, and sleep and resume from sleep works.

It's nice how it auto detects Hardware UUID, PCI root, CPU type and speed, Memory type, manufacturer, speed and serial number.

The only thing it doesn't detect is Processor Interconnect Speed, that still needs something like the following in smbios.plist;

<key>SMbusspeed</key>

<string>7200</string>

Link to comment
Share on other sites

I tried AsereBLN 1.1.8, restart works without additional kext, and sleep and resume from sleep works.

It's nice how it auto detects Hardware UUID, PCI root, CPU type and speed, Memory type, manufacturer, speed and serial number.

The only thing it doesn't detect is Processor Interconnect Speed, that still needs something like the following in smbios.plist;

<key>SMbusspeed</key>

<string>7200</string>

 

anyone had tried it with ATI4870?

 

i have to use PCEFI 10.5 with GraphicsEnabler = Yes in boot.plist

tried Chameleon RC4 before it is not working and generates KP.

 

right now i am booting 64bits

and only have 3 kexts

EvOreboot.kext

IOAHCIBlockStorageInjector.kext

fakesmc.kext

Link to comment
Share on other sites

I tried AsereBLN 1.1.8, restart works without additional kext, and sleep and resume from sleep works.

It's nice how it auto detects Hardware UUID, PCI root, CPU type and speed, Memory type, manufacturer, speed and serial number.

The only thing it doesn't detect is Processor Interconnect Speed, that still needs something like the following in smbios.plist;

<key>SMbusspeed</key>

<string>7200</string>

 

 

What is the hardware uuid? I thought it was arbitrary on a hackintosh?

 

ie you set it yourself or the boot file sets a random value, do you mean boot-uuid?

 

I'm using Corsair 1600Mhz RAM, it doesn't show a serial number even in everest on windows ;-(

Link to comment
Share on other sites

What is the hardware uuid? I thought it was arbitrary on a hackintosh?

 

ie you set it yourself or the boot file sets a random value, do you mean boot-uuid?

 

I'm using Corsair 1600Mhz RAM, it doesn't show a serial number even in everest on windows ;-(

It's IOPlatformUUID in ioreg, which is the system-id read from the CMOS in SMBIOS Table 1 and then hashed with SHA-1.

It's unique for each machine, but it can be manually set with SMUUID in smbios.plist, or system-id=no in com.apple.Boot.plist if you want to use PlatformUUID.kext to override (system-id=yes for the default DF557FA2-C304-556B-A442-960AB835CB5D?).

Link to comment
Share on other sites

Just a quick question at #14, it says:

To get audio working with the Realtek ALC889A, ALC888 and ALC889 without any additional kext, make modifications ...

Can I use those DSDT fixes for audio without any kexts on the UD3R? I'm curious as it looks like there are no pin configurations listed there.

Link to comment
Share on other sites

Just a quick question at #14, it says:

 

Can I use those DSDT fixes for audio without any kexts on the UD3R? I'm curious as it looks like there are no pin configurations listed there.

yes

 

update;

no

Link to comment
Share on other sites

I tried AsereBLN 1.1.8, restart works without additional kext, and sleep and resume from sleep works.

It's nice how it auto detects Hardware UUID, PCI root, CPU type and speed, Memory type, manufacturer, speed and serial number.

The only thing it doesn't detect is Processor Interconnect Speed, that still needs something like the following in smbios.plist;

<key>SMbusspeed</key>

<string>7200</string>

 

What do you use instead of that normally? I noticed you're not using any restart or UUID kexts.

Link to comment
Share on other sites

What do you use instead of that normally? I noticed you're not using any restart or UUID kexts.
When I had to restart the machine I would select Apple:Shut Down, then when it was shut down I would press the power button to start it up again.
Link to comment
Share on other sites

If you have a GA-EX58-UD5 with an i7 920 or Xeon W3520, i7 950 or Xeon W3550, or i7 975 or Xeon W3580, you can use BIOS F9m or F9p and the attached DSDT.aml (do 6 and 7), or read on if you only want selected modifications, or just like doing it yourself.

 

Hey Dood, I've been away for way too long and it's impressive to see the progress that's been made with DSDT in the community.

 

I havent tinkered with my (digital_dreamer) install since install but high CPU temps have led me back to the forums. I like to do things myself and will thoroughly read through your post on the front page - However, as a quick dirty trial to see if temps are reduced I wanted to use the provided DSDT in the first post to see if temps are reduced before I delve deeper with some fine tuning.

 

What I need to know - Is there a list of the required kexts required using your provided DSDT that ensures functionality (audio,network etc) for testing?

 

Many thanks for your work

Link to comment
Share on other sites

Hey Dood, I've been away for way too long and it's impressive to see the progress that's been made with DSDT in the community.

 

I havent tinkered with my (digital_dreamer) install since install but high CPU temps have led me back to the forums. I like to do things myself and will thoroughly read through your post on the front page - However, as a quick dirty trial to see if temps are reduced I wanted to use the provided DSDT in the first post to see if temps are reduced before I delve deeper with some fine tuning.

 

What I need to know - Is there a list of the required kexts required using your provided DSDT that ensures functionality (audio,network etc) for testing?

 

Many thanks for your work

You're welcome, the list is in post 1 before Links.
Link to comment
Share on other sites

anyone had tried it with ATI4870?

 

i have to use PCEFI 10.5 with GraphicsEnabler = Yes in boot.plist

tried Chameleon RC4 before it is not working and generates KP.

 

right now i am booting 64bits

and only have 3 kexts

EvOreboot.kext

IOAHCIBlockStorageInjector.kext

fakesmc.kext

 

 

Hi, no yet with my 4870, hope it will bring the sleep back; LOC get rid of the orange drives issue so there is a way to get rid of IOAHCIBlockStorageInjector/Orangeiconfix kexts.

Link to comment
Share on other sites

Hi, no yet with my 4870, hope it will bring the sleep back; LOC get rid of the orange drives issue so there is a way to get rid of IOAHCIBlockStorageInjector/Orangeiconfix kexts.

 

 

To get rid of the orange icons you need to edit your DSDT, I would first suggest searching for ESB2 on this site

 

Find Device (SATA) if you have it and change it to this, you possibly don't have SATA so find Device (IDE1) and (IDE2)

and delete them, replacing in the same region with the following

 

            
            Device (SATA)
           {
               Name (_ADR, 0x001F0002)
               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x02)
                       {
                           "device-id", 
                           Buffer (0x04)
                           {
                               0x81, 0x26, 0x00, 0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

 

 

However, before you do I should warn you to read this

 

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

 

having said that I've been using this for 2 months without issue on a WD drive so I'm not convinced of any danger

 

your risk though!

Link to comment
Share on other sites

Just a quick question at #14, it says:

 

Can I use those DSDT fixes for audio without any kexts on the UD3R? I'm curious as it looks like there are no pin configurations listed there.

 

I'm having a hard time getting sound to work without a kext. I followed the instructions in #14A, but built in sound isn't showing up. I do have a digidesign mbox (usb audio interface) installed, but I'm not sure if that has anything to do with it. I've posted a link to my dsdt.dsl if anyone wants to take a look and here's a screenshot of what system profiler has to say about the built in audio.

 

Thanks,

Ryan!

 

http://dl.dropbox.com/u/2605698/DSDT.dsl

SysProfiler.png

Link to comment
Share on other sites

I'm having a hard time getting sound to work without a kext. I followed the instructions in #14A, but built in sound isn't showing up. I do have a digidesign mbox (usb audio interface) installed, but I'm not sure if that has anything to do with it. I've posted a link to my dsdt.dsl if anyone wants to take a look and here's a screenshot of what system profiler has to say about the built in audio.

 

Thanks,

Ryan!

 

http://dl.dropbox.com/u/2605698/DSDT.dsl

What does running the following in Terminal give you?

[mac05:~] me% ioreg -lS -w0 |grep -A15 HDEF |grep name

| | | | "name" = "pci8086,3a3e"

[mac05:~] me%

Link to comment
Share on other sites

What does running the following in Terminal give you?

[mac05:~] me% ioreg -lS -w0 |grep -A15 HDEF |grep name

| | | | "name" = "pci8086,3a3e"

[mac05:~] me%

You'll have to excuse my terminal noviceness. I get "command not found" errors when I copy and paste the above code into terminal. I'm not sure I'm not entering it in properly.

 

When I enter:

ioreg -lS -w0 |grep -A15 HDEF |grep name

 

I get this result:

| | | | "name" = "pci8086,3a3e"

 

...but i'm not sure that's not the info you're looking for. If not, could you dumb down the terminal entry a bit or point me towards info that would help me understand it?

Ryan!

Link to comment
Share on other sites

You'll have to excuse my terminal noviceness. I get "command not found" errors when I copy and paste the above code into terminal. I'm not sure I'm not entering it in properly.

 

When I enter:

ioreg -lS -w0 |grep -A15 HDEF |grep name

 

I get this result:

| | | | "name" = "pci8086,3a3e"

 

...but i'm not sure that's not the info you're looking for. If not, could you dumb down the terminal entry a bit or point me towards info that would help me understand it?

Ryan!

Does the following work?

           Device (HDEF)
           {
               Name (_ADR, 0x001B0000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (Package (0x02)
                   {
                       0x0D, 
                       0x05
                   })
               }

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x06)
                       {
                           "subsystem-id", 
                           Buffer (0x04)
                           {
                               0x02, 0xA1, 0x00, 0x00   
                           },
                           "layout-id", 
                           Buffer (0x04)
                           {
                               0x42, 0x00, 0x00, 0x00   
                           },
                           "PinConfigurations",
                           Buffer (Zero) {}
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

Link to comment
Share on other sites

Does the following work?

           Device (HDEF)
           {
               Name (_ADR, 0x001B0000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (Package (0x02)
                   {
                       0x0D, 
                       0x05
                   })
               }

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x06)
                       {
                           "subsystem-id", 
                           Buffer (0x04)
                           {
                               0x02, 0xA1, 0x00, 0x00   
                           },
                           "layout-id", 
                           Buffer (0x04)
                           {
                               0x42, 0x00, 0x00, 0x00   
                           },
                           "PinConfigurations",
                           Buffer (Zero) {}
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

I'm afraid not. Now when I enter the ioreg command in terminal I get:

| | | "name" = "pci8086,3a3e"

 

which has one less "|" than before.

 

What else can I do to help trace the problem?

Ryan!

Link to comment
Share on other sites

I have just tried the above solution with my DSDT but it doesn't work. I tried the original and then I tried pasting in the correct pin configs for ALC888 and I still got nothing. I would probably be a wise idea to replace all the hex codes. Anyway, d00d I'm not sure how your solution is meant to work for both ALC888 and ALC889. Can you shed any light on the situation?

 

Anyway, I have a working DSDT fix that gives you perfect audio on the UD3R although it requires an additional kext in Extra/Extensions.

 

Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
	Return (Package (0x02)
	{
		0x0D, 
		0x05
	})
}

Method (_DSM, 4, NotSerialized)
{
	Store (Package (0x0A)
		{
			"built-in", 
			Buffer (One)
			{
				0x01
			}, 

			"codec-id", 
			Buffer (0x04)
			{
				0x88, 0x08, 0xEC, 0x10
			}, 

			"layout-id", 
			Buffer (0x04)
			{
				0x78, 0x03, 0x00, 0x00
			}, 

			"device-type", 
			Buffer (0x10)
			{
				"Realtek ALC888"
			}, 

			"PinConfigurations", 
			Buffer (0x28)
			{
				/* 0000 */	0x10, 0x90, 0xA1, 0x01, 0x20, 0x90, 0xA1, 0x02, 
				/* 0008 */	0x80, 0x30, 0x81, 0x01, 0x90, 0x40, 0x21, 0x02, 
				/* 0010 */	0x30, 0x40, 0x11, 0x01, 0x40, 0x40, 0x01, 0x01, 
				/* 0018 */	0x50, 0x60, 0x01, 0x01, 0x60, 0x20, 0x01, 0x01, 
				/* 0020 */	0x70, 0x61, 0x4B, 0x01, 0xA0, 0x01, 0xCB, 0x01
			}
		}, Local0)
	DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
	Return (Local0)
}
}

 

And the kext: http://dl.dropbox.com/u/790162/UD3R-LegacyHDA.zip

 

Hope this helps!

Link to comment
Share on other sites

I'm afraid not. Now when I enter the ioreg command in terminal I get:

| | | "name" = "pci8086,3a3e"

 

which has one less "|" than before.

 

What else can I do to help trace the problem?

Ryan!

Looks like layout-id 66 won't work with an ALC888.
Link to comment
Share on other sites

I have just tried the above solution with my DSDT but it doesn't work. I tried the original and then I tried pasting in the correct pin configs for ALC888 and I still got nothing. I would probably be a wise idea to replace all the hex codes. Anyway, d00d I'm not sure how your solution is meant to work for both ALC888 and ALC889. Can you shed any light on the situation?

 

Anyway, I have a working DSDT fix that gives you perfect audio on the UD3R although it requires an additional kext in Extra/Extensions.

 

Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
	Return (Package (0x02)
	{
		0x0D, 
		0x05
	})
}

Method (_DSM, 4, NotSerialized)
{
	Store (Package (0x0A)
		{
			"built-in", 
			Buffer (One)
			{
				0x01
			}, 

			"codec-id", 
			Buffer (0x04)
			{
				0x88, 0x08, 0xEC, 0x10
			}, 

			"layout-id", 
			Buffer (0x04)
			{
				0x78, 0x03, 0x00, 0x00
			}, 

			"device-type", 
			Buffer (0x10)
			{
				"Realtek ALC888"
			}, 

			"PinConfigurations", 
			Buffer (0x28)
			{
				/* 0000 */	0x10, 0x90, 0xA1, 0x01, 0x20, 0x90, 0xA1, 0x02, 
				/* 0008 */	0x80, 0x30, 0x81, 0x01, 0x90, 0x40, 0x21, 0x02, 
				/* 0010 */	0x30, 0x40, 0x11, 0x01, 0x40, 0x40, 0x01, 0x01, 
				/* 0018 */	0x50, 0x60, 0x01, 0x01, 0x60, 0x20, 0x01, 0x01, 
				/* 0020 */	0x70, 0x61, 0x4B, 0x01, 0xA0, 0x01, 0xCB, 0x01
			}
		}, Local0)
	DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
	Return (Local0)
}
}

 

And the kext: http://dl.dropbox.com/u/790162/UD3R-LegacyHDA.zip

 

Hope this helps!

So I tried this on my main install and it didn't work. But I tried a fresh install on my test drive with the same Extra folder as my main install and it worked.

This leads me to believe that my Mbox driver is in fact interfering with the dsdt audio fix somehow.

 

Lemme see if I can pin it down and get back to you guys.

Ryan!

Link to comment
Share on other sites

So I tried this on my main install and it didn't work. But I tried a fresh install on my test drive with the same Extra folder as my main install and it worked.

This leads me to believe that my Mbox driver is in fact interfering with the dsdt audio fix somehow.

 

Lemme see if I can pin it down and get back to you guys.

Ryan!

I figured it out. It had nothing to do with my Mbox. At some point, I had removed the original AppleHDA.kext from S/L/E. Once I put it back, everything was groovy.

 

However, once I got that back, I tried d00d's #14A method and the one he posted a few posts back both with and without LegacyHDA.kext as well as Callum's method, and only Callum's method with the LegacyHDA.kext worked for me.

 

In other news, I'd like to give DSDT graphics a try instead of my current EFI string, but I can't find a way to do it without using windows, to which I don't have easy access. Can someone point me in the right direction?

 

Thanks,

Ryan!

Link to comment
Share on other sites

I figured it out. It had nothing to do with my Mbox. At some point, I had removed the original AppleHDA.kext from S/L/E. Once I put it back, everything was groovy.

 

However, once I got that back, I tried d00d's #14A method and the one he posted a few posts back both with and without LegacyHDA.kext as well as Callum's method, and only Callum's method with the LegacyHDA.kext worked for me.

 

In other news, I'd like to give DSDT graphics a try instead of my current EFI string, but I can't find a way to do it without using windows, to which I don't have easy access. Can someone point me in the right direction?

 

Thanks,

Ryan!

You can use the following with C2RC4 in com.apple.Boot.plist;

<key>PciRoot</key>

<string>1</string>

<key>GraphicsEnabler</key>

<string>yes</string>

 

...or the following with ABLN1.1.x;

<key>GraphicsEnabler</key>

<string>yes</string>

 

Here's a DSDT modification for a different Nvidia GPU on a different MB (post 1689), but I'm not sure it's possible with the GA-EX58 and GA-X58A;

http://www.insanelymac.com/forum/index.php...518&st=1688

Link to comment
Share on other sites

 Share

×
×
  • Create New...