Jump to content

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


d00d
 Share

1,771 posts in this topic

Recommended Posts

Lion and 10.6.8 AppleHDA.Kext doesnt work with legacy kexts anymore.

 

Apple moved parts of the plists to 2 xml files (platforms.xml and layoutid.xml in Ressources. We cant inject into these xml files as we could with the plists.

 

Attached is a modded AppleHDA.kext (Lion DP3) for ALC889a. It needs DSDT modification HDEF with layout id 12. Credit goes to the King. Replace the AppleHDA.kext in S/L/E and remove the applehda legacy kext from /Extra/Extensions and create new Extensions.mkext applehda_liondp3_layoutid12.zip.

Link to comment
Share on other sites

  • 2 weeks later...

Hi all,

Just a heads up for people using these DSDT mods with Lion. Even with a modded RTC entry in DSDT, I found I got a CMOS reset on reboot, after I had slept and woke the system. However there is a thread that details this, and a fix is available by patching AppleRTC.kext which works for me in Lion DP4.

 

http://www.insanelymac.com/forum/index.php...p;#entry1689815

 

Cheers

Jon

Link to comment
Share on other sites

  • 2 weeks later...

I have this in kernel.log after upgraded to 10.6.8

Jun 23 19:20:41 localhost kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios 0001
Jun 23 19:20:41 localhost kernel[0]: AppleIntelCPUPowerManagement: (built 16:44:42 Jun  7 2011) initialization complete

 

UPDATE: The sound is back after I fixed the DSDT to follow option D from post #1

there are "Sound assertion" messages but the sound seems good

Jun 23 19:55:09 GigaMacPro kernel[0]: Sound assertion "0 == fMikeyDriver" failed in AppleHDADriver at line 1485 goto handler
Jun 23 19:55:10 GigaMacPro kernel[0]: Sound assertion "0 != result" failed in AppleHDAWidget at line 3866 goto handler
Jun 23 19:55:10 GigaMacPro kernel[0]: Sound assertion "0 != widget->setUnsolicited ( true )" failed in AppleHDACodecGeneric at line 1153 goto handler

 

below is before I fixed the DSDT

and the sound is gone

un 23 19:20:53 GigaMacPro kernel[0]: ** Device in slot: SLOT-1 **
Jun 23 19:20:55 GigaMacPro kernel[0]: Sound assertion "0 != result" failed in AppleHDADriver at line 883 goto Exit
Jun 23 19:20:55 GigaMacPro kernel[0]: Sound assertion "!me->fKextResourceLoaded" failed in AppleHDADriver at line 858 goto Exit
Link to comment
Share on other sites

10.6.8 AppleHDA.kext no sound assertions for alc889a

 

http://www.mediafire.com/?199sg2w2zze5df4

 

modded are

1. Platforms.xml in AppleHDA.kext/Contents/Resources

2. Layout12.xml in AppleHDA.kext/Contents/Resources

3. info.plist in AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents

 

 

needs DSDT edit HDEF patch with layout id 12 (0x0C)

 

replace AppleHDA.kext in S/L/E and remove legacy kext from extra/extensions -repair permisssions

Link to comment
Share on other sites

I have this in kernel.log after upgraded to 10.6.8

Jun 23 19:20:41 localhost kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios 0001
Jun 23 19:20:41 localhost kernel[0]: AppleIntelCPUPowerManagement: (built 16:44:42 Jun  7 2011) initialization complete

 

Right, thanks for the pointer. I also have Turbo Ratios 0001 in kernel.log and can see that speedstepping is active by looking at IO Reg's APCI_SMC_PlatformPlugin CPUPlimit which returns 0x0.

 

My temps are consistently 6C higher than with 10.6.7

Jun 23 23:01:48 localhost kernel[0]: [ PCI configuration begin ]
Jun 23 23:01:48 localhost kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios 0001
Jun 23 23:01:48 localhost kernel[0]: AppleIntelCPUPowerManagement: (built 16:44:42 Jun  7 2011) initialization complete
Jun 23 23:01:48 localhost kernel[0]: console relocated to 0xf10000000
Jun 23 23:01:48 localhost kernel[0]: PCI configuration changed (bridge=7 device=3 cardbus=0)RTC: Only single RAM bank (128 bytes)
Jun 23 23:01:48 localhost kernel[0]: [ PCI configuration end, bridges 13 devices 32 ]
Jun 23 23:01:48 localhost kernel[0]: mbinit: done (64 MB memory set for mbuf pool)
Jun 23 23:01:48 localhost kernel[0]: From path: "uuid", 
Jun 23 23:01:48 localhost kernel[0]: Waiting for boot volume with UUID 95XXXD99-376E-3X11-XXXX-4XXXXXXXXX
Jun 23 23:01:48 localhost kernel[0]: Waiting on <dict ID="0"><key>IOProviderClass</key><string ID="1">IOResources</string><key>IOResourceMatch</key><string ID="2">boot-uuid-media</string></dict>
Jun 23 23:01:48 localhost kernel[0]: FakeSMC: Opensource SMC device emulator by netkas © 2009
Jun 23 23:01:48 localhost kernel[0]: FakeSMC: Monitoring plugins support by mozodojo © 2010
Jun 23 23:01:48 localhost kernel[0]: FakeSMC: Original idea of plugins and code sample by usr-sse2 © 2010
Jun 23 23:01:48 localhost kernel[0]: com.apple.AppleFSCompressionTypeZlib kmod start
Jun 23 23:01:48 localhost kernel[0]: com.apple.AppleFSCompressionTypeZlib load succeeded
Jun 23 23:01:48 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready

Link to comment
Share on other sites

10.6.8 AppleHDA.kext no sound assertions for alc889a

 

http://www.mediafire.com/?199sg2w2zze5df4

 

modded are

1. Platforms.xml in AppleHDA.kext/Contents/Resources

2. Layout12.xml in AppleHDA.kext/Contents/Resources

3. info.plist in AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents

 

 

needs DSDT edit HDEF patch with layout id 12 (0x0C)

 

replace AppleHDA.kext in S/L/E and remove legacy kext from extra/extensions -repair permisssions

Thanks aschar1.

 

Updated to 10.6.8 and I seem to have lost my power management.

 

Running 6-8C hotter at idle and no indication of turbo ratios 1112 on bootup.

 

Anyone else experiencing similar?

Does adding the following to com.apple.Boot.plist give you CStates for lower CPU temperatures (see post 1, notes 5 and 21);

<key>GenerateCStates</key>

<string>yes</string>

 

CSTInfo has been renamed to AICPMVers in ioreg at IOService:/AppleACPIPlatformExpert/CPU0@0/AppleACPICPU/ACPI_SMC_PlatformPlugin as of 10.6.8.

 

As for the missing turbo multipliers seen in kernel.log, looking in ioreg at IOService:/AppleACPIPlatformExpert/CPU0@0/AppleACPICPU/ACPI_SMC_PlatformPlugin I still see 10 values in the PState's PerformanceStateArray, so the message may be only cosmetic and not functional.

Link to comment
Share on other sites

Thanks aschar1.

 

Does adding the following to com.apple.Boot.plist give you CStates for lower CPU temperatures (see post 1, notes 5 and 21);

<key>GenerateCStates</key>

<string>yes</string>

 

CSTInfo has been renamed to AICPMVers in ioreg at IOService:/AppleACPIPlatformExpert/CPU0@0/AppleACPICPU/ACPI_SMC_PlatformPlugin as of 10.6.8.

 

As for the missing turbo multipliers seen in kernel.log, looking in ioreg at IOService:/AppleACPIPlatformExpert/CPU0@0/AppleACPICPU/ACPI_SMC_PlatformPlugin I still see 10 values in the PState's PerformanceStateArray, so the message may be only cosmetic and not functional.

 

Thanks, already had

<key>GenerateCStates</key>

<string>yes</string>

in com.apple.Boot.plist

 

I'm also seeing the same values in ACPI_SMC_PlatformPlugin, can't yet understand why temps are higher, very puzzling.

post-204913-1308933799_thumb.png

Link to comment
Share on other sites

I just checked my kernel log and found that I haven't had turbo ratios since June 17. I don't remember making any changes on that day. What's interesting is that you can see the log message changed on the 23rd when I installed 10.6.8. Any thoughts?

 

Jun 17 13:00:06 localhost kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios 1112
Jun 17 13:00:06 localhost kernel[0]: AppleIntelCPUPowerManagement: initialization complete
Jun 17 13:00:06 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Jun 17 15:26:58 localhost kernel[0]: AppleIntelCPUPowerManagement: initialization complete
Jun 17 15:26:58 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Jun 17 18:25:11 localhost kernel[0]: AppleIntelCPUPowerManagement: initialization complete
Jun 17 18:25:11 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Jun 19 18:42:48 localhost kernel[0]: AppleIntelCPUPowerManagement: initialization complete
Jun 19 18:42:48 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Jun 23 16:49:38 localhost kernel[0]: AppleIntelCPUPowerManagement: initialization complete
Jun 23 16:49:38 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Jun 23 16:58:22 localhost kernel[0]: AppleIntelCPUPowerManagement: (built 16:44:42 Jun  7 2011) initialization complete
Jun 23 16:58:22 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Jun 23 17:06:24 localhost kernel[0]: AppleIntelCPUPowerManagement: (built 16:44:42 Jun  7 2011) initialization complete
Jun 23 17:06:24 localhost kernel[0]: AppleIntelCPUPowerManagementClient: readyGo
Jun 23 17:10:17 localhost kernel[0]: AppleIntelCPUPowerManagement: (built 16:44:42 Jun  7 2011) initialization complete
Jun 23 17:10:17 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Jun 24 22:36:26 localhost kernel[0]: AppleIntelCPUPowerManagement: (built 16:44:42 Jun  7 2011) initialization complete
Jun 24 22:36:26 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Jun 24 22:51:12 localhost kernel[0]: AppleIntelCPUPowerManagement: (built 16:44:42 Jun  7 2011) initialization complete
Jun 24 22:51:12 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready

Link to comment
Share on other sites

Updated to 10.6.8 and I seem to have lost my power management.

 

Running 6-8C hotter at idle and no indication of turbo ratios 1112 on bootup.

 

Anyone else experiencing similar?

 

Yes - spot on, 6-8C hotter here as well (eeep!)

Link to comment
Share on other sites

10.6.8 AppleHDA.kext no sound assertions for alc889a

 

http://www.mediafire.com/?199sg2w2zze5df4

 

modded are

1. Platforms.xml in AppleHDA.kext/Contents/Resources

2. Layout12.xml in AppleHDA.kext/Contents/Resources

3. info.plist in AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents

 

 

needs DSDT edit HDEF patch with layout id 12 (0x0C)

 

replace AppleHDA.kext in S/L/E and remove legacy kext from extra/extensions -repair permisssions

it works also on the ALC889?

Link to comment
Share on other sites

@ Rankrotten

Thanks for the file :P but unfortunately Force Sleep/Shutdown issues are still the same :) I have not checked as yet to see what's different between our dsdt's as yet though........

Are you on F5 or F6 ?

 

On a separate note i saw a while back you stated that you have an External @ Gsata port which works but have you noticed this? or can you check to see if it happens to you plz......

 

I have a WD 2TB in an External enclosure (Rosewill RX385 V2) connected at the back panel (USB/Esata) combo port via Sata connection.The drive shows up as Internal an i can Mount/Unmount it without problems......

The issue is that if i unmount then Power off the External case,then power it back on,after it mounts under system profiler it changes from

JMicron JMB363 AHCI:

 

Vendor: JMicron

Product: JMB363 AHCI

Link Speed: 3 Gigabit

Negotiated Link Speed: 3 Gigabit

Description: AHCI Version 1.00 Supported

TO

JMicron JMB363 AHCI:

 

Vendor: JMicron

Product: JMB363 AHCI

Link Speed: 3 Gigabit

Negotiated Link Speed: 1.5 Gigabit

Description: AHCI Version 1.00 Supported

Link to comment
Share on other sites

Dajjal

 

I'm still on BIOS F5 but will update now to F7J and report back.

 

My ESATA connection via back panel combo connector reports the negotiated speed at 1.5 Gigabits. I'm not running with the JMicron kext so don't know if that's an issue here. Will report back after updating the motherboard BIOS.

post-204913-1309302241_thumb.png

Link to comment
Share on other sites

Before you do twaektown has F7 while Gigabyte has F7J .......

i have also solved my issue so a note to others if this happens to you.The Realtek RTG 2.0.6 driver is what broke my Sleep/Shutdown! Removing this brings my system back to it's former Glory...........Bless

Link to comment
Share on other sites

Before you do twaektown has F7 while Gigabyte has F7J .......

i have also solved my issue so a note to others if this happens to you.The Realtek RTG 2.0.6 driver is what broke my Sleep/Shutdown! Removing this brings my system back to it's former Glory...........Bless

 

I used the @bios tool to update the motherboard and it grabbed version F7 from Gigabyte as the latest, no indication of a beta (F7J) so I'll presume it's the same as the version on tweaktown?

 

On startup it updated the on-chip SATA3 firmware.

 

Tried the eSATA and it was still showing Unknown AHCI Standard Controller at 1.5 Gigabit negotiated speed.

 

Installed the JMicron 36xx package and it now shows thus:

 

post-204913-1309306316_thumb.png

 

But a hot swap has the same effect on my machine as on yours and the negotiated link falls back to 1.5 Gigabits. Very strange.

 

post-204913-1309306420_thumb.png

 

A final thought, is the eSATA chip not a JMB362 as opposed to the JMB363 as listed in the profiler?

Link to comment
Share on other sites

I dont know what's the difference between the 2 Bios updates to be honest, all i found was that It added 3Tb support.....

Well according to the Board Spec's it's JMB362 so i i'm not sure why it says JMB363.......

 

I did some Test which i posted over at TonyM's but i could not really say if the speed was drastically Decreased cause the test's varied a bit before and after.......

http://www.tonymacx86.com/viewtopic.php?f=7&t=21444

Link to comment
Share on other sites

Hello Rankrotten and Dajjal,

 

In my experience trying to get hot swap to work, I would get 3.0 Gigabit negotiated speed only if the drive was mounted at startup. Any drive the was mounted or remounted at a later point would connect at 1.5 Gigabit. This drove me crazy so I stopped using it. I was however able to get true hotswap (except for the full speed part) using this thread and JMB36X chipset.

 

I inserted this code at the end of Device (PEX0)

 

                Device (EATA)
               {
                   Name (_ADR, Zero)
                   OperationRegion (BAR0, PCI_Config, 0x40, 0x04)
                   Field (BAR0, WordAcc, NoLock, Preserve)
                   {
                           Offset (0x00),
                       M1, 8,
                           Offset (0x01),
                       M2, 8,
                           Offset (0x02),
                       M3, 8
                   }

                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (0xb3, M1)
                       Store (0xa1, M2)
                       Store (0xc2, M3)
                       Return (0x00)
                   }
               }

               Device (EPTA)
               {
                   Name (_ADR, One)
                   OperationRegion (BAR0, PCI_Config, 0x40, 0x04)
                   Field (BAR0, WordAcc, NoLock, Preserve)
                   {
                           Offset (0x00),
                       M1, 8,
                           Offset (0x01),
                       M2, 8,
                           Offset (0x02),
                       M3, 8
                   }

                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Zero, M1)
                       Store (Zero, M2)
                       Store (Zero, M3)
                       Return (Zero)
                   }
               }

 

Unfortunately, I can't remember if I was using a PCIe card with a Jmicron chip or the onboard chip. The above code will work with either, it's just a matter of inserting it into to the proper location/address space within the DSDT.

 

EDIT: The above DSDT edit is for JMB 36x chipsets only where true hot swap is not working. True hot swap is defined by the ability to mount a drive, physically eject it, and insert a different drive on the same port and have it automatically mount. If hot swap is already working for you on your JMB 36x ports then you do not need this edit. Drives mounted in this fashion will connect at 1.5 Gigabits regardless of their interface speed. This is not fixable as far as I can tell. Finally, the location of the above edit varies based on your motherboard. Do not insert it without first checking the address of your Jmicron chipset(s).

Link to comment
Share on other sites

Hi FUT1L1TY

 

Tried your DSDT edits but it changed my main SATA ports from ICH10 to ESB2 AHCI which is not correct for my board. It's probably only cosmetic as the data transfer rate was the same as before.

 

Hotswap was never a problem for the eSATA on my machine and it still works fine.

 

Thanks for the info and I'll have a further look at the edits.

Link to comment
Share on other sites

UPDATE: Problem solved.

I created another account and copied dock preferences from this new account into the current one.

I guess it was nothing to do with 10.6.8.

Thanks guys.

 

 

After upgrading to 10.6.8, now I noticed in Activity Monitor the Dock process hovers around 100% of CPU.

Anyone has the same issue?

Any pointers for me on what to check?

 

post-508994-1309450629_thumb.png

Link to comment
Share on other sites

Hi FUT1L1TY

 

Tried your DSDT edits but it changed my main SATA ports from ICH10 to ESB2 AHCI which is not correct for my board. It's probably only cosmetic as the data transfer rate was the same as before.

 

Hotswap was never a problem for the eSATA on my machine and it still works fine.

 

Thanks for the info and I'll have a further look at the edits.

 

Please read my edit to my original post.

Link to comment
Share on other sites

I just thought i should Post this here instead of the Lion thread since it's kinda more DSDt i guess :blink: .Can anyone else confirm that this is what their Logs say?

10.6.8

[ PCI configuration begin ]

localhost kernel[0]: console relocated to 0xf10000000

localhost kernel[0]: PCI configuration changed (bridge=4 device=3 cardbus=0)

localhost kernel[0]: [ PCI configuration end, bridges 10 devices 33 ]

localhost kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios 0001

localhost kernel[0]: AppleIntelCPUPowerManagement: (built 16:44:42 Jun 7 2011) initialization complete

10.7 GM
[ PCI configuration begin ]

localhost kernel[0]: console relocated to 0xf10000000

localhost kernel[0]: PCI configuration changed (bridge=4 device=3 cardbus=0)

localhost kernel[0]: [ PCI configuration end, bridges 10 devices 33 ]

localhost kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios 1112

localhost kernel[0]: AppleIntelCPUPowerManagement: (built 13:08:12 Jun 18 2011) initialization complete

Link to comment
Share on other sites

I've just noticed that after updating to 10.6.7 back in March I'm not getting turbo ratios.

This is my kernel log when searching the string 'local kernel[0]: AppleIntel':

Mar  1 23:47:23 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Mar  8 01:05:27 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Mar  9 00:30:54 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Mar  9 18:15:48 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Mar  9 18:40:18 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Mar 28 22:26:52 localhost kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios 1112
Mar 28 22:26:52 localhost kernel[0]: AppleIntelCPUPowerManagement: initialization complete
Mar 28 22:26:52 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Mar 28 22:37:01 localhost kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios 1112
Mar 28 22:37:01 localhost kernel[0]: AppleIntelCPUPowerManagement: initialization complete
Mar 28 22:37:01 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Jun 25 01:09:43 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Jun 29 11:06:18 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Jun 29 14:55:08 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready

 

As you can see I'm getting Turbo ratios back in March before I updated to 10.6.7, since then I'm just getting 'ready', no 'Turbo ratios 1112'.

 

I've noticed talk of adding 'generate c and p states - yes' to com.apple.boot.plist, but have not added them.

This is the contents of my com.apple.boot.plist:

<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>GraphicsEnabler=Yes</string>
<key>Timeout</key>
<string>1</string>

 

I have attached my dsdt but this has been edited to allow for native power management.

 

ex58-ud5 rev.1

 

Thanks in advance

DSDT.aml.zip

Link to comment
Share on other sites

James-Littlers-Mac:~ James$ ioreg -lw0 | grep PerformanceStateArray
| |   | |   "PerformanceStateArray" = (<e90a0000d0fb01000a0000000a0000000015000000150000>,<640a0000d0fb01000a0000000a0000000014000000140000>,<df090000c8a901000a0000000a0000000013000000130000>,<5a090000a08601000a0000000a0000000012000000120000>,<d5080000384401000a0000000a0000000011000000110000>,<50080000e02801000a0000000a0000000010000000100000>,<cb07000018f600000a0000000a000000000f0000000f0000>,<46070000a8de00000a0000000a000000000e0000000e0000>,<c106000098b700000a0000000a000000000d0000000d0000>,<3c060000f8a700000a0000000a000000000c0000000c0000>)
James-Littlers-Mac:~ James$ ioreg -lw0 | grep CSTInfo
James-Littlers-Mac:~ James$

 

Does this mean C states are not working?

Link to comment
Share on other sites

 Share

×
×
  • Create New...