Contribute
Register

Battery percentage stuck

Status
Not open for further replies.
I changed it in clover before booting

Do not do that.

That feature does not work reliably.
Simplfy:
- always name DSDT as CLOVER/ACPI/patched/DSDT.aml
- always name config.plist as CLOVER/config.plist
 
Do not do that.

That feature does not work reliably.
Simplfy:
- always name DSDT as CLOVER/ACPI/patched/DSDT.aml
- always name config.plist as CLOVER/config.plist
did that
 
can u pls help me fix the problem
 
the files
 

Attachments

  • CLOVER 4.zip
    1.7 MB · Views: 49
  • Archive.zip
    2.1 KB · Views: 80
  • for-rehabman.ioreg
    4.9 MB · Views: 82

I think you forgot to press F4.
Expect timestamps on ACPI/patched to be *newer* than those on ACPI/origin.

Note: You should probably be doing some analysis and debugging using ACPIDebug.kext and debug ACPIBatteryManager.kext.

Also, it is possible your EC is in a bad state due to previous attempts with wrongly patched ACPI. You should test your battery status on Windows, taking note of specific capacity and current draw numbers, and you should do an EC reset (see FAQ).
 
How should i debug?
 
@RehabMan thanks a lot for your help i fixed the issue by following this
After a combination of using ACPIDebug, studying a working DSDT for a machine similar to mine and harnessing my sheer obsessiveness/stubbornness, I managed to find the offending bit of code that is getting the battery stuck.

Code:
Method (SMRD, 4, NotSerialized)
    {
        If (LNot (ECOK))
            {
                Return (0xFF)
            }
....

So I changed this to the following...

Code:
Method (SMRD, 4, NotSerialized)
    {
        If (LEqual (ECOK, One))
            {
                Return (0xFF)
            }
....

... and now my issue is fixed! Battery and AC are working correctly, battery status no longer gets stuck and correct percentage is reported in both macOS and Windows upon every reboot :headbang:

In light of this, I'd like to mark this as resolved, but first I'm hoping you can answer a couple of questions for me:

1) What exactly does this change do to fix the status?
2) Is the edit I've made correct/safe as it stands or would you suggest implementing it another way?


Thanks a lot again and is this a good patch?
 
Status
Not open for further replies.
Back
Top