Contribute
Register

[Guide] How to patch DSDT for working battery status

@Feartech Hi, Need your help, HP8470p battery % & icon not working.
Thanks
hardware profile incomplete

problem reporting files are incomplete

 
Sorry for the uncompleted profile.
My HP8470p battery % & icon not working
but Time Reaming & Charging status works. Please help
 

Attachments

  • rajmahavir-HP8470p.ioreg
    3.2 MB · Views: 77
  • Rajmahavir-HP8470p.rtf.zip
    1.1 KB · Views: 80
Sorry for the uncompleted profile.
My HP8470p battery % & icon not working
but Time Reaming & Charging status works. Please help
missing ACPIBatteryManager.kext from clover/kexts/other

then remove folder 10.10

config.plist:

enable these:
Code:
<key>Fixes</key>
            <dict>
                <key>Comment-IRQ Fix</key>
                <string>The following fixes may be needed for onboard audio/USB/etc</string>
                <key>FixTMR</key>
                <false/>
                <key>FixRTC</key>
                <false/>
                <key>FixIPIC</key>
                <false/>
                <key>FixHPET</key>
                <false/>
            </dict>

also from here:

you may need:

  • add kernel flag "abm_firstpolldelay" to allow override of FirstPollDelay with simple kernel flag entry (config.plist/Boot/Arguments). For example, to set FirstPollDelay to 16000 (16 seconds), use abm_firstpolldelay=16000
 
missing ACPIBatteryManager.kext from clover/kexts/other

then remove folder 10.10

config.plist:

enable these:
Code:
<key>Fixes</key>
            <dict>
                <key>Comment-IRQ Fix</key>
                <string>The following fixes may be needed for onboard audio/USB/etc</string>
                <key>FixTMR</key>
                <false/>
                <key>FixRTC</key>
                <false/>
                <key>FixIPIC</key>
                <false/>
                <key>FixHPET</key>
                <false/>
            </dict>

also from here:

you may need:

  • add kernel flag "abm_firstpolldelay" to allow override of FirstPollDelay with simple kernel flag entry (config.plist/Boot/Arguments). For example, to set FirstPollDelay to 16000 (16 seconds), use abm_firstpolldelay=16000
All done. Move kext to other, enabled fixes in the config and added polldelay arg of 16 sec. Still showing the same (0% and more than half empty icon).
Trying to use ssdt batc.dsl, how to know battery code i am using ?
 
All done. Move kext to other, enabled fixes in the config and added polldelay arg of 16 sec. Still showing the same (0% and more than half empty icon).
Trying to use ssdt batc.dsl, how to know battery code i am using ?
post 2:
 
Are you running on Clover or Opencore? I have the exact same on opencore . But I don't see Battery Status.
Tested both on Opencore and Clover.
 
@RehabMan @Feartech
I have an Hp Omen ek00042tx laptop
Following are its main config:
Intel i7 10750H
16 Gb Ram
Uhd 630
rtx 2060

I started reading up on the battery patching.
In my DSDT following is the entry for embeddedcontrol

Code:
OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
            Field (ERAM, ByteAcc, NoLock, Preserve)
            {
                SMPR,   8,
                SMST,   8,
                SMAD,   8,
                SMCM,   8,
                SMD0,   256,
                BCNT,   8,
                SMAA,   8,
                Offset (0x30),
                BTPL,   8,
                BTPH,   8,
                BCLC,   8,
                Offset (0x34),
                SRP1,   8,
                SRP2,   8,
                Offset (0x40),
                SW2S,   1,
                    ,   2,
                ACCC,   1,
                TRPM,   1,
                Offset (0x41),
                W7OS,   1,
                QWOS,   1,
                    ,   1,
                SUSE,   1,
                RFLG,   1,
                Offset (0x42),
                    ,   4,
                KBBL,   1,
                Offset (0x43),
                    ,   1,
                    ,   1,
                ACPS,   1,
                ACKY,   1,
                GFXT,   1,
                Offset (0x44),
                    ,   7,
                DSMB,   1,
                Offset (0x47),
                TNT2,   8,
                TNT3,   8,
                TNT4,   8,
                IRSN,   8,
                TNT5,   8,
                STRM,   8,
                Offset (0x4E),
                LIDE,   1,
                Offset (0x4F),
                Offset (0x50),
                    ,   2,
                PTHM,   1,
                    ,   1,
                BSEV,   1,
                DPTL,   1,
                IHEF,   1,
                Offset (0x52),
                ECLS,   1,
                Offset (0x55),
                EC45,   8,
                Offset (0x58),
                RTMP,   8,
                TNT1,   8,
                Offset (0x5B),
                HPTC,   8,
                Offset (0x5F),
                    ,   1,
                Offset (0x61),
                SHPM,   8,
                OMCC,   1,
                Offset (0x67),
                LDBG,   1,
                    ,   1,
                GC6R,   1,
                IGC6,   1,
                    ,   3,
                HDNK,   1,
                    ,   3,
                PLGS,   1,
                Offset (0x69),
                    ,   4,
                BCTF,   1,
                BMNF,   1,
                BTVD,   1,
                BF10,   1,
                Offset (0x6C),
                GWKR,   8,
                Offset (0x70),
                BADC,   16,
                BFCC,   16,
                BVLB,   8,
                BVHB,   8,
                BDVO,   8,
                Offset (0x7F),
                ECTB,   1,
                Offset (0x82),
                MBST,   8,
                MCUR,   16,
                MBRM,   16,
                MBCV,   16,
                GPUT,   8,
                Offset (0x8B),
                LEDM,   3,
                Offset (0x8D),
                    ,   5,
                MBFC,   1,
                Offset (0x90),
                NVDO,   8,
                ECDO,   8,
                Offset (0x94),
                GSSU,   1,
                GSMS,   1,
                Offset (0x95),
                HPCM,   8,
                Offset (0xA0),
                QBHK,   8,
                Offset (0xA2),
                QBBB,   8,
                Offset (0xA4),
                MBTS,   1,
                    ,   6,
                BACR,   1,
                Offset (0xA6),
                MBDC,   8,
                Offset (0xA8),
                ENWD,   1,
                TMPR,   1,
                Offset (0xAA),
                    ,   1,
                SMSZ,   1,
                SE1N,   1,
                SE2N,   1,
                SOIE,   1,
                    ,   2,
                RCDS,   1,
                Offset (0xAD),
                SADP,   8,
                Offset (0xB0),
                RPM1,   8,
                RPM2,   8,
                RPM3,   8,
                RPM4,   8,
                Offset (0xB7),
                DGTP,   8,
                Offset (0xBA),
                CLOW,   8,
                CMAX,   8,
                Offset (0xC1),
                DPPC,   8,
                Offset (0xC5),
                SHB1,   1,
                SHB2,   1,
                SHB3,   1,
                SHB4,   1,
                SHOK,   1,
                SHFL,   1,
                SHNP,   1,
                SHEN,   1,
                    ,   1,
                CVTS,   1,
                Offset (0xD0),
                EBPL,   1,
                Offset (0xD2),
                S1A1,   8,
                S2A1,   8,
                PSHD,   8,
                PSLD,   8,
                DBPL,   8,
                STSP,   8,
                Offset (0xDA),
                PSIN,   8,
                PSKB,   1,
                PSTP,   1,
                    ,   1,
                PWOL,   1,
                RTCE,   1,
                Offset (0xDC),
                S1A0,   8,
                S2A0,   8,
                NVDX,   8,
                ECDX,   8,
                DLYT,   8,
                DLY2,   8,
                KBT0,   8,
                Offset (0xE6),
                SFHK,   8,
                Offset (0xE9),
                DTMT,   8,
                PL12,   8,
                ETMT,   8,
                COLM,   1,
                FFFF,   1,
                FFFS,   1,
                Offset (0xF2),
                ZPDD,   1,
                    ,   6,
                ENPA,   1,
                Offset (0xF4),
                SFAN,   8,
                Offset (0xF8),
                NVDS,   1,
                NVPM,   1,
                Offset (0xF9),
                    ,   7,
                FTHM,   1
            }

I am not able to find utilisation for the 16 bit and higher values in my dsdt except for references.
No Store related code. I have attached my dsdt for reference. can you tell me what is that I am missing.

FYI : my system is up and running except for battery indicator and trackpad left click which is a Synaptics trackpad I2C. Somwhere I read that in order to get trackpad working properly the battery needs to be patched.
I use OpenCore as bootloader.
 

Attachments

  • System DSDT.aml
    328.7 KB · Views: 85
Last edited:
Hi, i am new user for OpenCore and i would like to manage battery lever. I do not have all skills for change DSDT.aml by myself.

I check the rehabman repertory for a patch (HP 820 G3) without succes.

someone can help me ? I attach original DSDT extract with clover start from usb key
 

Attachments

  • DSDT.aml
    151.8 KB · Views: 77
Hi, i am new user for OpenCore and i would like to manage battery lever. I do not have all skills for change DSDT.aml by myself.

I check the rehabman repertory for a patch (HP 820 G3) without succes.

someone can help me ? I attach original DSDT extract with clover start from usb key
Finally after some time and efforts i do an working dsdt
 

Attachments

  • DSDT-840G3.aml
    153.6 KB · Views: 111
Back
Top