Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

You provided no photo of a KP, and in fact the files you provided imply successful boot.
Problem reporting data must represent the problem scenario.

Here you are.
In the meantime i want to specify that i applied all the procedure you have described for patching battery status, disable dual-GPU, trackpad, brighness, usb 3 power..etc but i still got Kernel panic so i removed all the patched files.
 

Attachments

  • 20180203_185107.jpg
    20180203_185107.jpg
    466.4 KB · Views: 125
  • 20180203_232302.jpg
    20180203_232302.jpg
    483.3 KB · Views: 164
Here you are.
In the meantime i want to specify that i applied all the procedure you have described for patching battery status, disable dual-GPU, trackpad, brighness, usb 3 power..etc but i still got Kernel panic so i removed all the patched files.

No EFI/Clover attached that goes with these images...
The image on the right implies you have ACPIBatteryManager.kext installed or injected without proper ACPI patches.
Do not use ACPIBatteryManager.kext without correct ACPI patches for battery methods.
 
Question re: Clover and specifically the /ACPI/SortedOrder list option:

Will only the tables that are present in the SortedOrder list be loaded by Clover?

For example, assume I have an SSDT-12.aml in the /ACPI/origin folder and a patched SSDT-12.aml in the /ACPI/patched folder.

If I don't list SSDT-12.aml in the SortedOrder list in config.plist, then it won't be loaded, correct? Instead, I assume the table in the OEM SSDT-12.aml will be loaded.

However, if I list SSDT-12.aml in the SortedOrder list in config.plist, then it will be loaded and I should also drop whatever table is in that patched SSDT-12.aml that I want to replace of the OEM by specifying it in the /ACPI/DropTables option.

All the above assumes, of course, that I do not use the /API/SSDT/DropOEM or /ACPI/DSDT/DropOEM_DSM options.
 
Will only the tables that are present in the SortedOrder list be loaded by Clover?

If SortedOrder is specified, only those present in SortedOrder *and* present in ACPI/patched will be loaded.

For example, assume I have an SSDT-12.aml in the /ACPI/origin folder and a patched SSDT-12.aml in the /ACPI/patched folder.

If I don't list SSDT-12.aml in the SortedOrder list in config.plist, then it won't be loaded, correct? Instead, I assume the table in the OEM SSDT-12.aml will be loaded.

ACPI/origin content does not influence which SSDTs load.
If you have SSDT-12.aml in ACPI/patched, but not in SortedOrder, there will be no attempt by Clover to do anything with ACPI/patched/SSDT-12.aml.

However, if I list SSDT-12.aml in the SortedOrder list in config.plist, then it will be loaded and I should also drop whatever table is in that patched SSDT-12.aml that I want to replace of the OEM by specifying it in the /ACPI/DropTables option.

Wrong.
You cannot use DropTables to "replace" OEM tables... doing so can change the order of the tables (patched SSDT-12 will be placed *after* other OEM tables that would have normally followed it). Changing the order of tables is a bad idea... OEM tables are often order dependent.
This is why we need AutoMerge=true. With AutoMerge=true, Clover will replace the OEM SSDT-12 with your patched version and retain original order.

All the above assumes, of course, that I do not use the /API/SSDT/DropOEM or /ACPI/DSDT/DropOEM_DSM options.

No such thing as API/SSDT/DropOEM. I assume you're referring to ACPI/SSDT/DropOem.
With AutoMerge=true, DropOem should be set false.
If you set DropOem=true, all OEM tables are dropped (so generally, you must place all SSDTs in ACPI/patched, and use SortedOrder to set correct load order).
Read post #1, "Recommended configurations" for a listing of valid ACPI configurations.

DropOEM_DSM has nothing to do with table dropping/loading.
 
  • Like
Reactions: cyf
Hi Rehabman sir, to improve my desktop Hackingtosh(Mainboard Gigabyte B250M-D3H,EVGA 1060, 8G RAM, 128GB SSD)

I got three kinds of DSDT files per 3 ways (windows, Ubuntu & Clover F4), no one could be compiled properly, i deleted ssdt files singly(or same file size) & try the command "iasl -da -dl *.aml" again & again, all the tests failed...

Could you please teach me how to find out the ssdts which is duplicates, wish your help :crazy:.

Also attached both win & ubuntu dsdt files (BIOS was added Lenovo slic2.3), below system information for reference(testing AML files from Ubuntu):

Code:
Tims-MBP:dsdt tim$ ls
DSDT.aml    SSDT11.aml    SSDT3.aml    SSDT6.aml    SSDT9.aml
SSDT1.aml    SSDT12.aml    SSDT4.aml    SSDT7.aml
SSDT10.aml    SSDT2.aml    SSDT5.aml    SSDT8.aml
Tims-MBP:dsdt tim$ iasl -da -dl *.aml

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20141107-64 [Jan  2 2015]
Copyright (c) 2000 - 2014 Intel Corporation

Loading Acpi table from file   DSDT.aml - Length 00158542 (026B4E)
ACPI: DSDT 0x0000000000000000 026B4E (v02 LENOVO SV-INT   01072009 INTL 20160422)
Acpi table [DSDT] successfully installed and loaded
Loading Acpi table from file  SSDT9.aml - Length 00001815 (000717)
ACPI: SSDT 0x0000000000000000 000717 (v02 PmRef  Cpu0Ist  00003000 INTL 20160422)
Acpi table [SSDT] successfully installed and loaded
Pass 1 parse of [SSDT]
ACPI Warning: Invalid character(s) in name (0x5C6A4A10), repaired: [*J**] (20141107/utstring-708)
Pass 2 parse of [SSDT]
ACPI Warning: Invalid character(s) in name (0x5C6A4A10), repaired: [*J**] (20141107/utstring-708)
Loading Acpi table from file  SSDT8.aml - Length 00012290 (003002)
ACPI: SSDT 0x0000000000000000 003002 (v02 INTEL  PtidDevc 00001000 INTL 20160422)
Acpi table [SSDT] successfully installed and loaded
Pass 1 parse of [SSDT]
ACPI Warning: Invalid character(s) in name (0x2F5C1501), repaired: [****] (20141107/utstring-708)
ACPI Warning: Invalid character(s) in name (0x2F5C1501), repaired: [****] (20141107/utstring-708)
ACPI Error: ACPI Warning: Invalid character(s) in name (0x2F5C1501), repaired: [****] (20141107/utstring-708)
[****] 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
 

Attachments

  • Ubuntu dsdt.zip
    52.5 KB · Views: 78
  • Win dsdts.zip
    139.2 KB · Views: 78
Hi Rehabman sir, to improve my desktop Hackingtosh(Mainboard Gigabyte B250M-D3H,EVGA 1060, 8G RAM, 128GB SSD)

I got three kinds of DSDT files per 3 ways (windows, Ubuntu & Clover F4), no one could be compiled properly, i deleted ssdt files singly(or same file size) & try the command "iasl -da -dl *.aml" again & again, all the tests failed...

Could you please teach me how to find out the ssdts which is duplicates, wish your help :crazy:.

Also attached both win & ubuntu dsdt files (BIOS was added Lenovo slic2.3), below system information for reference(testing AML files from Ubuntu):

Code:
Tims-MBP:dsdt tim$ ls
DSDT.aml    SSDT11.aml    SSDT3.aml    SSDT6.aml    SSDT9.aml
SSDT1.aml    SSDT12.aml    SSDT4.aml    SSDT7.aml
SSDT10.aml    SSDT2.aml    SSDT5.aml    SSDT8.aml
Tims-MBP:dsdt tim$ iasl -da -dl *.aml

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20141107-64 [Jan  2 2015]
Copyright (c) 2000 - 2014 Intel Corporation

Loading Acpi table from file   DSDT.aml - Length 00158542 (026B4E)
ACPI: DSDT 0x0000000000000000 026B4E (v02 LENOVO SV-INT   01072009 INTL 20160422)
Acpi table [DSDT] successfully installed and loaded
Loading Acpi table from file  SSDT9.aml - Length 00001815 (000717)
ACPI: SSDT 0x0000000000000000 000717 (v02 PmRef  Cpu0Ist  00003000 INTL 20160422)
Acpi table [SSDT] successfully installed and loaded
Pass 1 parse of [SSDT]
ACPI Warning: Invalid character(s) in name (0x5C6A4A10), repaired: [*J**] (20141107/utstring-708)
Pass 2 parse of [SSDT]
ACPI Warning: Invalid character(s) in name (0x5C6A4A10), repaired: [*J**] (20141107/utstring-708)
Loading Acpi table from file  SSDT8.aml - Length 00012290 (003002)
ACPI: SSDT 0x0000000000000000 003002 (v02 INTEL  PtidDevc 00001000 INTL 20160422)
Acpi table [SSDT] successfully installed and loaded
Pass 1 parse of [SSDT]
ACPI Warning: Invalid character(s) in name (0x2F5C1501), repaired: [****] (20141107/utstring-708)
ACPI Warning: Invalid character(s) in name (0x2F5C1501), repaired: [****] (20141107/utstring-708)
ACPI Error: ACPI Warning: Invalid character(s) in name (0x2F5C1501), repaired: [****] (20141107/utstring-708)
[****] 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

"Problem Reporting" files are incomplete (no EFI/Clover with ACPI/origin attached)
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 

Attachments

  • debug_1015.zip
    8.9 MB · Views: 86
Hi sir, thank you for your reply quickly, i used gen_debug.sh & got zip file as attached.

No issue disassembling your files as per guide: iasl -da -dl DSDT.aml SSDT*.aml
 
Back
Top