Contribute
Register

Need Help DSDT for Asus K450J Error on compile.

Status
Not open for further replies.
Joined
Nov 12, 2011
Messages
18
Motherboard
OSX 10.8
CPU
i7 2600K
Graphics
Quadro FX4800
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
Dear Mr, Rehabman

I would like you to help me to solve error on compiling my Clean DSDT.
DSDT Extract by MacIASL. but cannot compile due to many errors.
my Purpose is trying to do patching for Disable Nvidia optimus for Reduce Heat & Battery Consumption.
Thanks in Advance.
 

Attachments

  • dsdt.aml
    64.1 KB · Views: 97
Dear Mr, Rehabman

I would like you to help me to solve error on compiling my Clean DSDT.
DSDT Extract by MacIASL. but cannot compile due to many errors.
my Purpose is trying to do patching for Disable Nvidia optimus for Reduce Heat & Battery Consumption.
Thanks in Advance.

From my repo: https://github.com/RehabMan/Laptop-DSDT-Patch
"Fix PARSEOP_ZERO Error"
"Fix ADBG Error"

You will get a better disassembly if you disassemble all at once...

You will need to extract all DSDT/SSDT from Linux. They are available in /sys/firmware/acpi/tables and /sys/firmware/acpi/tables/dynamic. Place them on USB or otherwise transfer to OS X.

It is not necessary to install Linux. Simply run it from USB: http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows

In Linux Terminal:
Code:
# substitute DEST with the mountpoint of a FAT32 formatted USB stick
sudo cp -R /sys/firmware/acpi/tables DEST

Place all SSDT/DSDT in a single directory (rename them to *.aml as you move them) and use a recent build of iasl to disassemble:
https://bitbucket.org/RehabMan/acpica/downloads
Code:
cd "to directory where you placed all SSDT/DSDT"
iasl -da -dl *.aml

Then work with the resulting *.dsl. You'll find you have less errors to deal with.
 
Thanks for your advice. will report update soon.
 
I try extract from Linux as advised i have DSL Files but still got same errors as before.
so i heading to error fixing ,i will report back soon.
 
I Have Clean DSDT & all of SSDT now.
Then I do DSDT & SSDT Edit.
I Found _INI for PEGP in SSDT7.dsl
Then I do Edit with Insert OFF()
and applied Patch GFX to IGPD from Rehabman Reposit.

and then compile ,save and named it as SSDT.aml
Copy DSDT.aml & SSDT.aml to /Extra (I used Chameleon)
Config to Drop SSDT
Repair Permission ,Rebuild cache
Restart
but Nvidia Stand Still.
Please Suggest. I also Attached my IOREG.
 

Attachments

  • Nvidia off.png
    Nvidia off.png
    153.2 KB · Views: 464
  • ioreg.zip
    493.7 KB · Views: 60
  • DSDT Clean.zip
    46.9 KB · Views: 71
  • SSDT7 Nvidia OFF.zip
    5.5 KB · Views: 58
I Have Clean DSDT & all of SSDT now.
Then I do DSDT & SSDT Edit.
I Found _INI for PEGP in SSDT7.dsl
Then I do Edit with Insert OFF()
and applied Patch GFX to IGPD from Rehabman Reposit.

and then compile ,save and named it as SSDT.aml
Copy DSDT.aml & SSDT.aml to /Extra (I used Chameleon)
Config to Drop SSDT
Repair Permission ,Rebuild cache
Restart
but Nvidia Stand Still.
Please Suggest. I also Attached my IOREG.

Download patchmatic: https://github.com/RehabMan/OS-X-MaciASL-patchmatic.
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code:
rm -Rf ~/Downloads/RehabMan
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Post contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.
 
Download patchmatic: https://github.com/RehabMan/OS-X-MaciASL-patchmatic.
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code:
rm -Rf ~/Downloads/RehabMan
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Post contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.
This is What you want
 

Attachments

  • RehabMan.zip
    28.3 KB · Views: 45
  • ioreg.zip
    493.7 KB · Views: 59
This is What you want

I don't see the _OFF method in any of the SSDTs you have loaded. Sometimes _OFF is defined in a different file than _INI.

Post all native DSDT/SSDT files extracted from Linux.
 
My Native DSDT & SSDT

I did see _OFF under _INI with in file SSDT.AML in Rehabman folder I sent to you.or i missed understand.
 

Attachments

  • Native DSDT & SSDT Linux.zip
    86.7 KB · Views: 74
My Native DSDT & SSDT

I did see _OFF under _INI with in file SSDT.AML in Rehabman folder I sent to you.or i missed understand.

_OFF is defined in SSDT8. You will need to include SSDT8 (as well as SSDT7)...

In addition, your _OFF method accesses the EC. The EC cannot be accessed in _INI (it is too early). Do not call _OFF from _INI (as you have now).

You'll need to call _OFF from _REG in DSDT instead:
Code:
            Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (LEqual (Arg0, 0x03))
                {
                    Store (Arg1, ECON)
                    If (LEqual (Arg1, One))
                    {
                        TINI ()
                        KINI ()
                        Store (0x05, SYSO)
                    }
                }

                Store (One, LIDS)
                Store (One, ^^^GFX0.CLID)
[B]                //added to turn nvidia off
                if (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))
                { 
                    External(\_SB.PCI0.PEG0.PEGP._OFF, MethodObj)
                    \_SB.PCI0.PEG0.PEGP._OFF()
                }
[/B]            }
 
Status
Not open for further replies.
Back
Top