Jump to content

Battery charge is 100% frozen


Drovosek
 Share

2 posts in this topic

Recommended Posts

For my laptop Hp Pavilion 15-au028ur worked patch for HP 3165sf
I also experimented with manual patching and assembled my own version:

#Maintained by: RehabMan for: Laptop Patches
#Battery_HP-DV6-1380ek.txt

# created by RehabMan 2019-xx-xx
# based on Battery_HP-DV6-1380ek.txt
# additional patches for dv6-1380ek provided by chihab222, credit gsly

# works for:
#  HP Pavilion 15-au028ur, per Drovosek

into method label B1B2 remove_entry;
into definitionblock code_regex . insert
begin
Method (B1B2, 2, NotSerialized) { Return (Or (Arg0, ShiftLeft (Arg1, 8))) }\n
end;

# 16-bit EC0 registers
#                BADC,   16,
#                BFCC,   16,
#                MCUR,   16,
#                MBRM,   16,
#                MBCV,   16,
into device label EC0 code_regex BADC,\s+16, replace_matched begin ADC0,8,ADC1,8, end;
into device label EC0 code_regex BFCC,\s+16, replace_matched begin FCC0,8,FCC1,8, end;
into device label EC0 code_regex MCUR,\s+16, replace_matched begin CUR0,8,CUR1,8, end;
into device label EC0 code_regex MBRM,\s+16, replace_matched begin BRM0,8,BRM1,8, end;
into device label EC0 code_regex MBCV,\s+16, replace_matched begin BCV0,8,BCV1,8, end;

# 16-bit method access
into method label CLRI code_regex (\^.*)MBRM replaceall_matched begin B1B2\(%1BRM0,%1BRM1\) end;
into method label UPBS code_regex (\^.*)MBRM replaceall_matched begin B1B2\(%1BRM0,%1BRM1\) end;
into method label UPBI code_regex (\^.*)BFCC replaceall_matched begin B1B2\(%1FCC0,%1FCC1\) end;
into method label UPBS code_regex (\^.*)MCUR replaceall_matched begin B1B2\(%1CUR0,%1CUR1\) end;
into method label UPBS code_regex (\^.*)MBCV replaceall_matched begin B1B2\(%1BCV0,%1BCV1\) end;

The only problem - when it reaches 100% charge, it no longer falls until you reset the CMOS (15-30 seconds hold down the power button on the laptop). In the rehabman guide there is a patch for ASUS in this case, there is a patch method FBST. There is no such method in my DSDT.

Can someone help?

Here's a patched and clean DSDT: https://vk.com/doc183234383_509697931

Link to comment
Share on other sites

I managed to cope with the problem. I read the relevant topic on the applelife forum, they recommend using the special boot argument with ACPIBatteryManager.kext,
either use VirtualSMC with a driver and additional cakes, or use cakes from HWSensors3.

Links:
https://applelife.ru/threads/applesmartbattery-batareja-noutbukov.31744/
-----
https://bitbucket.org/RehabMan/os-x-acpi-battery-driver/downloads/
https://github.com/RehabMan/OS-X-ACPI-Battery-Driver/commit/28a0fbdcd5ed7598315948af4e1228683ff2fff2#diff-04c6e90faac2675aa89e2176d2eec7d8
https://sourceforge.net/projects/hwsensors3.hwsensors.p/
https://github.com/acidanthera/VirtualSMC/releases

What did I do:

In ACPI / patched put your patched DSDT

Removed ACPIBatteryManager.kext
I downloaded HWSensors3 and dropped the other cakes into the Other folder - FakeSMC.kext, VoodooBatterySMC.kext and just in case ACPIMonitor.kext (but judging by what is written in the Readme it is not needed for the battery, but this is not certain).
The bug with the freezing of the charge indicator is 100% corrected.
But there is a mini-bug: Sometimes the charge percentage indicator freezes at random values, for example, 92% and then the N-th number of minutes does not change. If you click on the charge icon in the top panel, then after a couple of seconds, the charge indicator will be updated to the current one, for example, 98%.
Perhaps after a large number of minutes, the indicator will update itself, but the figure with the charge percentage "will make the jump."
Slice told me that most likely the SMC or something else is involved in updating the charge in macOS and to fix it, it is necessary that the HWMonitorSMC2 application be launched and it updates the charge itself.

Then I deleted FakeSMC.kext, VoodooBatterySMC.kext and ACPIMonitor.kext and used the cakes and driver from VirtualSMC. He was all the same as above with the HWSensors3 cakes.

So, we can assume that the problem is solved.

Link to comment
Share on other sites

 Share

×
×
  • Create New...