Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

Hi, RehabMan
I still did not get it. how to remover this Methods.. o_O
can you use my DSDT file to make a example . have been trying for many days. but still don't understand were must I remove this "Method (_DSM"
thanks.

Search for "Method (_DSM". Remove each instance (the entire method) you find.
 
For DSDT.dsl:
"Fix PARSEOP_ZERO Error" (be sure to uncommment the "more agressive" patches)
"Fix ADBG Error"
"Remove _DSM methods"
"IRQ Fix"
"SMBUS Fix"
"OS Check Fix (Windows 8)"
"Add IMEI"
"RTC Fix"
"Fix _WAK Arg0 v2"
"Fix _WAK IAOE" (new patch)
"Rename GFX0 to IGPU"
"Rename B0D3 to HDAU" (new patch)
"ASUS N55SL/VivoBook"
"USB3 _PRW(0x6D) and Rename XHC to XHC1" (new patch)
"Audio Layout 12"
Hi again
Do I patch all this patchs and then find the "Method (_DSM" ? or when I patch one by one and Check after each patch for "Method (_DSM" and then Remove them?
Sorry I really don't know how this work.
 
Hi again
Do I patch all this patchs and then find the "Method (_DSM" ? or when I patch one by one and Check after each patch for "Method (_DSM" and then Remove them?
Sorry I really don't know how this work.

"Remove _DSM methods" should be done first.
 
"Remove _DSM methods" should be done first.
Yes, I did Remove _DSM first, but there are no _DSM showing up, but the $End error came up,and then when I did Rename B0D3 to HDAU, and SMBUS FIX and USB3 _PRW(0x6D) and Rename XHC to XHC1. this Method (_DSM start to came up. but I know this is from the patch, thats why I ask if I need to finish all patch list on the DSDT/SSDT patch Guide, and then look for Method (_DSM to remove them? or do a patch and when I see the patch has (_DSM, I remove it right away.:roll2:
or I don't patch this patch has Method (_DSM?
or do you mean before I do any patch, I look for Method (_DSM to remove them?

Thanx.
 
Hi agian..
do I delete all this code?
Code:
            Device (D00B)            {
                Name (_ADR, 0x001F0003)  // _ADR: Address
                Device (BUS0)
                {
                    Name (_CID, "smbus")
                    Name (_ADR, Zero)
                    Device (DVL0)
                    {
                        Name (_ADR, 0x57)
                        Name (_CID, "diagsvault")
                        Method (_DSM, 4, NotSerialized)
                        {
                            If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
                            Return (Package() { "address", 0x57 })
                        }
                    }
                }
            }

or just delete after Method (_DSM? Like this.
Code:
                        Method (_DSM, 4, NotSerialized)
                        {
                            If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
                            Return (Package() { "address", 0x57 })
                        }
                    }
                }
            }
 
Yes, I did Remove _DSM first, but there are no _DSM showing up, but the $End error came up,

Some DSDTs expose a MaciASL bug with "Remove _DSM method". Remove manually instead.

thats why I ask if I need to finish all patch list on the DSDT/SSDT patch Guide, and then look for Method (_DSM to remove them? or do a patch and when I see the patch has (_DSM, I remove it right away.:roll2:
or I don't patch this patch has Method (_DSM?

Some patches add _DSM methods. Hence why any removal of _DSM methods must happen prior to applying other patches.
 
Hi agian..
do I delete all this code?

No. Just the _DSM method.

Method declaration and code for the method contained in matching opening/closing braces:

or just delete after Method (_DSM? Like this.
Code:
[STRIKETHRU]                        Method (_DSM, 4, NotSerialized)
                        {
                            If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
                            Return (Package() { "address", 0x57 })
                        }
[/STRIKETHRU]                    }
                }
            }
 
I'm trying to get my ALC283 working in my El Capitan installation but MaciASL give me tons of errors when I try to work with the DSDT, I've even tried extracting with Linux and Clover using the iasl tool but I just get fewer errors:

System DSDT:
Screen Shot 2015-09-11 at 1.42.01 PM.png

DSDT Extracted from Linux:
Screen Shot 2015-09-11 at 1.39.41 PM.png

Converted DSDT.dsl from iasl:
Screen Shot 2015-09-11 at 1.39.17 PM.png

Specs:

Laptop Model: Acer Aspire E5-571-376T
CPU: Intel i3-5005U/Broadwell-U
OS: El Capitan PB1
 
...
Converted DSDT.dsl from iasl:
View attachment 150618

Specs:

Laptop Model: Acer Aspire E5-571-376T
CPU: Intel i3-5005U/Broadwell-U
OS: El Capitan PB1

Read post #1. Carefully.

Must use ACPI 5.0. Must extract all DSDT/SSDTs. Must disassemble with all as context (iasl -da -dl *.aml, where all DSDT.aml and SSDT*.aml are in the current directory).
 
Yeah, I guess the problem was just the ACPI version, my bad. Now I'm getting just two errors, I've placed all DSDT and SSDT files I found from the tables extracted from Linux, including those inside the 'dynamics' folder (SSDT7, 8 and 9), inside the same folder.

Screen Shot 2015-09-11 at 1.52.37 PM.png
 
Back
Top