Contribute
Register

[Guide] How to patch DSDT for working battery status

I hate to bother you Rehabman, but I have tried everything to no avail... I am getting ACPI errors (parse/execution and AE Bad Parameter) for _BIF and _BST (I assume that is Battery Info and Battery Status). I attempted to patch DSDT for 16bit/128bit/256bit to 8bit methods...?! I have failed terribly.

All the errors mention [\_SB.PCI0.LPCB.EC.BAT0._BIF] and [\_SB.PCI0.LPCB.EC.BAT0._BST] and parsing problems, so I assume I did not correctly patch DSDT for 8bit reading?!

I am renaming H_EC to EC in Clover ACPI patches.

Any help would be most appreciated, as I cannot use this Lenovo Ideapad 330s (i3-8130u Kaby Lake Refresh, UHD 620) laptop on battery at all, and sleep ends up shutting down the system eventually (due to no battery level reading). All helpful files attached.

NOTE: I am using MBP14,3 as SMBIOS... which may be incorrect too (should be MBP14,1?)

You didn't patch EC fields.
Just as an example: BML0 is 16-bit unpatched.
Read post #1.
 
4 Compile Errors... Object does not exist?!

12 registers patched

21 methods patched

These are only the 16bit registers - I have one of each 32, 64, 96 and 128 bit registers/methods to patch for completion.

Please see attached for details and patchfiles I created. Many thanks for pointing me in the right direction, I feel I am very close now.
 

Attachments

  • Help_Files.zip
    128.1 KB · Views: 52
I have commented out the offending sections and now have battery percentage of a sort... it does not seem to update until you click in the menubar or open the prefpanel (Energy Saver).

Auto-Dim works, as does the beep and restore brightness on re-plugin :)

Let me try ABM_firstpolldelay=16000 and see what happens :)
 
Never mind... I have managed to kill sleep, Bluetooth after sleep and touchpad :(

Even with battery status working, this is less than useless... I will try a few things tomorrow, but if I cannot make any headway, I will revert to a backup EFI folder and at least have a working system apart from Battery :(
 
I followed your patching guide... only 4 errors out of 12+21 patches... I'm sure the offending "non existent" objects are still defined at the beginning of the file?!

I don't know which way to go now :-/

I am also struggling with an install onto Gigabyte H370-HD3, so I am operating on about 1hr sleep over 3 days :-|
 
I followed your patching guide... only 4 errors out of 12+21 patches... I'm sure the offending "non existent" objects are still defined at the beginning of the file?!

I don't know which way to go now :-/

You failed to attach any files representing your problem.

I am also struggling with an install onto Gigabyte H370-HD3, so I am operating on about 1hr sleep over 3 days :-|

Off-topic.
 
I have reverted back to default (no DSDT), but my original untouched files, and my 16 bit patch files are still attached in my previous few posts... It is totally beyond my scope of experience, but if I can't even correctly do the 16 bit patches, I will never accomplish 96bit or 128 bit :(

If you want to help out, I will gladly test and supply any troubleshooting data you require, but I am like a baby with DSDT patching of this magnitude :-|
 
I have reverted back to default (no DSDT), but my original untouched files, and my 16 bit patch files are still attached in my previous few posts... It is totally beyond my scope of experience, but if I can't even correctly do the 16 bit patches, I will never accomplish 96bit or 128 bit :(

If you want to help out, I will gladly test and supply any troubleshooting data you require, but I am like a baby with DSDT patching of this magnitude :-|

You will need to provide details on your issue.
 
I've patched my methods but it isn't working
 
Back
Top