Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

Make sure you use a fresh set of extracted files only from Clover F4 (remove all files in ACPI/origin, then re-extract).
i already did that twice and yes i am using fresh set of extracted files from Clover F4(but if i Disassemble without refs.txt then i got iASL warning: There were 5 external control methods found during disassembly, but only 0 were resolved (5 unresolved).) if i trying to Disassemble with refs.txt then i got this ("iASL Warning: There were 14 external control methods found during disassembly, but only 9 were resolved (5 unresolved) and these two ACPI Exception: AE_ALREADY_EXISTS, while adding external to namespace [_SB_.PCI0.GFX0.DD02._BCM] (20160422/dmextern-1012)
ACPI Exception: AE_ALREADY_EXISTS, while adding external to namespace [MDBG] (20160422/dmextern-1012).
 
i already did that twice and yes i am using fresh set of extracted files from Clover F4(but if i Disassemble without refs.txt then i got iASL warning: There were 5 external control methods found during disassembly, but only 0 were resolved (5 unresolved).) if i trying to Disassemble with refs.txt then i got this ("iASL Warning: There were 14 external control methods found during disassembly, but only 9 were resolved (5 unresolved) and these two ACPI Exception: AE_ALREADY_EXISTS, while adding external to namespace [_SB_.PCI0.GFX0.DD02._BCM] (20160422/dmextern-1012)
ACPI Exception: AE_ALREADY_EXISTS, while adding external to namespace [MDBG] (20160422/dmextern-1012).

Warnings are normal. No idea about your AE_ALREADY_EXISTS unless you attach the files you're working with.
 
Warnings are normal. No idea about your AE_ALREADY_EXISTS unless you attach the files you're working with.
this is my Extracted DSDT.aml and DSDT.dsl (Disassemble with refs.txt)
if i disassemble without refs.text then i don't get these AE_ALREADY_EXISTS ACPI Exception ...then iASL gives only warning..
 

Attachments

  • DSDT.aml
    36.9 KB · Views: 114
  • DSDT.dsl
    335.2 KB · Views: 145
  • Screen Shot 2016-05-19 at 11.14.42 PM.png
    Screen Shot 2016-05-19 at 11.14.42 PM.png
    111.9 KB · Views: 126
this is my Extracted DSDT.aml and DSDT.dsl (Disassemble with refs.txt)
if i disassemble without refs.text then i don't get these AE_ALREADY_EXISTS ACPI Exception ...then iASL gives only warning..

You need to provide all native DSDT and SSDT files from ACPI/origin.
 
this is my Extracted DSDT.aml and DSDT.dsl (Disassemble with refs.txt)
if i disassemble without refs.text then i don't get these AE_ALREADY_EXISTS ACPI Exception ...then iASL gives only warning..


I think I had this. I don't think you need the refs file as that may be defining methods that you already have in the SSDT and DSDT's hence the "already exists". Just go with the original method and don't worry about the warnings. I did this and my Lenovo is working like a dream.
 
I think I had this. I don't think you need the refs file as that may be defining methods that you already have in the SSDT and DSDT's hence the "already exists". Just go with the original method and don't worry about the warnings. I did this and my Lenovo is working like a dream.

The AE_ALREADY_EXISTS can be ignored when it is caused by the content of refs.txt.

Or you can eliminate the duplicate symbols from the refs.txt that you're using.
 
Awesome guide, I've put together a patch for my HP Envy M6-k010dx, attached below with a copy of (what I believe to be) a cleanly ripped DSDT using Clover. Spent about thirty minutes after finishing it wondering why the battery wouldn't show up, before finally realizing that I hadn't actually finished installing the kext haha. Great work and a thousand thanks!

Nothing is attached.

Battery patches should be contributed at the battery patch thread. Be sure to read the section marked "Contibuting".
 
My bad, I apparently had the wrong tab open when I replied. I'll correct the post and put it in the right place.
 
Thanks for the post. Unfortunately, I'm running into some issues...
I made sure to configure my Clover's "config.plist" file to fit the patching process (file provided for reference).

I also used your recommended "alt+f4" method for obtaining all the DSDT/SSDT files, and I made sure that there were no duplicates. I used the latest version of iASL (v6.1), but this issue comes up when I run
Code:
iasl -da -dl -fe refs.txt *.aml

Code:
Loading Acpi table from file   DSDT.aml - Length 00083861 (014795)
ACPI: DSDT 0x0000000000000000 014795 (v02 _ASUS_ Notebook 00000208 INTL 20091112)
Acpi table [DSDT] successfully installed and loaded
Loading Acpi table from file SSDT-9.aml - Length 00006044 (00179C)
ACPI: SSDT 0x0000000000000000 00179C (v01 _ASUS_ Notebook 00003000 INTL 20091112)
Acpi table [SSDT] successfully installed and loaded
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Loading Acpi table from file SSDT-8.aml - Length 00000855 (000357)
ACPI: SSDT 0x0000000000000000 000357 (v01 _ASUS_ Notebook 00001000 INTL 20091112)
Acpi table [SSDT] successfully installed and loaded
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Loading Acpi table from file SSDT-7x.aml - Length 00000281 (000119)
ACPI: SSDT 0x0000000000000000 000119 (v01 PmRef  ApCst    00003000 INTL 20051117)
Acpi table [SSDT] successfully installed and loaded
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Loading Acpi table from file SSDT-6x.aml - Length 00000979 (0003D3)
ACPI: SSDT 0x0000000000000000 0003D3 (v01 PmRef  Cpu0Cst  00003001 INTL 20051117)
Acpi table [SSDT] successfully installed and loaded
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Loading Acpi table from file SSDT-5x.aml - Length 00001450 (0005AA)
ACPI: SSDT 0x0000000000000000 0005AA (v01 PmRef  ApIst    00003000 INTL 20051117)
Acpi table [SSDT] successfully installed and loaded
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Loading Acpi table from file SSDT-4x.aml - Length 00001249 (0004E1)
ACPI: SSDT 0x0000000000000000 0004E1 (v01 IdeRef IdeTable 00001000 INTL 20140926)
Acpi table [SSDT] successfully installed and loaded
Pass 1 parse of [SSDT]
ACPI Error: [STFE] Namespace lookup failure, AE_ALREADY_EXISTS (20141107/dswload-451)
ACPI Exception: AE_ALREADY_EXISTS, During name lookup/catalog (20141107/psobject-305)
Could not parse external ACPI tables, AE_ALREADY_EXISTS

I'm having some trouble understanding the full dynamics of the "refs.txt".. From what I understand, I use the txt file when I need to call an external method that isn't defined natively in the files; and I also must provide the correct order of calling (which I'm assuming is ordered by the line of code the method is being called starting from DSDT.asl to SSDT1.asl to SSDT2.asl, etc.) I'm also not sure what the numbers after "MethodObj" are supposed to represent (maybe the call order, or the correlating SSDT/DSDT number?)

I've read the guide to see if I've been misreading anything and even looking at others forums via Google search, but to no luck; I would really appreciate any convenient help. I've also placed many reference files for convenience.
 

Attachments

  • config.plist
    10.3 KB · Views: 159
  • refs.txt
    30 bytes · Views: 136
  • SSDT:DSDT Files.zip
    43 KB · Views: 76
Back
Top