Jump to content

Sandy Bridge-E Power Management [Big Sur 11.2.1] && [Big Sur 11.4]


verdazil
 Share

59 posts in this topic

Recommended Posts

I'm beginning to think that only those two patches are needed. Maybe in the past all 7 were necessary but I've been able to boot 10.13.6, 10.15.7 and 11.4 with speed step and turbo using just those two patches. I can't see any change in operation with the other patches missing.

Link to comment
Share on other sites

On 6/30/2021 at 12:07 AM, Hervé said:

You "calculated" ? :|

You'd have to explain better than that how you derived those patches.

Using the "scientific poke method" 

I am not a developer and for me a binary is a black box. However, now Power Management for 11.4 works and this is the main thing for me.

Link to comment
Share on other sites

On 6/30/2021 at 3:52 PM, Riley Freeman said:

 

I'm in the process of trying out Big Sur on my X79/3930k now that I have a Metal-capable graphics card in it. Noticed that CPUPM wasn't working and did some digging in the absence of a working set of patches.

 

Here are the two patches you listed updated for 11.4:

 

7513B9 to EB13B9

3E7539 to 3E9090

 

I'll do some more digging and try to find the new strings for the rest of the patches (as you can see with just two patches it shows 5.7GHz for Core REQ). But for now these two will get speedstep working with a 3930k.

 

These might work for 11.3 too but I don't have it to check.

 

pm-quickfix.thumb.png.7e23f892b00b159d5e17d71e6ce0f377.png

 

After some more digging I think I've found the 7 updated strings. However two of them don't appear patchable in any recognisable way (to me at least):

 

FF0F841A01 to FF0F851A01

0100010F84 to 0100010F85 (this string hasn't changed since Yosemite)

0600000F3225FF0F00006B to ?

0600000F3283E01F4289443B to ?

01745E to 01EB5E

3E7539 to 3E9090

7513B9 to EB13B9

 

If I enable any of the three in red I get kernel panics on boot. The last of these looks right to me based on previous patches but it may be dependent on the other two which I can't see how to patch. The previous versions of these started with C974 which was patched to C9EB. But now they're 0600 so I'm stumped. 

 

Experimental!:

 

The string FC02740D appears a little before the first two strings in red above. It's the closest set of bytes to the strings that have a 74 in them and they only appear above those two strings. Replacing those two patches with a single patch changing FC02740D to FC02EB0D boots with no panic. However my Big Sur volume has gotten corrupted and Disk Utility can't repair it so I probably have to do a wipe and reinstall which I don't have time for tonight. I've had to boot the recovery image to check this new patch for panics.

 

Enabling the 01745E patch still results in a panic though.

Yeahhhhhh!!! Riley, u rock man.

It worked perfectly on 11.4 and also on Monterey beta 2 (In 11.3 I haven't tested it but it doesn't matter anymore. What matters is to keep macOS up to date).
I believe that only these two Patches are needed for perfect Power Management.

How did you find these new values? Is it difficult to explain how you get them?
I believe it will only be a matter of time before we have to look for new patches for PM. I spent weeks trying to find the new patches, but I don't know how to look for that.

Link to comment
Share on other sites

On 6/25/2021 at 1:13 PM, Hervé said:

Such binary patches are usually derived from disassembling the binary code of the kext and/or consulting the source code published by Apple (but I've not checked if the source code of AICPUPM kext is available). Most of the time, the reason why binary patches that worked in certain versions no longer work in subsequent ones is because the code has changed over time and after new OS X/macOS versions got released (eg: IOGraphicsFamily or AppleIntelSNBGraphicsFB patches). Easiest way to check that out is to:

  1. open up the binary file of the kext targeted for patching with a hex editor such as Hex Fiend or other
  2. search for the binary sequences that were used in previous patches for modification (i.e. the "find" sequences)

If any sequence cannot be found, the associated patch is of course no longer valid/applicable. The new sequences and their patches must therefore be identified. That's when code disassembling is usually required unless the new/revised binary sequences can easily be derived through, say, shortening, similarities or otherwise.

 

For instance:

  • out of the 7 x sequences listed in post #1 of the Catalina thread mentioned by @Vinicius P. Miranda, only the 2nd one can be found in Big Sur 11.4's AICPUPM kext.
  • out of the 2 x sequences shown in his screenshot of May 31st, none can be found in Big Sur 11.4's AICPUPM kext.

The previous/existing patches are therefore irrelevant/deprecated in such conditions.

 

On 6/27/2021 at 5:08 AM, PPCnostalgic said:

BTW you should wait for Big Sur 11.5 release to see if that release will solve, before going mad...

Thank you Hervé for the explanation. I really didn't know it was something like a detective survey. I thought there might be a more generic tutorial, but I couldn't find it.
The way is to try to take some time to study more about it. I'm new to the world of programming and I'm starting with web languages, I don't know anything about hardware language.

I will try to learn this for when patches stop working in the future.

 

PPCnostalgic, Hervé, @Riley Freeman found Patches to solve the PM of 3930K and derivatives. Thank you all.

 

Link to comment
Share on other sites

3 hours ago, Vinicius P. Miranda said:

How did you find these new values? Is it difficult to explain how you get them?
I believe it will only be a matter of time before we have to look for new patches for PM. I spent weeks trying to find the new patches, but I don't know how to look for that.

 

I compared the Catalina and Big Sur AppleIntelCPUPowerManagement binaries in a hex editor. Just searched for matching strings between the two binaries that were near the ones in the Catalina binary. That way I knew I had the right strings.

 

If you look back at the history of these patches there's usually only one or two bits that change in these strings.

Link to comment
Share on other sites

7 hours ago, PPCnostalgic said:

Glad to know you solved. Are those patches for Core i7 3930k only or they work for other CPU(s) as well?

I believe it works on any x79 with Sandy Bridge-E and -EP. Including Chinese motherboards.

Maybe it can work on Ivy Bridge-E too, but I don't have to test.

Link to comment
Share on other sites

On 3/13/2021 at 1:14 AM, verdazil said:

This information is for get a working CPU Power Management on Chinese motherboards X79 with Sandy Bridge-E CPU.

We need 7 patches (2 patches for 11.4) for AppleIntelCPUPowerManagement.kext (See samples in attachment)

In addition to the standard post-install recommendations you should use your own prepared:

- DSDT.aml

- SSDT.aml, generated for your CPU by ssdtPRGen.sh script

and SSDT-PLUG.aml from OpenCore set

 

Tested work in

OpenCore, v 0.6.7, Big Sur v 11.2.1 (20D75), PC Build II in my profile

OpenCore, v 0.7.0, Big Sur v 11.4 (20F71), PC Build II in my profile

 

You have no patches for Ivy Bridge EP (Big Sur 11.4)?

Link to comment
Share on other sites

54 minutes ago, verdazil said:

Патчи не тестировались на Ivy Bridge EP. Но они тоже должны работать.

did not help, that with the patch, that without the patch, the stepping does not work, the multiplier jumps from 29 to 32, and does not mess up to 12

 

Снимок экрана 2021-07-12 в 11.44.06.png

Link to comment
Share on other sites

6 minutes ago, NEOSoftWare said:

did not help, that with the patch, that without the patch, the stepping does not work, the multiplier jumps from 29 to 32, and does not mess up to 12

I can only confirm once again that the patches ideally work on the specified hardware and version of the system. 

In theory, should work for Ivy Bridge EP too. However, patches are only one part of the necessary settings. Is it loaded X86PlatformPlugin? Is there a DSDT with the correct CPU frequencies?

1234.png

Link to comment
Share on other sites

12 minutes ago, verdazil said:

I can only confirm once again that the patches ideally work on the specified hardware and version of the system. 

In theory, should work for Ivy Bridge EP too. However, patches are only one part of the necessary settings. Is it loaded X86PlatformPlugin? Is there a DSDT with the correct CPU frequencies?

1234.png

yes, these records are there, ssdtPRGen was made without applying patches, but stepping does not work, for catalina I took patches from here https://www.insanelymac.com/forum/topic/344523-sandy-bridge-e-ivy-bridge-e-power-management-1015/ and everything worked, I updated it to bigsur and I can't get it to work properly. now the processor in benchmarks gives out maximum performance, but in idle time due to the fact that it does not drop the processor frequency constantly at a temperature of 48-51 degrees, and in catalina and windows it was 36-39 degrees.

 

Edited by NEOSoftWare
Link to comment
Share on other sites

  • 3 months later...
  • 1 month later...

Hi, everyone.

 

I want my Fake X79 Chinese board to wake from sleep, but not working.

 

X86PlatformPlugin is not loaded,

and booting up slow at

"IOKit Daemon (kernelmanagerd) stall[0], (60s): "ACPI_SMC_PlatformPlugin "........".

 

My CPU is Sandybridge-EN on LGA1356 (not 1156 nor 1366)

https://ark.intel.com/content/www/us/en/ark/products/67415/intel-pentium-processor-1403-5m-cache-2-60ghz.html

 

Can anyone help me? Please!

 

ioreg.png

OC.zip SI79F.ioreg.zip dsdt_from_CloverF4key.zip ssdtprgen_error.txt

Link to comment
Share on other sites

On 12/2/2021 at 3:03 PM, verdazil said:

Hi, @vtec100000000rpm

Your CPU does not support Intel® Turbo Boost and Intel® Hyper-Threading technologies. Therefore, do not expect that CPU Power Management can work better than it is now.

Sleep usually does not work on such builds, I would not expect miracles...

 

Thank you for your reply!

 

Is getting an Ivybridge-EN CPU a solution to fix the failure of sleep and kext stall ?

https://ark.intel.com/content/www/us/en/ark/products/75782/intel-xeon-processor-e52407-v2-10m-cache-2-40-ghz.html

Link to comment
Share on other sites

3 minutes ago, vtec100000000rpm said:

Is getting an Ivybridge-EN CPU a solution to fix the failure of sleep and kext stall ?

I can give you only a theoretical opinion. Sleep possibility is determined by a combination of macOS version, processor type, motherboard, video card, and so on. Latest macOS versions, server processors, and especially Chinese motherboards for server processors give a high probability that sleep will not work. But there are always exceptions to the rule, so we need to study it on a case-by-case basis.

P. S. The problem is solved very simply indeed. Sleep is not needed on the desktop. :)

Link to comment
Share on other sites

On 12/3/2021 at 10:34 PM, verdazil said:

I can give you only a theoretical opinion. Sleep possibility is determined by a combination of macOS version, processor type, motherboard, video card, and so on. Latest macOS versions, server processors, and especially Chinese motherboards for server processors give a high probability that sleep will not work. But there are always exceptions to the rule, so we need to study it on a case-by-case basis.

P. S. The problem is solved very simply indeed. Sleep is not needed on the desktop. :)

 

Sorry for my late reply.

 

I'm worry about the message at boot screen,

"IOKit Daemon (kernelmanagerd) stall[0], (60s): "ACPI_SMC_PlatformPlugin ".

It boots very slow with this problem, so I want to fix it.

 

Any solution ?

Link to comment
Share on other sites

19 minutes ago, vtec100000000rpm said:

I'm worry about the message at boot screen,

"IOKit Daemon (kernelmanagerd) stall[0], (60s): "ACPI_SMC_PlatformPlugin ".

It boots very slow with this problem, so I want to fix it.

Sorry, @vtec100000000rpm, but the problem you described has nothing to do with CPU Power Management. I don't have your hardware and don't know how to solve it.

Link to comment
Share on other sites

  • 3 months later...
22 minutes ago, Riley Freeman said:

 

Can you share the AppleIntelCPUPowerManagement binary? I don't run Monterey but can take a look.

12.3 Original

https://drive.google.com/drive/folders/1deAiEciIAOux4cd4tl1on2tHFJBymG0t?usp=sharing

 

I'm going to install 12.2 to get AppleIntelCPUPowerManagement and see if I can learn to look at that too.

Link to comment
Share on other sites

8 hours ago, Vinicius P. Miranda said:

12.3 Original

https://drive.google.com/drive/folders/1deAiEciIAOux4cd4tl1on2tHFJBymG0t?usp=sharing

 

I'm going to install 12.2 to get AppleIntelCPUPowerManagement and see if I can learn to look at that too.

 

Thanks! Comparing the two it looks like only one string has changed in 12.3:


751AB9 to EB1AB9

Edited by Riley Freeman
Link to comment
Share on other sites

4 hours ago, Riley Freeman said:

 

Thanks! Comparing the two it looks like only one string has changed in 12.3:


751AB9 to EB1AB9

Worked perfectly. As long as you place the lines in this sequence (like photo), not the bottom on top and the top on bottom (this makes the CPU Turbo Boost not work).
Thanks! @Riley Freeman

 

Captura de Tela 2022-03-15 às 12.07.33.png

  • Like 2
Link to comment
Share on other sites

 Share

×
×
  • Create New...