Contribute
Register

[Guide] How to patch DSDT for working battery status

Helo

i'm facing the "20:00 remaining time" issue

Any ideas to solve it?


Thank you!
 
hello,
i'm lucky i just have 8 bits and no need to patch, so i use ACPIBatteryManager and works well!!!!
but i seen this in my console:
06/12/2015 20:04:20,000 kernel[0]: ACPIBatteryManager: WARNING! fMaxCapacity > fDesignCapacity. adjusted fMaxCapacity from 4493, to 4000
06/12/2015 20:04:20,000 kernel[0]: ACPIBatteryManager: WARNING! fCurrentCapacity > fMaxCapacity. adjusted fCurrentCapacity from 4493, to 4000

is it normal?
 
Hi! You need to see the native battery's design capacity. If it is real 4000 mAh, then it is wrong information that read from ACPI, the third bit in the _BIF package. Maybe you have to correct the math mistake. Or maybe you have to recalibrate your battery by charging it to 100% then disconnect the AC cord and discharge the battery to 0% and so on, till the laptop will emergency turn off (not sleep). Then wait a moment and charge the battery while it is turned off. Then turn on and discharge it once more. Then your battery will be calibrated.
If it is printed on the battery that it is 4400 or 4700 mAh, then you need manually write that number into ACPI, to the second bit of _BIF package (and maybe you have to disable an Index field to this bit).

Read more about _BIF, ACPISpec 6.0 http://www.uefi.org/sites/default/files/resources/ACPI_6.0.pdf, p. 570 [10.2.2.1 _BIF (Battery Information)]
 
hey, you can help me to make work battery info on my Asus K550JD i read DSDT patch but i don't know how to patch it, you have posted an DSDT and my model is on the list but i don't understand where i need to patch.
thanks.
 
i wrote this in maciasl patch window



into device label EC0 code_regex ENIB, \s+16 replace_matched begin NIB0,8,NIB1,8 end;
into device label EC0 code_regex ERIB, \s+16 replace_matched begin RIB0,8,RIB1,8 end;


into method label _REG code_regex \(ENIB, replaceall_matched begin (B1B2(NIB0,NIB1), end;
into method label _REG code_regex \(ERIB, replaceall_matched begin (B1B2(RIB0,RIB1), end;

But the apply button is unclickable and i can't figure out why. any suggestions?
 
i wrote this in maciasl patch window



into device label EC0 code_regex ENIB, \s+16 replace_matched begin NIB0,8,NIB1,8 end;
into device label EC0 code_regex ERIB, \s+16 replace_matched begin RIB0,8,RIB1,8 end;


into method label _REG code_regex \(ENIB, replaceall_matched begin (B1B2(NIB0,NIB1), end;
into method label _REG code_regex \(ERIB, replaceall_matched begin (B1B2(RIB0,RIB1), end;

But the apply button is unclickable and i can't figure out why. any suggestions?

No idea without the native ACPI files.
 
Back
Top