Piker-Alpha / ssdtPRGen.sh

Script to generate a SSDT for Power Management
712 stars 156 forks source link

Freeze with Power Management with i7 3770 #153

Open JackLayne opened 9 years ago

JackLayne commented 9 years ago

Hi,

I have issues with my configuration and PM. My system is the follow: i7-3770, Asus P8H77-M pro, GT670. I use original bios with AsusAICPUPM by clover.

When I enabled PM with XCPM my system randomly freeze ( after 1 hour or after 6 hour or etc etc.. ). The first times ( until OS X 10.10.2 ) this happened when I used XCPM and CloverALC script to enabled my ALC892.

With new version of OS X this happens always, it seems when I use XCPM mode. With XCPM I used the script with this parameters: -turbo 3900 -t 77 -w 2 -x 1 and KernelPM under Clover. AICPUPMI reported 8-Pstates [ 16 25 29 34 36 37 38 39 ] and at the boot I've the usually error with ivy bridge: X86PlatformShim::start - Failed to send stepper.

Without XCPM I Used the script with this parameters: -turbbo 3900 -t 77 -w 3 -x 0 The system registered 8 P-States, but AICPUPMI reported only [ 16 34 37 38 39 ], but at the boot there aren't error. In this mode it seems that I have not freeze.

I've tried all workaround with XCPM mode and AICPUPM Mode. I've tried also with XCPM flag, KernelPM ( by Clover ) and generate c-state and p-state. I've the same p-states with the script, but same freeze :(

Anyway, I use iMac 13,2 SMBIOS, but I've tried different SMBIOS ( MacMini 6,2 - Macbook Pro 10,1 - MacPro 3,1 ).

To patch the DSDT, I Used the PJALM's patch "Generic Series 7" + Realtek ALC892 and RTL8111 from P8Z77-M Pro ( Similar to mine ) and Toleda patch for NVidia. I've already tried without DSDT and with only DSDT with Toleda patch, but the result is the same.

When the freezing happens, in the console there aren't errors.. there is a way to debug of what caused this freeze?!?!?

In Attachment my config ( clover config, dsdt, ssdt, dsdt patches): http://s000.tinyupload.com/?file_id=61896216185936220930

Thanks in advance and Thanks a lot for your work,

Jack Layne

Piker-Alpha commented 9 years ago

You somehow need to fix this "X86PlatformShim::start - Failed to send stepper" error – though you are on your own for this. I personally don't have any Ivy Bridge based hardware anymore. Not to mention that Skylake is around the corner... so I have my mind set on the future. Good luck!

JackLayne commented 9 years ago

Ok, thank you :)

And for the freeze?

Thank you

Piker-Alpha commented 9 years ago

Fixing the error should take care of it. That is. If this freeze is related to PM.

al3xtjames commented 9 years ago

That error is caused by you missing frequency vector data in the X86PlatformPlugin plists. Ivy Bridge Mac models don't have this data (including iMac13,2), so you'll have to copy them from a Haswell Mac (for iMac13,2 I used iMac14,2's frequency vectors). You can do this with @Piker-Alpha's excellent script, freqVectorsEdit.sh, or you could create an injector kext that accomplishes the same thing, like this:

/Library/Extensions/XCPMFVInjector.kext
└── Contents
    ├── Info.plist
    ├── MacOS
    │   └── X86PlatformPlugin -> /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/MacOS/X86PlatformPlugin
    └── Resources
        └── Mac-FC02E91DDD3FA6A4.plist

3 directories, 3 files

Info.plist has the version numbers edited so it loads over the original X86PlatformPlugin.kext, and Mac-FC02E91DDD3FA6A4.plist is the plist for iMac13,2 with frequency vectors copied from iMac14,2. The symbolic link in the MacOS folder links to the original X86PlatformPlugin binary. This allows the injector kext to load the X86PlatformPlugin binary, but with the modified plist instead of the original one, which suppresses the errors.

As for freezing, I haven't really encountered it. I did have some random kernel panics when I first started using XCPM (on 10.10.1 I think), but none recently.