DSDT Patcher, a tool to fix your DSDT |
Welcome to the Genius Bar. Here's how this forum works:
1. Members are encouraged to make a guide that details something that they might have found troubling or challenging.
Chances are, if you've seen the same question asked over and over again, you should write a guide for it.
2. This is not the forum for asking questions. If you have a question about a thread that's already here, feel free to ask it.
Just don't start a thread for a specific question. Use the other forums here for that.
3. Posting links to off-site tutorials is not allowed.
4. That's it! Thanks for sharing your information with the rest of us. :)
To keep this forum clean this forum is moderated. You can post in existing topics but new ones will have to be approved before they show up. Quality guides promoting new methods and encouraging users to learn will be approved.
![]() |
DSDT Patcher, a tool to fix your DSDT |
|
fassl
InsanelyMac Legend
|
![]() |
Oct 29 2008, 12:56 AM Post #1
|
|
UPDATE: Guys it looks like final 10.5.6 AppleRTC.kext doesnt panic without DSDT patch, so you probably wont need it. It paniced on new macbook and some beta 10.5.6 update though.
Also look up this thread: Chameleon with DSDT override function @All complaining about hotter CPU's with AppleIntelCPUPowerManagement: Guys there is no need to have this kext loaded all the time, if you get hotter CPU, just remove that kext and everything is ok. Why I added this to patcher is just for security reasons on update, since i still see many people without an Disabler.kext and they just blindly update and then complain about a kernel panic during the update process. So this is just to be more secure on updating. Update: Version 1.0.1e -added OSI emulation by mackerintel -added Mute fix by mackerintel thx for this
DSDT_Patcher1.0.1e.zip ( 225.93K )
Number of downloads: 47149Most things needed to be fixed for Darwin the patcher fixes now. There may be still issues in your DSDT but since one DSDT looks very different than another this is needed to be done manually. So i think its time to release the source (yeah i know the code looks ugly but it does its job)
DSDT_Patcher_Source.zip ( 242.93K )
Number of downloads: 3512--------------- VAIO Users: pls try this patcher, i saw some Variable issues in LCD Device of VAIO DSDT, the patcher fixes this issues, maybe that will solve Internal LCD Diplay issue with QE/CI enabled. Maybe also more work is needed but actually i think we can solve your Problems in DSDT. Somebody correct me if i'm wrong. So please come here and test, thank you. I also invite more people to mess around with DSDT and come here with their findings Update: I made some different DSDT's but haven't yet found how to get QE/CI working on the internal display, seems more things needs to be done... Look up this thread by vaag, he got it working on his DELL, maybe you can find solution. http://forum.insanelymac.com/index.php?sho...=135184&hl= --------------- Also, if the compiling goes wrong, it doesnt always mean the patching went wrong, some manufactorers just ship crappy DSDT's in the BIOS. You can force to compile it even if there are errors: /PATH/TO/DSDT\ Pachter -f -------Original Post----------- Hey there, i thought it might be better to start a new Thread for this. As you may already heard you will have Problems with the upcoming (10.5.6) Apple Update if your DSDT is messed up, and it is for sure Good thing is, mackerintel added DSDT override function to Chameleon: http://forum.insanelymac.com/index.php?showtopic=132757 What does that mean? Well you can put a modified compiled DSDT in the Root of your Booting partition, and it will try to attach this, very good for people who are afraid of flashing their BIOS. I made a little Tool that will patch your DSDT and will (well should) let you allow to use the upcoming (10.5.6) AppleRTC.kext and AppleIntelCPUPowerManagement.kext (no disabler needed anymore) which will otherwise panic. Pls report back if it works or not, and what is working and what not, so this tool can grow. Readme is included in the Zip file. greetz P.S. I will release the source when its done And i like to thank all Chameleon/OSX Developers, especially zef, kabyl, modbin for helping all the time, keep up the good work! ---------Old Versions----------- Version 1.0.1d -fixed another search Routine issue -added -newHPET arg, for people still suffering "Package 0 didn't get a HPET" after patching. so you guys drag the Patcher in the Terminal and write -newHPET -Patcher uses now a bash script for obtaining the DSDT since GetDSDT didn't worked for some people. -contains _T_ Variable issues fix which caused non-compiling by mackerintel -contains "Method local variable is not initialized (Local0)" fix -contains CPU Aliases fix -contains RTC fix for upcoming AppleRTC.kext -contains HPET fix for AppleIntelCPUPowerManagement.kext
DSDT_Patcher1.0.1d.zip ( 227.06K )
Number of downloads: 928Version 1.0.1c2 -Patcher uses now a bash script for obtaining the DSDT since GetDSDT didn't worked for some people. -fixed CPU Aliases patching (all what pointed to the removed Alias has to be patched as well) -added _T_ Variable issues fix which caused non-compiling by mackerintel -contains "Method local variable is not initialized (Local0)" fix -contains CPU Aliases fix -contains RTC fix for upcoming AppleRTC.kext -contains HPET fix for AppleIntelCPUPowerManagement.kext
DSDT_Patcher1.0.1c2.zip ( 225.55K )
Number of downloads: 232
DSDT_Patcher1.0.1c.zip ( 225.54K )
Number of downloads: 46Version 1.0.1b -fixed a patching routine issue which caused non-compiling dsdt -added "Method local variable is not initialized (Local0)" fix -contains CPU Aliases fix -contains RTC fix for upcoming AppleRTC.kext -contains HPET fix for AppleIntelCPUPowerManagement.kext
DSDT_Patcher1.0.1b.zip ( 225.75K )
Number of downloads: 187Version 1.0.1a -fixed CPU Aliases fix -contains RTC fix for upcoming AppleRTC.kext -contains HPET fix for AppleIntelCPUPowerManagement.kext
DSDT_Patcher1.0.1a.zip ( 225.44K )
Number of downloads: 82Version 1.0.1 -added CPU Aliases fix -added some device name fix -contains RTC fix for upcoming AppleRTC.kext -conatins HPET fix for AppleIntelCPUPowerManagement.kext
DSDT_Patcher1.0.1.zip ( 225.4K )
Number of downloads: 75
Attached File(s)
|
|
spanakorizo
InsanelyMac Legend
|
![]() |
Oct 29 2008, 01:27 AM Post #2
|
![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
can u explain why i should try it?
i have no problems so far but i can't stop trying new stuff can't understand this thing with DSDT |
|
fassl
InsanelyMac Legend
|
![]() |
Oct 29 2008, 01:49 AM Post #3
|
|
i have no problems so far Yeah so far... but in 10.5.6 there will be a new AppleRTC.kext which will panic if you haven't your RTC Device patched in your DSDT. Other than the AppleIntelCPUPowerManagement.kext you cant just delete it. So better to fix your DSDT now, than having Problems later greetz |
|
spanakorizo
InsanelyMac Legend
|
![]() |
Oct 29 2008, 03:34 AM Post #4
|
![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
ok i got it
i'll try and post results |
|
|
Alundra
InsanelyMac Protégé
|
![]() |
Oct 29 2008, 07:28 AM Post #5
|
|
You can use AppleRTC.kext from 10.5.5 but DSDT is the right way. Even my AZAL sound device I´ve managed to change it to HDEF with it.
So, I´m glad for the work of the Chameleon, DSDT guys as well as DSDT Patcher |
|
FavleX
FavleX
|
![]() |
Oct 29 2008, 09:25 PM Post #6
|
![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
thanks
I'm trying to understand a bit more on DSDT , reading around on this very forum but.. What will change in future on ours osx86 with dsdt patcher possibility ? I mean , we can update 10.5.6 , and will be improvements in other areas , like ACPI for example ? |
|
mackerintel
InsanelyMac Geek
|
![]() |
Oct 29 2008, 09:42 PM Post #7
|
![]() ![]()
|
thanks I'm trying to understand a bit more on DSDT , reading around on this very forum but.. What will change in future on ours osx86 with dsdt patcher possibility ? I mean , we can update 10.5.6 , and will be improvements in other areas , like ACPI for example ? DSDT is a part of ACPI. Actually DSDT tells OS how to interract with the hardware (simplified way of telling it). OSX has an incomplete ACPI implementation which supports only a subset of DSDT. By replacing DSDT we can declare essentially the same interface but in the way that OSX understands. This potentially can solve nearly any ACPI-related problem (except if OSX bypasses ACPI). Other usage case is emulating by the means of DSDT features or hardware components not present on your system. But this is limited to devices that use ACPI. @all: does anybody know if binary protection uses ACPI? If so implementing binary protection emulator in DSDT would be a way to have a completely untouched OSX. |
|
FavleX
FavleX
|
![]() |
Oct 29 2008, 09:55 PM Post #8
|
![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
DSDT is a part of ACPI. Actually DSDT tells OS how to interract with the hardware (simplified way of telling it). OSX has an incomplete ACPI implementation which supports only a subset of DSDT. By replacing DSDT we can declare essentially the same interface but in the way that OSX understands. This potentially can solve nearly any ACPI-related problem (except if OSX bypasses ACPI). Other usage case is emulating by the means of DSDT features or hardware components not present on your system. But this is limited to devices that use ACPI. @all: does anybody know if binary protection uses ACPI? If so implementing binary protection emulator in DSDT would be a way to have a completely untouched OSX. Thanks Indeed for ur awesome job mackerintel, In the meantime I understood how this "small" So I stay tuned and ready to test. Tomorrow I try it on a DS4 Mboard |
|
anibalin
InsanelyMac Geek
|
![]() |
Oct 29 2008, 09:57 PM Post #9
|
![]() ![]()
|
@mackerintel: thanks for the explanation. As FavleX was wondering and searching about DSDT to understand more. Thanks again.
|
|
fassl
InsanelyMac Legend
|
![]() |
Oct 29 2008, 09:59 PM Post #10
|
|
Well, emulating devices, i added for instance an SMC device to my DSDT, doesnt really do anything, but i have now SMC device in the IOReg:
CODE | +-o SMC <class IOACPIPlatformDevice, registered, matched, active, busy 0, retain 8> | | +-o SMCMotionSensor <class SMCMotionSensor, !registered, !matched, active, busy 0, retain 4> | | "CFBundleIdentifier" = "com.apple.driver.SMCMotionSensor" | | "IOUserClientClass" = "SMCMotionSensorClient" | | "IOClass" = "SMCMotionSensor" greetz |
|
FavleX
FavleX
|
![]() |
Oct 29 2008, 10:10 PM Post #11
|
![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Well, emulating devices, i added for instance an SMC device to my DSDT, doesnt really do anything, but i have now SMC device in the IOReg: CODE | +-o SMC <class IOACPIPlatformDevice, registered, matched, active, busy 0, retain 8> | | +-o SMCMotionSensor <class SMCMotionSensor, !registered, !matched, active, busy 0, retain 4> | | "CFBundleIdentifier" = "com.apple.driver.SMCMotionSensor" | | "IOUserClientClass" = "SMCMotionSensorClient" | | "IOClass" = "SMCMotionSensor" greetz ..mmhh, probably I say an "idiot one" but I'm trying to enlight myself If one day the last update release from apple , requests a SMC Sensor, I can go ahead with updating just emulating it? Is this the meaning ? |
|
mackerintel
InsanelyMac Geek
|
![]() |
Oct 29 2008, 10:10 PM Post #12
|
![]() ![]()
|
Well, emulating devices, i added for instance an SMC device to my DSDT, doesnt really do anything, but i have now SMC device in the IOReg: CODE | +-o SMC <class IOACPIPlatformDevice, registered, matched, active, busy 0, retain 8> | | +-o SMCMotionSensor <class SMCMotionSensor, !registered, !matched, active, busy 0, retain 4> | | "CFBundleIdentifier" = "com.apple.driver.SMCMotionSensor" | | "IOUserClientClass" = "SMCMotionSensorClient" | | "IOClass" = "SMCMotionSensor" greetz Very nice fassl. Way to go. @all: emulating SMC could enable the full-feature usage of unpatched PowerManagementBundle and sleep with vanilla kernels |
|
fassl
InsanelyMac Legend
|
![]() |
Oct 29 2008, 10:17 PM Post #13
|
|
Very nice fassl. Way to go. @all: emulating SMC could enable the full-feature usage of unpatched PowerManagementBundle and sleep with vanilla kernels Sleep, well fixing the _WAK Device in DSDT could enable sleep, some _WAK Devices need this at the end: CODE Return(Package(0x02){0x00, 0x00}) thx to realityiswhere for pointing that out. |
|
BlackCH
InsanelyMac Legend
|
![]() |
Oct 29 2008, 10:36 PM Post #14
|
![]() ![]() ![]() ![]() ![]() ![]()
|
doesnt get to compile dsdt.aml even with '-f' flag...
CODE We are done patching, press any key to try to compile the fixed DSDT Intel ACPI Component Architecture ASL Optimizing Compiler version 20080926 [Oct 4 2008] Copyright (C) 2000 - 2008 Intel Corporation Supports ACPI Specification Revision 3.0a ./dsdt_fixed.txt 1: ACPI (Local2) Error 4095 - ^ syntax error, unexpected PARSEOP_NAMESEG, expecting PARSEOP_DEFINITIONBLOCK ASL Input: ./dsdt_fixed.txt - 16271 lines, 586089 bytes, 0 keywords AML Output: (null) - 0 bytes, 0 named objects, 0 executable opcodes Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations Compiling done, if it worked, you have now a patched DSDT in dsdt.aml If the compiling went wrong, you could force to build it with ./DSDT\ Patcher -f (try this DSDT at your own risk) HP-6720s:DSDT_Patcher1.0.1 dlow$ Is there a way to patch it manually (and compile it)? |
|
fassl
InsanelyMac Legend
|
![]() |
Oct 29 2008, 10:42 PM Post #15
|
|
Sure, patch Debug/dsdt_fixed.txt
then run CODE ./iasl -ta dsdt_fixed.txt
|
|
BlackCH
InsanelyMac Legend
|
![]() |
Oct 30 2008, 12:25 AM Post #16
|
![]() ![]() ![]() ![]() ![]() ![]()
|
|
|
pasi
InsanelyMac Protégé
|
![]() |
Oct 30 2008, 09:31 AM Post #17
|
|
I ended up with a dsdt.hex file. Can I make the .aml file out of the hex? @BlackCH Can you post your dsdt.dsl. I am interesting to see how you manage both core to work. I have hp 530 and for now is no chance to run both core. Thare is no aliaces problem and processors in dsdt table are described in diferent way then in other comps thanks |
|
BlackCH
InsanelyMac Legend
|
![]() |
Oct 30 2008, 09:44 AM Post #18
|
![]() ![]() ![]() ![]() ![]() ![]()
|
I ended up with a dsdt.hex file. Can I make the .aml file out of the hex? Nevermind, the file was actually empty. my dsdt.dsl wont compile (not even unmodified!). I tryed ./iasl -sa which gave me a .asm file but empty as well... so I will try to do it on linux to see if I get to it. @BlackCH Can you post your dsdt.dsl. I am interesting to see how you manage both core to work. I have hp 530 and for now is no chance to run both core. Thare is no aliaces problem and processors in dsdt table are described in diferent way then in other comps thanks Dual core was working out of the box. Im just trying to get RTC/HPET fixed.... But here is my (untouched) dsdt file if you want to have a look. Maybe you could help me
Attached File(s)
|
|
mackerintel
InsanelyMac Geek
|
![]() |
Oct 30 2008, 10:35 AM Post #19
|
![]() ![]()
|
Nevermind, the file was actually empty. my dsdt.dsl wont compile (not even unmodified!). I tryed ./iasl -sa which gave me a .asm file but empty as well... so I will try to do it on linux to see if I get to it. Dual core was working out of the box. Im just trying to get RTC/HPET fixed.... But here is my (untouched) dsdt file if you want to have a look. Maybe you could help me Your dump seems to be uncomplete and/or incorrectly disassembled. Try using latest iasl and look if you have SSDT |
|
SticMACâ„¢
"Nobody likes a SmartASS"
|
![]() |
Oct 30 2008, 10:56 AM Post #20
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
ASUS P5B-Deluxe..
Done mine, copied it over to the root with the new "boot", removed IntelCPUPMDisabler.kext and everything seems fine! What is the function of the "dsdt_acpi12.diff" that comes with the "boot" file and where should it go!? How can one see, test to see if it works or is the fact that I could remove IntelCPUPMDisabler.kext enough proof!? SticMAN |
![]() |
|
Lo-Fi Version | Time is now: 9th February 2010 - 12:41 PM |