Contribute
Register

[Guide] How to patch DSDT for working battery status

Not possible to deal with an AML standalone. Post all native DSDT and SSDT files extracted from Linux.

See guide: http://www.tonymacx86.com/yosemite-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html

Note: The SPL1 and RPL1 refer not to the EC PLSV, but the Name PLSV. You're looking at a "red herring".
Sorry I didn't store my original DSDT SSDT, I will extract again late today.
I upload this patched version View attachment DSDT+SSDT(aml).zip. Mostly unchanged, only patched using Macisal script.
Let me know if you need a original version, I will download Linux again and get them.
 
Sorry I didn't store my original DSDT SSDT, I will extract again late today.
I upload this patched version View attachment 132338. Mostly unchanged, only patched using Macisal script.
Let me know if you need a original version, I will download Linux again and get them.

The PLSV in EC0 is not accessed, and therefore does not need to be patched.

How to verify for yourself:
- disassemble DSDT (iasl -da -dl *.aml)
- open DSDT.dsl
- fix errors so you have an error free compile
- search for PLSV and rename it to an identifier not used (I renamed to PLSX after verifying PLSX is not an existing identifier)
- compile... result: no errors

Conclusion: by renaming PLSV to PLSX and having no errors caused by the rename, one can conclude with certainty it is not accessed in DSDT.

Additional check: 'grep PLSV *.dsl' (to search SSDTs too) reveals no SSDT access either.
 
What is the purpose of this part of the patch?

Code:
# Commenting out string data
into method label GBIF code_regex Store\s\(B1B2\(BSN0 replace_matched begin /* Store (B1B2(BSN0 end;
into method label GBIF code_regex Index\s\(Arg1,\s0x0C\)\) replace_matched begin Index (Arg1, 0x0C)) */ end;

Seems a little weird/wrong... Maybe you can investigate.

Not commenting out the code does interfere with battery monitoring. The % remaining reads zero.

The commented code calculates a 128 bit long string (SBMN) that isn't referenced elsewhere in the DSDT, 8 SSDTs or the ACPI specification. It looks like the previous section of code estimates the current battery drain based on accumulation at 20 ms intervals. I haven't looked at the MS version of ACPI documentation, and probably won't.

Linux guides to debugging the DSDT are leery of modifications like this. Philosophically, I agree that this is not a good thing to do. Practically, it just works.:oops:

~Akebono
 
Not commenting out the code does interfere with battery monitoring. The % remaining reads zero.

The commented code calculates a 128 bit long string (SBMN) that isn't referenced elsewhere in the DSDT, 8 SSDTs or the ACPI specification. It looks like the previous section of code estimates the current battery drain based on accumulation at 20 ms intervals. I haven't looked at the MS version of ACPI documentation, and probably won't.

The guide in post #1 demonstrates how to deal with fields 64-bits and larger.
 
Hi! I've been reading all posts about fixing battery, but my head it's just messed up i have a laptop hackintosh i've been able to put all kext in order and a very clean installation, but i can't make the battery work it's just there with a cross on it, i tried different kexts and i can't figure it out. Please i need some help. I've noticed that you are a moderator so i hope i could have some of your help. :idea:
 
Hi! I've been reading all posts about fixing battery, but my head it's just messed up i have a laptop hackintosh i've been able to put all kext in order and a very clean installation, but i can't make the battery work it's just there with a cross on it, i tried different kexts and i can't figure it out. Please i need some help. I've noticed that you are a moderator so i hope i could have some of your help. :idea:

Read post #1.

Please provide complete details in your profile/signature
(Profile/Settings link in upper right corner of this site)

System: manufacturer/model + bootloader(Clover/Chameleon/Chimera)
CPU: detailed CPU model + motherboard chipset
Graphics: all graphics devices + laptop internal screen resolution

For example, typical Ivy laptop:
System: HP ProBook 4540s (Clover)
CPU: i5-3320m/HM76
Graphics: HD4000, 1366x768

Use CPU-Z on Windows to find CPU (Core iX-xxx) and motherboard chipset (HMxx), and graphics capabilities. For a laptop, these details are important and affect critical installation procedures.
 
Hi, i'm trying to make a battery patch for HP EliteBook 2170p, but the work seems too hard for me, can you help me?

Attached:
your hp probook generic patch modified by me
full clover origin aml

Thanks in advance.
 

Attachments

  • HpEliteBook2170p.tar.gz
    54 KB · Views: 123
Back
Top