Contribute
Register

<< Solved >> OpenCore battery patch

Status
Not open for further replies.
@KungFuJoe

So, DSDT.aml is your native DSDT? And DSDT_bat.aml is your patched one? Does it *only* contain the patch for your battery? Could you also provide me with a link to the rehabman patch corresponding to your laptop? Then, I'll see what I can do.
 
@KungFuJoe

So, DSDT.aml is your native DSDT? And DSDT_bat.aml is your patched one? Does it *only* contain the patch for your battery? Could you also provide me with a link to the rehabman patch corresponding to your laptop? Then, I'll see what I can do.

Yes...DSDT.aml is native, DSDT_bat.aml is the patched one.

Here is the link to the patch I used.


Thank you!
 
@BlvckBytes On a side note...I found this thread because of this thread where someone mentioned that your help in getting them an SSDT file for their battery helped fix their issue with the fans running all the time in sleep mode (which is an issue I've been trying to fix as well).
 
@KungFuJoe

I cannot promise to you that a proper SSDT will fix this, but we can try. I will create this SSDT for you, since I like to help out people over here! :)

The time it takes me to do that depends on the complexity of the resulting patch, so either today or tomorrow, I'd say.
 
@KungFuJoe

I cannot promise to you that a proper SSDT will fix this, but we can try. I will create this SSDT for you, since I like to help out people over here! :)

The time it takes me to do that depends on the complexity of the resulting patch, so either today or tomorrow, I'd say.

No rush and I appreciate all the help!
 
@KungFuJoe

In the mean time... Could you please upload your current EFI folder? So that I can implement the patch, since it has the SSDT-part, but as it looks like also some rather complex specific renames.
 
@KungFuJoe

In the mean time... Could you please upload your current EFI folder? So that I can implement the patch, since it has the SSDT-part, but as it looks like also some rather complex specific renames.

Attached. One note...I'm using a patched DSDT with a couple more patches than the battery patch so you'll notice the DSDT.aml in the EFI.zip is different than the DSDT_bat.aml I posted earlier. I'm just trying out a few more things right now for troubleshooting, but they don't appear to make any difference so I will probably end up removing them eventually and just sticking with the battery patch.
 

Attachments

  • EFI.zip
    6.7 MB · Views: 53
@KungFuJoe

Alrighty! I started working on it, but it's going to end up in a pretty big patch, so I need to continue tomorrow. I'd suggest that we start without the DSDT and only the BATT-patch, then check if other problems re-occur and fix them seperately.
 
@KungFuJoe

Alrighty! I started working on it, but it's going to end up in a pretty big patch, so I need to continue tomorrow. I'd suggest that we start without the DSDT and only the BATT-patch, then check if other problems re-occur and fix them seperately.

This might be a pretty big ask...but what does it take to be able to do this on your own? What kind of technical background would be recommended and what resources are available online, if any?
 
@KungFuJoe

Well, I mean... technical backgrounds... I am a hobby-programmer that currently attends a technical collage, so this helps me out a *bit* in reading/writing ASL (ACPI source language) since it has a lot of elements of other programming languages. The concepts of scopes, variables, loops, methods, devices, memory-addresses, and so on may help to understand what exactly I am doing there.

But still, I had some sleepless nights in learning how f.e. OperationRegions work, and how to rename *only* method definitions, not method invocations, so those methods can be implemented in an altered version inside the SSDT. That is something that you just have to understand, and that may take some time.

I use MaciASL for reading/writing AML/DSL files, kdiff3 for diff'ing patched vs. unpatched and I can read rehabmans patch language, which also helps to know what to do. It helps a great deal having this premade DSDT-patch from rehabman, but I could also create one on my own - once you understand the reason why these patches are needed, it's always the same.

There is a tutorial from RehabMan on how to patch the DSDT so that all fields used inside the EmbeddedControl are not larger than 8 bit. Once you understand that and once you could theoretically apply it on a DSDT, you just need to learn about the whole SSDT-concepts, then you can translate the patches.

I hope this helps. But in general, if you're not a tinkerer or a programmer, and this doesn't strike your interest, just let others help you. It's a one time fix, nothing you need on a daily basis as a hackintosh user.
 
Status
Not open for further replies.
Back
Top