Contribute
Register

[Guide] Native Power Management for Laptops

Still missing drivers from drivers64UEFI. For example, FSInject is necessary for KextsToPatch and Kext Injection.
BINGO! Needed only to install FSInject to the drivers64UEFI folder and sleep is working now. So many trouble just because one driver, but I saw somewhere else it could be problematic. Whatever, it works now!

Still potential issues with IAOE in DSDT. DSDT shows not patched according to the guide.
Didn´t touch it this time.

I'm assuming that display sleep (Apple->Sleep, wait 2 sec, wake) works? But real machine (S3) sleep (Apple->Sleep, wait 20 sec, wake?) does not?
Absoletely correct, just before install FSInject. Now, it starts sleep mode either by pressing power button or Apple/Sleep but it wakes up only through power button... not a big deal for me.


Next step: battery status and audio.

Question: on your DSDT Audio Layout 12 patch, when you say to change the layout ID, you are refering to the number "12" on this line?
" "layout-id", Buffer() { 12, 0x00, 0x00, 0x00 },\n"

Altough, I didn´t succeed to get the exact Realtek chipset, looking for the vendor/device ID I´m preety shure it´s a ALC 283.
Is there any audio guide (with Clover) you can suggest me?


For battery status, gonna follow your "How to patch DSDT for working battery status" guide and start to bothering you from there :)

Thanks again!
 
BINGO! Needed only to install FSInject to the drivers64UEFI folder and sleep is working now. So many trouble just because one driver, but I saw somewhere else it could be problematic. Whatever, it works now!

Great...

Next step: battery status and audio.

Question: on your DSDT Audio Layout 12 patch, when you say to change the layout ID, you are refering to the number "12" on this line?
" "layout-id", Buffer() { 12, 0x00, 0x00, 0x00 },\n"

Yes.


Altough, I didn´t succeed to get the exact Realtek chipset, looking for the vendor/device ID I´m preety shure it´s a ALC 283.
Is there any audio guide (with Clover) you can suggest me?

You need to be certain. Get a codec dump from Linux. If it is ALC283, you can use the files from my Lenovo u430 repo (it also has ALC283).
 
Umm, how will I know if native pm is working? I did put my custom SSDT and drop all SSDT. Is there a way to know how to see if pm is working?

In addition to @intruder16's suggestion, check all of the items in the checklist.

Make sure you see PM loaded in ioreg as it should for your hardware (eg. X86PlatformPlugin for Ivy and later, lack of NullCPU, AppleLPC loaded, etc.)
 
In addition to @intruder16's suggestion, check all of the items in the checklist.

Make sure you see PM loaded in ioreg as it should for your hardware (eg. X86PlatformPlugin for Ivy and later, lack of NullCPU, AppleLPC loaded, etc.)

Thanks for guiding me sir @rehabman and sir @intruder16. Here's my Intel Power Gadget Screenshot. I don't know how to use the apple kext for dumping states.. And something bothers me. Everytime I do a full charge and remove my charger plug, the battery stats says 5:00+ hours left which is all ok. But as soon as I do a restart, the hour count drops to <3hours or 2hours. One scenario is I still have 90% but the hour count show's me I got 58minutes left. Can I confirm that my pm is not working? I haven't done any battery patch.
 

Attachments

  • Screen Shot 2015-04-23 at 6.23.31 AM.jpg
    Screen Shot 2015-04-23 at 6.23.31 AM.jpg
    165.8 KB · Views: 122
Thanks for guiding me sir @rehabman and sir @intruder16. Here's my Intel Power Gadget Screenshot. I don't know how to use the apple kext for dumping states.. And something bothers me. Everytime I do a full charge and remove my charger plug, the battery stats says 5:00+ hours left which is all ok. But as soon as I do a restart, the hour count drops to <3hours or 2hours. One scenario is I still have 90% but the hour count show's me I got 58minutes left. Can I confirm that my pm is not working? I haven't done any battery patch.

You can test pstates with DPCIManager (read post #1). You can also read about and learn how to use AppleIntelInfo.kext.


Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code:
rm -R ~/Downloads/RehabMan
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Post contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

And output from:
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
 
You can test pstates with DPCIManager (read post #1). You can also read about and learn how to use AppleIntelInfo.kext.


Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code:
rm -R ~/Downloads/RehabMan
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Post contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

And output from:
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu

Alright sir. I'll do an ioreg and patchmatic later after work. Here's my DPCImanager screenshot.
 

Attachments

  • Screen Shot 2015-04-23 at 7.01.49 AM.png
    Screen Shot 2015-04-23 at 7.01.49 AM.png
    229.3 KB · Views: 114
Alright sir. I'll do an ioreg and patchmatic later after work. Here's my DPCImanager screenshot.

Base multiplier for your CPU is x20, so you're getting some turbo states. You might see more if you used AppleIntelInfo.kext. But the fact that you see some turbo states implies you have at least part of CPU PM implemented. Rest depends on ioreg.
 
Base multiplier for your CPU is x20, so you're getting some turbo states. You might see more if you used AppleIntelInfo.kext. But the fact that you see some turbo states implies you have at least part of CPU PM implemented. Rest depends on ioreg.

Good Evening sir @RehabMan. Here's my IOReg and Patchmatic files. :D
 

Attachments

  • Djhay’s MacBook Pro.ioreg
    1.5 MB · Views: 105
  • RehabMan.zip
    25.1 KB · Views: 66
Back
Top