Sbrillo Posted April 27, 2015 Share Posted April 27, 2015 hi guys! I've extracted dsdt from my laptop with clover, i opened it with MaciASL and tryin to compile.. I've got over 200 errors! I'm trying to fix it but i have 201 errors left to fix it? need a little help to understand DSDT.aml.zip Link to comment Share on other sites More sharing options...
WaldMeister Posted April 27, 2015 Share Posted April 27, 2015 Hi, No patches applied yet. Make sure you set ACPI 5.0 in the preferences of MacIASL. DSDT.aml.zip Link to comment Share on other sites More sharing options...
RehabMan Posted April 27, 2015 Share Posted April 27, 2015 hi guys! I've extracted dsdt from my laptop with clover, i opened it with MaciASL and tryin to compile.. I've got over 200 errors! I'm trying to fix it but i have 201 errors left to fix it? need a little help to understand Correct disassembly is important. Disassemble with SSDTs as context. Extract all OEM SSDTs and DSDT. Then disassemble: iasl -da -dl *.aml Link to comment Share on other sites More sharing options...
Sbrillo Posted April 27, 2015 Author Share Posted April 27, 2015 Hi, No patches applied yet. Make sure you set ACPI 5.0 in the preferences of MacIASL. hi, thank you for posting very quickly. Correct disassembly is important. Disassemble with SSDTs as context. Extract all OEM SSDTs and DSDT. Then disassemble: iasl -da -dl *.aml done. now i can compile and patch my dsdt. thank you Link to comment Share on other sites More sharing options...
Sbrillo Posted April 27, 2015 Author Share Posted April 27, 2015 guys, need a patch for disable nvidia video card... Link to comment Share on other sites More sharing options...
RehabMan Posted April 27, 2015 Share Posted April 27, 2015 guys, need a patch for disable nvidia video card... Read this thread: http://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/ Condensed instructions: - find the SSDT that contains _OFF for your discrete card - call _OFF from the associated _INI Link to comment Share on other sites More sharing options...
Sbrillo Posted April 27, 2015 Author Share Posted April 27, 2015 Read this thread: http://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/ Condensed instructions: - find the SSDT that contains _OFF for your discrete card - call _OFF from the associated _INI found ssdt. now like the guide in that thread, i insert the OFF method before the _wak method and then call it in _wak and ini method? this is the off method: Method (_OFF, 0, Serialized) // _OFF: Power Off { \_SB.PCI0.LPCB.EC0.SPIN (0x09, 0x04, Zero, If (LNotEqual (GPRF, One)) { Store (VGAR, VGAB) Store (SIDR, SIDB) }, Store (One, LNKD), While (LNotEqual (LNKS, Zero)) { Sleep (One) }, Store (0x02, AFES)) \_SB.PCI0.LPCB.EC0.SGTH (Zero) SGPO (HLRS, One) SGPO (PWEN, Zero) Return (Zero) } Link to comment Share on other sites More sharing options...
Sbrillo Posted April 27, 2015 Author Share Posted April 27, 2015 after several tries, still i can't get off nvidia card.. i found the _OFF method. By follow this guide you linked, i insert _OFF method and then i call it in _WAK and _INI. I also add object at top of dsdt because when compile, maciasl gave me errors. insert this dsdt in patches folder store in EFI/CLOVER/ACPI and reboot. nothing change. go to system information and the nvidia card still here! Link to comment Share on other sites More sharing options...
RehabMan Posted April 27, 2015 Share Posted April 27, 2015 found ssdt. now like the guide in that thread, i insert the OFF method before the _wak method and then call it in _wak and ini method? I don't recommend moving code between files. Just patch the SSDT and or DSDT to call the method and include the patched SSDTs. this is the off method: Method (_OFF, 0, Serialized) // _OFF: Power Off { \_SB.PCI0.LPCB.EC0.SPIN (0x09, 0x04, Zero, If (LNotEqual (GPRF, One)) { Store (VGAR, VGAB) Store (SIDR, SIDB) }, Store (One, LNKD), While (LNotEqual (LNKS, Zero)) { Sleep (One) }, Store (0x02, AFES)) \_SB.PCI0.LPCB.EC0.SGTH (Zero) SGPO (HLRS, One) SGPO (PWEN, Zero) Return (Zero) } You can tell right away it accesses the EC. The EC cannot be accessed from _INI (it is not ready, refer to ACPI spec). So you'll need to call from _REG in DSDT. There are some patches in my repo you might find interesting: https://github.com/RehabMan/Laptop-DSDT-Patch Link to comment Share on other sites More sharing options...
Sbrillo Posted April 27, 2015 Author Share Posted April 27, 2015 I don't recommend moving code between files. Just patch the SSDT and or DSDT to call the method and include the patched SSDTs. You can tell right away it accesses the EC. The EC cannot be accessed from _INI (it is not ready, refer to ACPI spec). So you'll need to call from _REG in DSDT. There are some patches in my repo you might find interesting: https://github.com/RehabMan/Laptop-DSDT-Patch alleluja!! it worked!!! but now fan is always at full speed (PC temperature is good), why? i use your _reg patch with dsdt and put only patched dsdt on clover folder Link to comment Share on other sites More sharing options...
RehabMan Posted April 27, 2015 Share Posted April 27, 2015 alleluja!! it worked!!! but now fan is always at full speed (PC temperature is good), why? Did you follow all guidelines for patching DSDT/SSDTs? - renames balanced - no duplicates (eg. Drop OEM SSDT for each patched SSDT included) - SSDTs loaded in original order - no duplicate methods (eg. _DSM at same path in multiple files) Did you implement CPU power management? Link to comment Share on other sites More sharing options...
Sbrillo Posted April 27, 2015 Author Share Posted April 27, 2015 Did you follow all guidelines for patching DSDT/SSDTs? - renames balanced - no duplicates (eg. Drop OEM SSDT for each patched SSDT included) - SSDTs loaded in original order - no duplicate methods (eg. _DSM at same path in multiple files) Did you implement CPU power management? i patched only DSDT, all OEM SSDT are still in original folder. i didn't implement cpu power management yet. For now i have only two states: 12, 24 2.4 ghz in idle. smbios is macbook pro 9,2 half 2012 (my laptop is an ivy bridge i7) used your guide and config.plist from another site. Link to comment Share on other sites More sharing options...
RehabMan Posted April 27, 2015 Share Posted April 27, 2015 i patched only DSDT, all OEM SSDT are still in original folder. What do you mean "in original folder"? You mean you placed unpatched files in ACPI/patched (assuming Clover, using DropOem=true). Or you have no SSDTs in ACPI/patched (and DropOem=false). And what patches have you applied to DSDT. Note that certain patches automatically imply patches required to SSDTs (renames... for example GFX0->IGPU rename). i didn't implement cpu power management yet. For now i have only two states: 12, 24 2.4 ghz in idle. It should be one of the first things you do... Link to comment Share on other sites More sharing options...
Sbrillo Posted April 27, 2015 Author Share Posted April 27, 2015 What do you mean "in original folder"? You mean you placed unpatched files in ACPI/patched (assuming Clover, using DropOem=true). Or you have no SSDTs in ACPI/patched (and DropOem=false). And what patches have you applied to DSDT. Note that certain patches automatically imply patches required to SSDTs (renames... for example GFX0->IGPU rename). It should be one of the first things you do... sorry, i mean origin folder, i have extracted ssdts and dsdt with clover (F4). In patched folder i have only the dsdt that i've patched with patch graphics_REG-disable.txt i follow a guide to implement native power management. So i downloaded ssdtPRgen.sh, launch it on terminal and generate my ssdt, then put it on patched folder, downloaded aicpmpatch and patched applepowermanagement.kext, then reboot and i have frequency blocked at 800 mhz with fan also blocked at medium speed. without patch and patched ssdt i have frequency at 2.4 ghz (max without turbo speed) Link to comment Share on other sites More sharing options...
RehabMan Posted April 27, 2015 Share Posted April 27, 2015 sorry, i mean origin folder, i have extracted ssdts and dsdt with clover (F4). In patched folder i have only the dsdt that i've patched with patch graphics_REG-disable.txt And I assume you have DropOem=false. And dropping no tables in DropTables? i follow a guide to implement native power management. So i downloaded ssdtPRgen.sh, launch it on terminal and generate my ssdt, then put it on patched folder, downloaded aicpmpatch and patched applepowermanagement.kext, then reboot and i have frequency blocked at 800 mhz with fan also blocked at medium speed. without patch and patched ssdt i have frequency at 2.4 ghz (max without turbo speed) No need for patched kexts with Clover. Just use the appropriate config.plist options (refer to Clover wiki). No such thing as ApplePowerManagement.kext, so not sure what you're referring to there. Make sure you placed a *compiled* ssdt in ACPI/patched, not just text. Note also: - you could try calling _PS3 instead of _OFF - you could try splitting the parts of _OFF (EC access goes in _REG, rest is called from _INI) Link to comment Share on other sites More sharing options...
Sbrillo Posted April 28, 2015 Author Share Posted April 28, 2015 And I assume you have DropOem=false. And dropping no tables in DropTables? No need for patched kexts with Clover. Just use the appropriate config.plist options (refer to Clover wiki). No such thing as ApplePowerManagement.kext, so not sure what you're referring to there. Make sure you placed a *compiled* ssdt in ACPI/patched, not just text. Note also: - you could try calling _PS3 instead of _OFF - you could try splitting the parts of _OFF (EC access goes in _REG, rest is called from _INI) i follow this guide for powermanagement now trying to do what you tell me in this post edit: i patched ssdt with ssdtprgen.sh and put it in ACPI/patched but result is the same, frequency blocked at 800 mhz (this is good for battery performance) Link to comment Share on other sites More sharing options...
RehabMan Posted April 28, 2015 Share Posted April 28, 2015 i follow this guide for powermanagement now trying to do what you tell me in this post edit: i patched ssdt with ssdtprgen.sh and put it in ACPI/patched but result is the same, frequency blocked at 800 mhz (this is good for battery performance) Post ioreg with IORegistryExplorer v2.1. And... Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic. In terminal, rm -R ~/Downloads/RehabMan mkdir ~/Downloads/RehabMan cd ~/Downloads/RehabMan patchmatic -extract Post contents of Downloads/RehabMan directory (as ZIP). And output from: kextstat|grep -y acpiplat kextstat|grep -y appleintelcpu Also, what version of OS X? Link to comment Share on other sites More sharing options...
Sbrillo Posted April 28, 2015 Author Share Posted April 28, 2015 Post ioreg with IORegistryExplorer v2.1. And... Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic. In terminal, rm -R ~/Downloads/RehabMan mkdir ~/Downloads/RehabMan cd ~/Downloads/RehabMan patchmatic -extract Post contents of Downloads/RehabMan directory (as ZIP). And output from: kextstat|grep -y acpiplat kextstat|grep -y appleintelcpu Also, what version of OS X? 10.10 output from kextstat|grep -y acpiplat: 13 2 0xffffff7f82384000 0x65000 0x65000 com.apple.driver.AppleACPIPlatform (3.1) <12 11 7 6 5 4 3 1> output from kextstat|grep -y appleintelcpu: 22 0 0xffffff7f82262000 0x2b000 0x2b000 com.apple.driver.AppleIntelCPUPowerManagement (218.0.0) <7 6 5 4 3 1> 30 0 0xffffff7f8225d000 0x3000 0x3000 com.apple.driver.AppleIntelCPUPowerManagementClient (218.0.0) <7 6 5 4 3 1> Archivio.zip Link to comment Share on other sites More sharing options...
RehabMan Posted April 28, 2015 Share Posted April 28, 2015 10.10 No files attached. Link to comment Share on other sites More sharing options...
Sbrillo Posted April 28, 2015 Author Share Posted April 28, 2015 No files attached. sorry, i forgot to click attach button Link to comment Share on other sites More sharing options...
RehabMan Posted April 28, 2015 Share Posted April 28, 2015 10.10 output from kextstat|grep -y acpiplat: 13 2 0xffffff7f82384000 0x65000 0x65000 com.apple.driver.AppleACPIPlatform (3.1) <12 11 7 6 5 4 3 1>[/size] output from kextstat|grep -y appleintelcpu: 22 0 0xffffff7f82262000 0x2b000 0x2b000 com.apple.driver.AppleIntelCPUPowerManagement (218.0.0) <7 6 5 4 3 1> 30 0 0xffffff7f8225d000 0x3000 0x3000 com.apple.driver.AppleIntelCPUPowerManagementClient (218.0.0) <7 6 5 4 3 1> Power management is not implemented correctly. The ioreg shows X86PlatformPlugin is not loaded. It is not loaded because: - there is no generated SSDT.aml being loaded by the bootloader (I check the bootlog). - in fact, no files in ACPI/patched - the Clover generated SSDTs are not effective because the corresponding OEM tables are not being dropped Hence why you're stuck at x8. Link to comment Share on other sites More sharing options...
Sbrillo Posted April 28, 2015 Author Share Posted April 28, 2015 Power management is not implemented correctly. The ioreg shows X86PlatformPlugin is not loaded. It is not loaded because: - there is no generated SSDT.aml being loaded by the bootloader (I check the bootlog). - in fact, no files in ACPI/patched - the Clover generated SSDTs are not effective because the corresponding OEM tables are not being dropped Hence why you're stuck at x8. now, i disabled nvidia, generated again ssdt and put it on ACPI/Patched, add DropOem on config.plist and now power management seems to work a little better (idle 1.2 ghz, max 3.4), but it seems to be too quick to reach max frequency, too much throttling i guess. The full speed fan problem remains Link to comment Share on other sites More sharing options...
RehabMan Posted April 28, 2015 Share Posted April 28, 2015 now, i disabled nvidia, generated again ssdt and put it on ACPI/Patched, add DropOem on config.plist and now power management seems to work a little better (idle 1.2 ghz, max 3.4), but it seems to be too quick to reach max frequency, too much throttling i guess. The full speed fan problem remains Note my reply regarding _OFF splitting between _REG and _INI. Not sure what you mean by "too quick to reach max frequency". Link to comment Share on other sites More sharing options...
Sbrillo Posted April 28, 2015 Author Share Posted April 28, 2015 Note my reply regarding _OFF splitting between _REG and _INI. Not sure what you mean by "too quick to reach max frequency". i'm on it. well, if i refresh a page on safari, frequency jump to 2.80 ghz, 2.90 and stay here for a few second.. Link to comment Share on other sites More sharing options...
RehabMan Posted April 28, 2015 Share Posted April 28, 2015 ... well, if i refresh a page on safari, frequency jump to 2.80 ghz, 2.90 and stay here for a few second.. Sounds normal/expected. As long as the CPU is busy, it should run at full speed as the task will complete in shorter time. Link to comment Share on other sites More sharing options...
Recommended Posts