oldnapalm Posted November 28, 2009 Share Posted November 28, 2009 DSDT fixes for Asus P5E New: DSDT Auto-Patcher ASUS P5E Automated patches to be applied using this editor. This way you apply the patches in your original DSDT very easily, and avoid possible problems of using a pre-edited file. ASUS_P5E_patches.zip Audio: (needs AD1988bFix.kext) Add device HDEF after USB6 under PCI0 Device (HDEF) { Name (_ADR, 0x001B0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x08) { "codec-id", Buffer (0x04) { 0x9B, 0x82, 0x43, 0x10 }, "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "device-type", Buffer (0x17) { "Analog Devices AD1988B" }, "PinConfigurations", Buffer (0x24) { /* 0000 */ 0x30, 0x40, 0x21, 0x01, 0x10, 0x40, 0x11, 0x01, /* 0008 */ 0x40, 0x90, 0xA1, 0x01, 0x50, 0x30, 0x81, 0x01, /* 0010 */ 0x60, 0x10, 0x01, 0x01, 0x20, 0x90, 0xA0, 0x90, /* 0018 */ 0x80, 0xF1, 0x45, 0x01, 0x90, 0xF1, 0xC5, 0x01, /* 0020 */ 0x70, 0x60, 0x01, 0x01 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } and remove IRQs from devices PIC and TMR. IRQNoFlags () {2} IRQNoFlags () {0} IRQ from device RTC0 should have been removed by DSDT_Patcher (by fassl) and added to device HPET ("-newHPET" option). SpeedStep: (AppleIntelCPUPowerManagement.kext works, no need for NullCPUPowerManagement.kext) Add C-states from MacPro3,1 and set SMproductname as MacPro3,1 in /Extra/smbios.plist. Scope (_PR) { Processor (CPU1, 0x01, 0x00000810, 0x06) { ... Method (_CST, 0, NotSerialized) { If (LAnd (And (CFGD, 0x01000000), LNot (And (TYPE, 0x10 )))) { Return (Package (0x02) { One, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, One, 0x9D, 0x03E8 } }) } If (And (TYPE, 0x0300)) { If (And (CFGD, 0x20)) { Return (Package (0x03) { 0x02, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address ,) }, One, One, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000010, // Address ,) }, 0x02, One, 0x01F4 } }) } } If (And (CFGD, 0x20)) { Return (Package (0x03) { 0x02, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address ,) }, One, One, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x000000000000000C, // Address ,) }, 0x02, One, 0x01F4 } }) } Return (Package (0x02) { One, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address ,) }, One, One, 0x03E8 } }) } } } Scope (_PR) { Processor (CPU2, 0x02, 0x00000810, 0x06) { ... Method (_CST, 0, NotSerialized) { Return (^^CPU1._CST ()) } } } Scope (_PR) { Processor (CPU3, 0x03, 0x00000810, 0x06) { ... Method (_CST, 0, NotSerialized) { Return (^^CPU1._CST ()) } } } Scope (_PR) { Processor (CPU4, 0x04, 0x00000810, 0x06) { ... Method (_CST, 0, NotSerialized) { Return (^^CPU1._CST ()) } } } Sleep: Change ID of USB devices to fake ICH10-R. Device (USB0) { Name (_ADR, 0x001D0000) ... Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x34, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (USB1) { Name (_ADR, 0x001D0001) ... Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x35, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (USB2) { Name (_ADR, 0x001D0002) ... Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x36, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (USB4) { Name (_ADR, 0x001A0000) ... Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x37, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (USB5) { Name (_ADR, 0x001A0001) ... Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x38, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (USB6) { Name (_ADR, 0x001A0002) ... Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x39, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } AHCI SATA: (silver icons for internal HDs instead of orange ones) Change ID of SATA device to fake ESB2 AHCI. Device (SATA) { Name (_ADR, 0x001F0002) ... Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x81, 0x26, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Some fixes use method DTGP, add it to the main block, can be just after the first "{" or just before the last "}". Method (DTGP, 5, NotSerialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B })) { If (LEqual (Arg1, One)) { If (LEqual (Arg2, Zero)) { Store (Buffer (One) { 0x03 }, Arg4) Return (One) } If (LEqual (Arg2, One)) { Return (One) } } } Patched dsdt.aml with all fixes (BIOS 1201): 2 GB RAM dsdt.aml.zip 4 GB RAM dsdt.aml.zip If you have different RAM size you may have to edit OperationRegion values for RAMW, BIOS and STBL, check your original DSDT. Thanks to Stuntman for the info. Diff from file patched by DSDT_Patcher: dsdt.diff.zip Needed kexts: AD1988bFix.kext by XyZ - AD1988bFix.kext.zip For 10.6.8 - need edited AppleHDA fakesmc.kext by Netkas - http://netkas.org/?cat=15 LegacyAppleYukon2.kext by cVaD - LegacyAppleYukon2.kext.zip OpenHaltRestart.kext** by Psystar - OpenHaltRestart.kext.zip OSXRestart.kext*** by Master Chief - http://www.insanelymac.com/forum/index.php?showtopic=199048 PlatformUUID.kext* by Superhai - PlatformUUID.kext.zip * not needed if using Chameleon 2.0 RC4 or later. ** not needed if using this fix. *** not needed if using Chameleon 2.0 RC5 or later. Untested kexts: JMicronATA.kext - JMicronATA.kext.zip Settings to check in BIOS setup: Main - SATA Configuration - Configure SATA as - AHCI Advanced - CPU Configuration - C1E Support - Enabled Advanced - CPU Configuration - Execute Disable Bit - Enabled Advanced - CPU Configuration - Intel® SpeedStep Tech. - Enabled Power - ACPI 2.0 Support - Enabled Power - ACPI APIC Support - Enabled Power - APM Configuration - ACPI Wake From USB Device - Enabled References: Audio - http://www.infinitemac.com/f57/how-to-snow.../post30994.html SpeedStep - http://www.insanelymac.com/forum/index.php?showtopic=181631 Sleep and SATA - http://www.insanelymac.com/forum/index.php?showtopic=168014 1 Link to comment Share on other sites More sharing options...
thyago231 Posted November 28, 2009 Share Posted November 28, 2009 Been looking for this a loong time... but would you be able to give a step by step guide? I am kind of new of this hackintosh world... Link to comment Share on other sites More sharing options...
TheElix Posted November 28, 2009 Share Posted November 28, 2009 Wow! Thank you! Do you know how to implement my Nvidia 8800GTS 512 Mb to dsdt.aml? Link to comment Share on other sites More sharing options...
oldnapalm Posted November 28, 2009 Author Share Posted November 28, 2009 but would you be able to give a step by step guide? I am kind of new of this hackintosh world... You mean step by step guide to install SL, or to apply the DSDT fixes? For SL installation there are many guides, it's a generic procedure. If you talk about the DSDT patches, I will make a diff from the file created by DSDT_Patcher, so it will be easier to visualize where things were added, but if you have the same mobo you can use my file. Wow! Thank you! Do you know how to implement my Nvidia 8800GTS 512 Mb to dsdt.aml? You are welcome. I don't use DSDT to enable nVidia drivers, just to fix issues related to the mobo. For nVidia I use Chameleon's GraphicsEnabler option, it works pretty well. Link to comment Share on other sites More sharing options...
TheElix Posted November 28, 2009 Share Posted November 28, 2009 Unfortunately, that dsdt didn't work for me, the system doesn't boot. I guess I'll have to edit those parameters manually. Link to comment Share on other sites More sharing options...
oldnapalm Posted November 28, 2009 Author Share Posted November 28, 2009 Can you upload your DSDT file? Which BIOS version are you using? Thanks. Link to comment Share on other sites More sharing options...
Ommid Posted November 28, 2009 Share Posted November 28, 2009 Can you upload your DSDT file? Which BIOS version are you using? Thanks. Doesn't work for me either, it just hangs Link to comment Share on other sites More sharing options...
oldnapalm Posted November 28, 2009 Author Share Posted November 28, 2009 Doesn't work for me either, it just hangs Which BIOS version are you using? I updated my BIOS to version 1201 and patched DSDT again, if you use the latest BIOS my file should work for you now (attached to the first post). Link to comment Share on other sites More sharing options...
Ommid Posted November 29, 2009 Share Posted November 29, 2009 Which BIOS version are you using? I updated my BIOS to version 1201 and patched DSDT again, if you use the latest BIOS my file should work for you now (attached to the first post). I am using 1201 but even the new one just causes the system to hang on the Apple Splash Logo Link to comment Share on other sites More sharing options...
oldnapalm Posted November 29, 2009 Author Share Posted November 29, 2009 I am using 1201 but even the new one just causes the system to hang on the Apple Splash Logo Did you set SATA as AHCI in BIOS setup? Boot in verbose mode (-v) to see where it hangs. Link to comment Share on other sites More sharing options...
Ommid Posted November 29, 2009 Share Posted November 29, 2009 Did you set SATA as AHCI in BIOS setup? Boot in verbose mode (-v) to see where it hangs. Yes it is set to AHCI, and all the HFS+ Kexts etc load Can you please give me a detailed description of what you did? I have now got Snow Leopard installed on my drive with no Loaders or anything, it is a totally clean install of Leopard only. I will do exactly what you say and it should work Thanks Link to comment Share on other sites More sharing options...
oldnapalm Posted November 29, 2009 Author Share Posted November 29, 2009 Yes it is set to AHCI, and all the HFS+ Kexts etc load Can you please give me a detailed description of what you did? I have now got Snow Leopard installed on my drive with no Loaders or anything, it is a totally clean install of Leopard only. I will do exactly what you say and it should work Thanks You just need to install the boot loader (Chameleon or PC_EFI) and FakeSMC http://www.insanelymac.com/forum/index.php?showtopic=164809 (and legacy kexts for audio and LAN of course) If you did that and it doesn't work, boot in verbose mode (-v) and check where it hangs. Link to comment Share on other sites More sharing options...
Ommid Posted November 29, 2009 Share Posted November 29, 2009 You just need to install the boot loader (Chameleon or PC_EFI) and FakeSMChttp://www.insanelymac.com/forum/index.php?showtopic=164809 (and legacy kexts for audio and LAN of course) If you did that and it doesn't work, boot in verbose mode (-v) and check where it hangs. Can't Chameleon be done with the installer? Link to comment Share on other sites More sharing options...
oldnapalm Posted November 29, 2009 Author Share Posted November 29, 2009 Can't Chameleon be done with the installer? Yes, I think you can use the installer. Kexts I use: AD1988bFix.kext fakesmc.kext OSXRestart.kext OpenHaltRestart.kext PlatformUUID.kext Link to comment Share on other sites More sharing options...
Ommid Posted November 29, 2009 Share Posted November 29, 2009 Yes, I think you can use the installer. Kexts I use: AD1988bFix.kext fakesmc.kext OSXRestart.kext OpenHaltRestart.kext PlatformUUID.kext How about the AppleYukon2Injector? Did you delete any KEXTs? Did you just drag and drop the DSDT.aml to Root? Link to comment Share on other sites More sharing options...
Ommid Posted November 29, 2009 Share Posted November 29, 2009 How about the AppleYukon2Injector? Did you delete any KEXTs? Did you just drag and drop the DSDT.aml to Root? Link to comment Share on other sites More sharing options...
oldnapalm Posted November 29, 2009 Author Share Posted November 29, 2009 About Yukon, I edited the Info.plist in the original kext (see references), but you can use the injector too. Our mobo can run SL without any patches to DSDT, just some things don't work (fixes in this topic). Check if ACPI 2.0 and APIC are enabled in BIOS setup. Other option that should be enabled is C1E. Link to comment Share on other sites More sharing options...
Ommid Posted November 29, 2009 Share Posted November 29, 2009 About Yukon, I edited the Info.plist in the original kext (see references), but you can use the injector too. Our mobo can run SL without any patches to DSDT, just some things don't work (fixes in this topic). Check if ACPI 2.0 and APIC are enabled in BIOS setup. Other option that should be enabled is C1E. Everything works but no LAN, Lan is connected when given manual settings but no internet Link to comment Share on other sites More sharing options...
oldnapalm Posted November 29, 2009 Author Share Posted November 29, 2009 Everything works but no LAN, Lan is connected when given manual settings but no internet I'm using an edited kext, as explained in references link, it works fine. If you are using the injector, be sure to put it in /Extra/Extensions and include it in /Extra/Extensions.mkext If it doesn't work, try to edit the Info.plist in the original kext, it's a 3 bytes change. Then touch the extensions folder so the cache is rebuilt (and remove the injector). sudo touch /System/Library/Extensions Link to comment Share on other sites More sharing options...
Ommid Posted November 29, 2009 Share Posted November 29, 2009 I'm using an edited kext, as explained in references link, it works fine. If you are using the injector, be sure to put it in /Extra/Extensions and include it in /Extra/Extensions.mkext If it doesn't work, try to edit the Info.plist in the original kext, it's a 3 bytes change. Then touch the extensions folder so the cache is rebuilt (and remove the injector). sudo touch /System/Library/Extensions I am going to start again I don't understand because I don't know why some Kexts go in extra and some don't Link to comment Share on other sites More sharing options...
oldnapalm Posted November 29, 2009 Author Share Posted November 29, 2009 I am going to start again I don't understand because I don't know why some Kexts go in extra and some don't Most legacy kexts work in /E/E. Kexts with dependencies can also work in /E/E if you copy its dependencies to the same folder. Some need mkext in /Extra to work. I have all "extra" kexts in /E/E AD1988bFix.kext fakesmc.kext JMicronATA.kext OpenHaltRestart.kext OSXRestart.kext PlatformUUID.kext VoodooMonitor.kext The only changes in /S/L/E are edit in Yukon kext and remove AppleUpstreamUserClient.kext to avoid mouse lag using iTunes. Link to comment Share on other sites More sharing options...
Ommid Posted November 29, 2009 Share Posted November 29, 2009 Most legacy kexts work in /E/E.Kexts with dependencies can also work in /E/E if you copy its dependencies to the same folder. Some need mkext in /Extra to work. I have all "extra" kexts in /E/E AD1988bFix.kext fakesmc.kext JMicronATA.kext OpenHaltRestart.kext OSXRestart.kext PlatformUUID.kext VoodooMonitor.kext The only changes in /S/L/E are edit in Yukon kext and remove AppleUpstreamUserClient.kext to avoid mouse lag using iTunes. So after installation of Snow Leopard, I will use my SnowInstaller to boot into the HD Then install the Chameleon installer to the HD Drag and drop the above KEXTs to the E/E folder Run KEXT utility to repair How about the DSDT?? Link to comment Share on other sites More sharing options...
oldnapalm Posted November 29, 2009 Author Share Posted November 29, 2009 How about the DSDT?? Put it in /Extra Link to comment Share on other sites More sharing options...
Ommid Posted November 29, 2009 Share Posted November 29, 2009 Put it in /Extra And is everything else OK that I said? Link to comment Share on other sites More sharing options...
oldnapalm Posted November 29, 2009 Author Share Posted November 29, 2009 And is everything else OK that I said? I guess so. Can't be sure because you didn't answer if you are using MBR or GUID partition scheme. I use MBR, put kexts in /Extra/Extensions and dsdt.aml in /Extra I read that using GUID you have to install Chameleon, kexts and DSDT in the EFI partition (but I never installed this way). Link to comment Share on other sites More sharing options...
Recommended Posts