Contribute
Register

[Guide] HP Pavilion 15-AB216TX Catalina using OpenCore

Status
Not open for further replies.
@chilledHamza Your OC folder just works straight away fine for me however, as i told you i would like to learn things.

I decompiled DSDT using refs.txt and iasl.
But, Applying HP G6 2221s patch to my DSDT straight away generates 58 errors in my DSDT.
With clover though this wasn't the case.

And when i generate my own SSDT-BATT using maciasl..

I keep getting this error when I put SSDT-BATT and update it in config.plist.
It is persistent even when I use EC rename and battery patches as your config.plist suggested and without SSDT-EC-LAPTOP.aml, in this case it won't boot but gets stuck.

When I include SSDC-EC-LAPTOP.aml and remove EC rename (this is a prebuilt one from dortania) then I can boot but in between verbose many times pushes this error.

I have looked into DSDT as well as SSDT-BATT and it is a method called _BIF (battery info) and _BST (battery status) which I think is the most important for battery info and status for Catalina as the name suggests.

Attached is the error photo and my OC.zip which may also contain the log in the latest and before the latest one.

May i know which guide did you follow to make ssdt-batt?
 

Attachments

  • OC_EFI_madd22.zip
    2.6 MB · Views: 101
  • 20200704_154305.jpg
    20200704_154305.jpg
    2.2 MB · Views: 65
Last edited:
I decompiled DSDT using refs.txt and iasl.
But, Applying HP G6 2221s patch to my DSDT straight away generates 58 errors in my DSDT.
With clover though this wasn't the case.
About a week ago another person had similar issue, the issue was the EC0 -> EC rename. as I said earlier you should apply EC patch after the battery patch, or you can modify the battery patch (replace EC0 with EC in battery patch).
I'm not sure if you have same issue, Attach your DSDT and I'll have a look and let you know what's wrong.
I keep getting this error when I put SSDT-BATT and update it in config.plist.
It is persistent even when I use EC rename and battery patches as your config.plist suggested and without SSDT-EC-LAPTOP.aml, in this case it won't boot but gets stuck.
which error? the one in the picture?
When I include SSDC-EC-LAPTOP.aml and remove EC rename (this is a prebuilt one from dortania) then I can boot but in between verbose many times pushes this error.
SSDT-EC isn't really preferred for laptops, it might work but it's easier to just rename the EC Device.
I have looked into DSDT as well as SSDT-BATT and it is a method called _BIF (battery info) and _BST (battery status) which I think is the most important for battery info and status for Catalina as the name suggests.
this happens when fields within an EC region aren't patched properly. attach your untouched DSDT and patched DSDT.
May i know which guide did you follow to make ssdt-batt?
Initially I didn't do much, battery patch was already there so I just applied it to DSDT and it worked.
Later on I updated the my guide with hotpatch ACPI files, that way it's more generic and you don't have to repatch ACPI files after BIOS update, getting it to work with hotpatch was a little tricky, you can check @RehabMan's Hotpatch guide. it explains everything in details.

*Edit: issue seems to be the ACPI Binary patches, patches in Clover config.plist work for me but those aren't generic and doesn't work as expected for others (patches in OpenCore zip are more generic).
Find
Replace
Comment
434C5249 584C5249 PCI0.ACEL.CLRI to XLRI, pair with SSDT-BATT.aml
5F424946 58424946 battery _BIF->XBIF, pair with SSDT-BATT.aml
5F425354 58425354 battery _BST->XBST, pair with SSDT-BATT.aml
55504249 00 58504249 00 battery BAT0.UPBI->XPBI, pair with SSDT-BATT.aml
55504253 00 58504253 00 battery BAT0.UPBS->XPBS, pair with SSDT-BATT.aml
534D5244 04 584D5244 04 battery EC.SMRD->XMRD, pair with SSDT-BATT.aml
534D5752 04 584D5752 04 battery EC.SMWR->XMWR, pair with SSDT-BATT.aml

Replace your current binary patches (related to battery) with these, use my hotpatch SSDT-BATT.aml and let me know if it fixes your issue.
 
Last edited:
About a week ago another person had similar issue, the issue was the EC0 -> EC rename. as I said earlier you should apply EC patch after the battery patch, or you can modify the battery patch (replace EC0 with EC in battery patch).
I'm not sure if you have same issue, Attach your DSDT and I'll have a look and let you know what's wrong.
I dont think i need EC rename as before patching my EC is already EC0, and after i apply battery patch(which has EC0 in it) i get 58 errors, therefore i have attached .dsl
which error? the one in the picture?
Yes
SSDT-EC isn't really preferred for laptops, it might work but it's easier to just rename the EC Device.

this happens when fields within an EC region aren't patched properly. attach your untouched DSDT and patched DSDT.

Initially I didn't do much, battery patch was already there so I just applied it to DSDT and it worked.
Later on I updated the my guide with hotpatch ACPI files, that way it's more generic and you don't have to repatch ACPI files after BIOS update, getting it to work with hotpatch was a little tricky, you can check @RehabMan's Hotpatch guide. it explains everything in details.
I have attached them in this post. (Both .dsl and .aml for unpatched and only .dsl for patched (Only applied HP G6 2221s battery patch) as it could not be compiled due to errors)
*Edit: issue seems to be the ACPI Binary patches, patches in Clover config.plist work for me but those aren't generic and doesn't work as expected for others (patches in OpenCore zip are more generic).
Find
Replace
Comment
434C5249 584C5249 PCI0.ACEL.CLRI to XLRI, pair with SSDT-BATT.aml
5F424946 58424946 battery _BIF->XBIF, pair with SSDT-BATT.aml
5F425354 58425354 battery _BST->XBST, pair with SSDT-BATT.aml
55504249 00 58504249 00 battery BAT0.UPBI->XPBI, pair with SSDT-BATT.aml
55504253 00 58504253 00 battery BAT0.UPBS->XPBS, pair with SSDT-BATT.aml
534D5244 04 584D5244 04 battery EC.SMRD->XMRD, pair with SSDT-BATT.aml
534D5752 04 584D5752 04 battery EC.SMWR->XMWR, pair with SSDT-BATT.aml

Replace your current binary patches (related to battery) with these, use my hotpatch SSDT-BATT.aml and let me know if it fixes your issue.
Yes exactly, i need to know how to find that i exactly need all these patches?
As i said earlier your provided OC folder works out of the box for everything, So i think replacing all this will definitely work. But, as i'll be purchasing a new laptop, figuring this out is really important for me. I know i may annoy you, but with clover i was able to do everything, even patched DSDT's , SSDT's because of your guide but i did not understood quite well how do i debug from scratch to find what do i exactly need for my laptop.

EDIT: I am trying to apply the battery patch(HP G6 2221s) to DSDT first as suggested by Dortania and Rehabman to verify if it works..then only i'll learn to make my own SSDT-BATT right? I have read both the guides thoroughly (rehab's ACPI and Hotpatch as well as dortania acpi) just that i am facing errors, i can't seem to fix.
Thanks a ton for your help.
 

Attachments

  • DSDT_patched.dsl.zip
    42.6 KB · Views: 65
  • DSDT.zip
    62.3 KB · Views: 75
Last edited:
I dont think i need EC rename as before patching my EC is already EC0, and after i apply battery patch(which has EC0 in it) i get 58 errors, therefore i have attached .dsl
I don't get 58 errors but it isn't clean either.
Screen Shot 2020-07-05 at 1.18.33 AM.png

I applied the battery patch to untouched DSDT.dsl, and it's clean all good no errors at all. may be your MaciASL is different. I'm still using the old version by @RehabMan seems to work fine for me.
Yes exactly, i need to know how to find that i exactly need all these patches?
[Guide] Using Clover to "hotpatch" ACPI
Check this guide this might help, better use hotpatch once you have everything working with static ACPI, then you can try to convert those static patches to hotpach
but i did not understood quite well how do i debug from scratch to find what do i exactly need for my laptop.
Mostly it depends on hardware and BIOS, and each laptop needs different patches/quirks. check FAQ section, it explains a lot of basic stuff.
 

Attachments

  • DSDT-patched.dsl
    508 KB · Views: 54
Last edited:
Al
I don't get 58 errors but it's isn't clean either.
View attachment 479142
I applied the battery patch to untouched DSDT.dsl, and it's clean all good no errors at all. may be your MaciASL is different. I'm still using the old version by @RehabMan seems to work fine for me.

[Guide] Using Clover to "hotpatch" ACPI
Check this guide this might help, better use hotpatch once you have everything working with static ACPI, then you can try to convert those static patches to hotpach

Mostly it depends on hardware and BIOS, and each laptop needs different patches/quirks. check FAQ section, it explains a lot of basic stuff.
Oh i was using the latest maciasl as suggested on dortanie...Alright, i'll check them out again, and hope to finally learn them.
thank you so much for your time and a ton of help.



EDIT: Thank you sooooo muchhh!!!
I can't thank you enough.
The new maciasl was the issue and oh man! What have we not done.
Anyways, perhaps you get to learn with errors. I hope to learn more. Thanks alott! I am so happy after 3 days.
 
Last edited:
@chilledHamza Sorry, disturbing you again, for silly questions maybe.

So after all that happened, now I am facing an issue which is.. related to sleep/wake

My laptop will sleep but Power button light won't start blinking (notify sleep state) until I press it again like even after 5 minutes or so. Then, when I press power button again it either won't wake up, or will freeze slowly to nothing working after the wake.

What I want to know is..which kext, command line tool, something like ioreg, a log...like OC log or just somethinggg? or whatever...will allow me to debug this.. or just tell me what happened and what I need to look at or fix.

NOW, From here..

I tried this command
pmset -g log | grep -e "Sleep.*due to" -e "Wake.*due to"

This returned....

2020-07-06 23:42:10 +0530 Sleep Entering Sleep state due to 'Software Sleep pid=123': Using AC (Charge:79%)


2020-07-06 23:56:10 +0530 Sleep Entering Sleep state due to 'Software Sleep pid=126': Using AC (Charge:79%)

As I tried it 2 times..first time it did not wake up at all..so had to hard reboot and second time it woke up and suddenly the USB 2.0 port won't work and slowly one by one programs start closing and then the who system froze..so again hard reboot..

but when I ran the command again.. after restart..sadly I got no log..
AND all I WANT to know is which LOG should I refer in this case..

Also..I Reached this guide just because I know from your OC folder that I have to apply GPRW patch.
But, lets assume I am doing it first time.. this is not the way right.. and lets say GPRW is the solution (I don't know if it is or not) but...if I knew the solution, then there is no problem/question in the first place.

IN CASE if it is useful: sudo pmset -g returns
System-wide power settings: Currently in use: standby 0 womp 0 halfdim 1 hibernatefile /var/vm/sleepimage proximitywake 1 powernap 0 gpuswitch 2 networkoversleep 0 disksleep 10 standbydelayhigh 86400 sleep 1 autopoweroffdelay 28800 hibernatemode 3 autopoweroff 1 ttyskeepawake 1 displaysleep 10 highstandbythreshold 50 standbydelaylow 10800

BTW, right now I am debugging all of this OpenCore stuff and booting it using my Ext HDD on a USB port..if that makes some difference.. but, as I have used it with your OC Folder..it works perfectly fine even when booting on USB port.

I also have attached..internal SSD and HDD on caddy in place of CD drive, but either they are not put to sleep or if they are, currently they are showing all their partitions. So I think that's fine..

EDIT:
What I think I need to do..
From this guide..

I have to follow the question
Q. sleep is not working. how to fix?

which leads me to this guide

but I did native power management with SSDT-PNLF.. but I understand there must be more to this..right?
Is that the correct direction?
 
Last edited:
What I want to know is..which kext, command line tool, something like ioreg, a log...like OC log or just somethinggg? or whatever...will allow me to debug this.. or just tell me what happened and what I need to look at or fix.
After reboot, does it show the report kernel panic dialog?
I tried this command
pmset -g log | grep -e "Sleep.*due to" -e "Wake.*due to"
don't think this will help.
As I tried it 2 times..first time it did not wake up at all..so had to hard reboot and second time it woke up and suddenly the USB 2.0 port won't work and slowly one by one programs start closing and then the who system froze..so again hard reboot..
I'm not sure about the first scenario. but the second scenario seems similar to what I encountered while migration to OpenCore. it was due to SATA PRT0 failing to change the power state. that resulted in freeze after sometime (by freeze I mean, kernel panic). and on reboot it would ask to report kernel panic to Apple, you can see the panic log there.
Does my OpenCore archive work fine for sleep?
Also..I Reached this guide just because I know from your OC folder that I have to apply GPRW patch.
But, lets assume I am doing it first time.. this is not the way right.. and lets say GPRW is the solution (I don't know if it is or not) but...if I knew the solution, then there is no problem/question in the first place.
GPRW patch is different, it's related to instant wake scenario. when you put the machine to sleep and it wakes up automatically after few seconds.
but I did native power management with SSDT-PNLF.. but I understand there must be more to this..right?
SSDT-PNLF is used to enable brightness control (Internal Display).
Power Management is pretty easy, SSDT-PLUG will inject plugin-type=1 property to CPU@0 device object. You can adjust it further as per you liking with CPUFriend/CPUFriendDataProvider Plugins (Lilu Plugins)
 
After reboot, does it show the report kernel panic dialog?
No..it wasn't shown..
I'll try to check that maybe it generates it next time..but that is not sure right..it may generate or not..
But now i know i can view the log there..thanks.

EDIT:
But as i told you, i am running all this testing on an External harddrive..connected to Usb 3.0 port.. when my hdd sleeps its light turns off..and turns back on when wakes from sleep..so it wakes fine..but yeah ultimately the systen freezes.
Also, i noticed this time that..the laptop sleeps after 30 seconds of putting it into sleep mode(power key led starts blinking)..immediately automatically wakes up..like in a second after sleep (power button led is now constant and stays constant).. nothing is shown on screen.
And after that when i try to wake..no screen/black screen.

I have checked PowerNap is NOT ON/checked in energy saver.

I'm not sure about the first scenario. but the second scenario seems similar to what I encountered while migration to OpenCore. it was due to SATA PRT0 failing to change the power state. that resulted in freeze after sometime (by freeze I mean, kernel panic). and on reboot it would ask to report kernel panic to Apple, you can see the panic log there.
Does my OpenCore archive work fine for sleep?
Yes, your opencore archive works fine for everything.
GPRW patch is different, it's related to instant wake scenario. when you put the machine to sleep and it wakes up automatically after few seconds.
Okay..
SSDT-PNLF is used to enable brightness control (Internal Display).
Power Management is pretty easy, SSDT-PLUG will inject plugin-type=1 property to CPU@0 device object. You can adjust it further as per you liking with CPUFriend/CPUFriendDataProvider Plugins (Lilu Plugins)
Yes, i meant that, dont know why wrote pnlf tho, thanks for the explanation.
 
Last edited:
Yes, your opencore archive works fine for everything.
Then issue might be exactly same as what I experienced first hand with OpenCore, I'm not sure what exactly fixed it but I think it was the IRQ/HPET patch. Compare patches form my archive with your SSDT-HPET and binary patches4

EDIT:
But as i told you, i am running all this testing on an External harddrive..connected to Usb 3.0 port.. when my hdd sleeps its light turns off..and turns back on when wakes from sleep..so it wakes fine..but yeah ultimately the systen freezes.
Also, i noticed this time that..the laptop sleeps after 30 seconds of putting it into sleep mode(power key led starts blinking)..immediately automatically wakes up..like in a second after sleep (power button led is now constant and stays constant).. nothing is shown on screen.
And after that when i try to wake..no screen/black screen.

I have checked PowerNap is NOT ON/checked in energy saver.
Did you apply Sleep/Wake ACPI patch?
Normally black screen happens when _WAK/_PTS ACPI methods aren't patched properly
 
Last edited:
Then issue might be exactly same as what I experienced first hand with OpenCore, I'm not sure what exactly fixed it but I think it was the IRQ/HPET patch. Compare patches form my archive with your SSDT-HPET and binary patches
Please, read the edit as well in the previous post. Thanks
I have IRQ/HPET patches applied from the start.
And yes, i am actively comparing your OC and my OC folder.
But, in issues where i get stuck for hours and days even..after trying every possible thing that i could, i just come back to you.
Thanks alot for your help.
 
Status
Not open for further replies.
Back
Top