Jump to content

Asus P5E DSDT fixes


  • Please log in to reply
294 replies to this topic

#1
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
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.

Attached File  ASUS_P5E_patches.zip   8.45KB   1265 downloads


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 Attached File  dsdt.aml.zip   15.69KB   421 downloads
4 GB RAM Attached File  dsdt.aml.zip   15.69KB   972 downloads
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:

Attached File  dsdt.diff.zip   1.98KB   280 downloads

Needed kexts:

AD1988bFix.kext by XyZ - Attached File  AD1988bFix.kext.zip   10.12KB   1195 downloads
For 10.6.8 - need edited AppleHDA

fakesmc.kext by Netkas - http://netkas.org/?cat=15

LegacyAppleYukon2.kext by cVaD - Attached File  LegacyAppleYukon2.kext.zip   2.79KB   1149 downloads
OpenHaltRestart.kext** by Psystar - Attached File  OpenHaltRestart.kext.zip   27.26KB   601 downloads
OSXRestart.kext*** by Master Chief - http://www.insanelym...howtopic=199048

PlatformUUID.kext* by Superhai - Attached File  PlatformUUID.kext.zip   22.46KB   387 downloads
* 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 - Attached File  JMicronATA.kext.zip   49.59KB   225 downloads

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.infinitem.../post30994.html
SpeedStep - http://www.insanelym...howtopic=181631
Sleep and SATA - http://www.insanelym...howtopic=168014

#2
thyago231

thyago231

    InsanelyMac Protégé

  • Members
  • Pip
  • 2 posts
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...

:D

#3
TheElix

TheElix

    InsanelyMac Protégé

  • Members
  • Pip
  • 10 posts
Wow! Thank you! Do you know how to implement my Nvidia 8800GTS 512 Mb to dsdt.aml?

#4
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil

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.

#5
TheElix

TheElix

    InsanelyMac Protégé

  • Members
  • Pip
  • 10 posts
Unfortunately, that dsdt didn't work for me, the system doesn't boot. I guess I'll have to edit those parameters manually.

#6
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
Can you upload your DSDT file? Which BIOS version are you using?

Thanks.

#7
Ommid

Ommid

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts

Can you upload your DSDT file? Which BIOS version are you using?

Thanks.


Doesn't work for me either, it just hangs

#8
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil

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).

#9
Ommid

Ommid

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts

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

#10
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil

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.

#11
Ommid

Ommid

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts

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

#12
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil

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.insanelym...howtopic=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.

#13
Ommid

Ommid

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts

You just need to install the boot loader (Chameleon or PC_EFI) and FakeSMC
http://www.insanelym...howtopic=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?

#14
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil

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

#15
Ommid

Ommid

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts

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?

#16
Ommid

Ommid

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts

How about the AppleYukon2Injector?

Did you delete any KEXTs?

Did you just drag and drop the DSDT.aml to Root?

Posted Image

#17
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
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.

#18
Ommid

Ommid

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts

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

#19
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil

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

#20
Ommid

Ommid

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts

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





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy