Contribute
Register

[Guide] Native Power Management for Laptops

Please reply when you have all files requested.

--

Also...

Please provide complete details in your profile/signature
(Profile/Settings link in upper right corner of this site)

Mobo: manufacturer/model + bootloader(Clover/Chameleon/Chimera)
CPU: detailed CPU model + motherboard chipset
Graphics: all graphics devices + laptop internal screen resolution

For example, typical Ivy laptop:
Mobo: HP ProBook 4540s (Clover)
CPU: i5-3320m/HM76
Graphics: HD4000, 1366x768

Use CPU-Z on Windows to find CPU (Core iX-xxx) and motherboard chipset (HMxx), and graphics capabilities. For a laptop, these details are important and affect critical installation procedures.

Note: When specifying your bootloader, if using Clover legacy, please be sure to specify "Clover legacy"). Specifiying "Clover" will be assumed as "Clover UEFI"

Hi RehabMan!

Mobo: Fujitsu UH552 + Clover UEFI
CPU: i3 3217U/HM76 (Ivy Bridge Laptop)
Graphics: HD4000, 1366x768

On SMBios is a Macbook Air 5,2

PD.: Now the only problem is the frequency, 1200 - 1800Mhz, should be 700 or 800-18000Mhz

Thanks!
 
Hi RehabMan!

Mobo: Fujitsu UH552 + Clover UEFI
CPU: i3 3217U/HM76 (Ivy Bridge Laptop)
Graphics: HD4000, 1366x768

On SMBios is a Macbook Air 5,2

PD.: Now the only problem is the frequency, 1200 - 1800Mhz, should be 700 or 800-18000Mhz

Thanks!

Use AppleIntelCPUPowerManagementInfo.kext to find out what your LFM (low frequency mode) is.

You can adjust it with parameters to ssdtPRgen.sh should you find out it is something other than 12.
 
Hi RehabMan, thanks for the tutorial, and kexts.

I am running on a I5 (Generation 1) laptop#1 (specs in signature) in Yosemite 10.10.5. I've followed the instructions in post #1, setting GeneratePStates=true GenerateCStates=true. I have tried DropOem=true but it hangs on bootup.

Is speedstep active? Clover Bootloader detected 2 P States: 9, and 18. Is there any way to set it lower, as the laptop is very hot (61-64C) on low activity?

DPCIManager P State output is as follows. There's an occasional I/O error:

Code:
10/28/15, 11:39:12 AM, P States: I/O error, throttling to 8Hz
10/28/15, 11:38:48 AM, Current State: 9
10/28/15, 11:38:48 AM, P States: 9
10/28/15, 11:38:05 AM, Current State: 9
10/28/15, 11:38:05 AM, P States: 9
10/28/15, 11:37:57 AM, Current State: 9
10/28/15, 11:37:57 AM, P States: 9
10/28/15, 11:37:50 AM, Current State: 9
10/28/15, 11:37:50 AM, P States: 9
10/28/15, 11:37:45 AM, P States: I/O error, throttling to 9Hz
10/28/15, 11:37:45 AM, Current State: 9
10/28/15, 11:37:45 AM, P States: 9
10/28/15, 11:37:37 AM, Current State: 9
10/28/15, 11:37:37 AM, P States: 9
10/28/15, 11:37:30 AM, Current State: 9
10/28/15, 11:37:30 AM, P States: 9
10/28/15, 11:37:22 AM, Current State: 9
10/28/15, 11:37:22 AM, P States: 9
10/28/15, 11:37:20 AM, kernel[0]: DirectHW: Driver v1.3 (compiled on Aug 17 2013) loaded. Visit http://www.coresystems.de/ for more information.
10/28/15, 11:37:20 AM, com.apple.kextd[42]: kext file:///var/folders/x5/r5vttgc15qg1vb8wnjb3jtz00000gn/T/DPCIFeRjs.kext/ is in hash exception list, allowing to load


The relevant files (IOReg, Clover, kextstat, patchmatic) are as attached.

 

Attachments

  • Files.zip
    3.5 MB · Views: 66
Hi RehabMan, thanks for the tutorial, and kexts.

I am running on a I5 (Generation 1) laptop#1 (specs in signature) in Yosemite 10.10.5. I've followed the instructions in post #1, setting GeneratePStates=true GenerateCStates=true. I have tried DropOem=true but it hangs on bootup.

Is speedstep active? Clover Bootloader detected 2 P States: 9, and 18. Is there any way to set it lower, as the laptop is very hot (61-64C) on low activity?

DPCIManager P State output is as follows. There's an occasional I/O error:

Code:
10/28/15, 11:39:12 AM, P States: I/O error, throttling to 8Hz
10/28/15, 11:38:48 AM, Current State: 9
10/28/15, 11:38:48 AM, P States: 9
10/28/15, 11:38:05 AM, Current State: 9
10/28/15, 11:38:05 AM, P States: 9
10/28/15, 11:37:57 AM, Current State: 9
10/28/15, 11:37:57 AM, P States: 9
10/28/15, 11:37:50 AM, Current State: 9
10/28/15, 11:37:50 AM, P States: 9
10/28/15, 11:37:45 AM, P States: I/O error, throttling to 9Hz
10/28/15, 11:37:45 AM, Current State: 9
10/28/15, 11:37:45 AM, P States: 9
10/28/15, 11:37:37 AM, Current State: 9
10/28/15, 11:37:37 AM, P States: 9
10/28/15, 11:37:30 AM, Current State: 9
10/28/15, 11:37:30 AM, P States: 9
10/28/15, 11:37:22 AM, Current State: 9
10/28/15, 11:37:22 AM, P States: 9
10/28/15, 11:37:20 AM, kernel[0]: DirectHW: Driver v1.3 (compiled on Aug 17 2013) loaded. Visit http://www.coresystems.de/ for more information.
10/28/15, 11:37:20 AM, com.apple.kextd[42]: kext file:///var/folders/x5/r5vttgc15qg1vb8wnjb3jtz00000gn/T/DPCIFeRjs.kext/ is in hash exception list, allowing to load


The relevant files (IOReg, Clover, kextstat, patchmatic) are as attached.


I don't think config.plist/Generate=true is helping. It is generating the CPU data in the wrong scope (probably Clover can't find your Processor objects as they are in an SSDT).

You're probably best off with just native CPU SSDTs.
 
I don't think config.plist/Generate=true is helping. It is generating the CPU data in the wrong scope (probably Clover can't find your Processor objects as they are in an SSDT).

You're probably best off with just native CPU SSDTs.

Thanks for the reply! So does that mean I should extract and patch the SSDT as per this thread http://www.tonymacx86.com/el-capitan-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html? After I have done that, how do I patch the .aml files then? I can't run ssdtPRgen.sh since this is a pre-Haswell laptop.
 
Use AppleIntelCPUPowerManagementInfo.kext to find out what your LFM (low frequency mode) is.

You can adjust it with parameters to ssdtPRgen.sh should you find out it is something other than 12.

Thanks ReabMan. It was a error with the old SSDT file. All working great.
 
Unless you plan to change the SSDTs, no need to extract/patch.

I don't know of an ssdtPRgen.sh that generates for pre-Sandy.

Sorry, I am getting confused. You mentioned earlier that "You're probably best off with just native CPU SSDTs." Does it mean that I don't do anything? I have set GeneratePStates=false and GenerateCStates=false, but the only available PStates (as detected by DPCIManager) is still 9.

I was thinking that if there were instructions on how to patch
the PStates onto the SSDT, I could do that. Another way is by "diff"-ing the SSDT between GeneratePStates=true and false and applying it to the right scope. Which scope should the PState applied to?
 
Sorry, I am getting confused. You mentioned earlier that "You're probably best off with just native CPU SSDTs." Does it mean that I don't do anything? I have set GeneratePStates=false and GenerateCStates=false, but the only available PStates (as detected by DPCIManager) is still 9.


I'm not certain DPCIManager works with pre-Sandy. Try Intel Power Gadget.

Also keep in mind you need to do something with your computer to use higher pstates (eg. run benchmark or something that will stress the CPU).

If you set Generate=false, and keep your OEM SSDTs (DropOem=false), then untouched OEM SSDTs are injected by Clover.

I was thinking that if there were instructions on how to patch the PStates onto the SSDT, I could do that. Another way is by "diff"-ing the SSDT between GeneratePStates=true and false and applying it to the right scope. Which scope should the PState applied to?

Generate=true will create conflicts with OEM SSDTs as they attempt to define the same objects (_PSS, etc). If you use Generate=true, you must use DropOem=true.
 
Hi! I have problem with SSDT and my CPU!
After generating ssdtPRGen script SSDT.aml i have only 5 states,laptop is hot and i lost sleep timer in Power Save Settings, but sleep is working! Using Clover P-State generation have 4 only.
I attached some info (generated ssdt (ssdtPRGen script), console output, darwinDump, ioreg dump).
View attachment Photonix-Laptop-ioreg.zip
View attachment DarwinDumper_2.9.9.1_INSYDE_Corp._X64_Yos_dmitry21.zip
View attachment SSDT.dsl.zip
View attachment Console_log.zip
 
Back
Top