Jump to content

Asus P5E DSDT fixes


oldnapalm
 Share

300 posts in this topic

Recommended Posts

The device is p0p6 (as in zero and not O) FYI. and thank you for the sbus code, where does it go? and what does that do exactly?

 

           Device (P0P6)
           {
               Name (_ADR, 0x001C0002)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x09, 0x04))
               }

               Method (_PRT, 0, NotSerialized)
               {
                   If (PICM)
                   {
                       Return (AR06)
                   }

                   Return (PR06)
               }

               Device (GIGE)
               {
                   Name (_ADR, Zero)
                   OperationRegion (GPIO, SystemIO, 0x0800, 0x06)
                   Field (GPIO, ByteAcc, NoLock, Preserve)
                   {
                       GO01,   8, 
                       GO02,   8, 
                       GO03,   8, 
                       GO04,   8, 
                       GO05,   8, 
                       GP9,    1
                   }

                   Name (_PRW, Package (0x02)
                   {
                       0x09, 
                       0x03
                   })
                   Method (EWOL, 1, NotSerialized)
                   {
                       If (LEqual (Arg0, One))
                       {
                           Or (GP9, One, GP9)
                       }
                       Else
                       {
                           And (GP9, Zero, GP9)
                       }

                       If (LEqual (Arg0, GP9))
                       {
                           Return (Zero)
                       }
                       Else
                       {
                           Return (One)
                       }
                   }
               }
           }

 

Thx, for ethernet code ;) I add it after Device (USB6) and before Device (HDEF). It solve's some problems with lag's and etc.

Now, i am looking for DSDT code for DRAM Controller :D

Link to comment
Share on other sites

I attached diff file.

 

I changed information about RAM in your file to have 4 GB of ram. It's located in the OperationRegion (RAMW, SystemMemory, *How much memory you have*)

Also i need to change OperationRegion for BIOS, CPU(1,2,3,4).

You will see this in diff file :wacko:

 

Thank you. I added this info to the first post.

 

Also i know how to solve problem with restart. After this you wont need OSXRestart.kext or OpenHaltRestart.kext.

I attached zip file where you can find new boot, you need to place it to you root Hard Drive (for me it's MacintoshHD), you can do this with this command "sudo cp -v ~/downloads/boot /". After you need to edit your /Extra/com.apple.Boot.plist, and add there: RestartFix

YES

After that you need to remove your kext's, like OSXRestart, OpenHaltRestart (for me it was EvOReboot).

Reboot :(

That's all!

 

Check this boot by AsereBLN, it also fixes the Platform UUID (no need for PlatformUUID.kext)

http://www.efixusers.com/showthread.php?p=6502

I haven't tried it yet because I'm on the road until next week.

Link to comment
Share on other sites

I add it after Device (USB6) and before Device (HDEF). It solve's some problems with lag's and etc.

 

Is this about SBUS device? When do these lags happen if you are not using SBUS code in DSDT?

 

Hmm.. Very interesting about ethernet. Because i am using LegacyAppleYukon2.kext. Can you give me this patch for DSDT?

 

Can you attach the LegacyAppleYukon2.kext you are using? I tried AppleYukon2Injector.kext but couldn't get it to work.

 

added the ethernet so i dont need "ethernetbuiltin" in my boot.plist anymore

 

You still need to edit AppleYukon2.kext or use legacy kext, right?

 

Thanks.

Link to comment
Share on other sites

Is this about SBUS device? When do these lags happen if you are not using SBUS code in DSDT?

 

 

 

Can you attach the LegacyAppleYukon2.kext you are using? I tried AppleYukon2Injector.kext but couldn't get it to work.

 

 

 

You still need to edit AppleYukon2.kext or use legacy kext, right?

 

Thanks.

 

About SMBUS, some lags in the games, maybe problems in programs.

I attached AppleYukon2.kext, you need to place it to the /Extra/Extensions.

 

I want to find DSDT patch for P5E Dram Controller, because it does't properly work.

 

Also i edit CPU section in DSDT, now it has P-states, it works brilliantly. :)

 

{
   Name (GPIC, Zero)
   Scope (\)
   {
       Name (SSDT, Package (0x1E)
       {
           "CPU0IST ", 
           0xBFEE7780, 
           0x022A, 
           "CPU1IST ", 
           0xBFEE7C40, 
           0x0152, 
           "CPU0CST ", 
           Zero, 
           0xF000E819, 
           "CPU1CST ", 
           Zero, 
           0xF000E819, 
           "CPU2IST ", 
           0xBFEE7DA0, 
           0x0152, 
           "CPU3IST ", 
           0xBFEE7F00, 
           0x0152, 
           "CPU4IST ", 
           Zero, 
           0xF000E819, 
           "CPU5IST ", 
           Zero, 
           0xF000E819, 
           "CPU6IST ", 
           Zero, 
           0xF000E819, 
           "CPU7IST ", 
           Zero, 
           0xF000E819
       })
       Name (CFGD, 0x040183F2)
       Name (PDC0, 0x80000000)
       Name (PDC1, 0x80000000)
       Name (PDC2, 0x80000000)
       Name (PDC3, 0x80000000)
       Name (PDC4, 0x80000000)
       Name (PDC5, 0x80000000)
       Name (PDC6, 0x80000000)
       Name (PDC7, 0x80000000)
       Name (SDTL, Zero)
   }

   Scope (_PR)
   {
       Processor (CPU1, 0x01, 0x00000810, 0x06)
       {
           Method (_CST, 0, NotSerialized)
           {
               Return (Package (0x02)
               {
                   One, 
                   Package (0x04)
                   {
                       ResourceTemplate ()
                       {
                           Register (FFixedHW, 
                               0x01,               // Bit Width
                               0x02,               // Bit Offset
                               0x0000000000000000, // Address
                               ,)
                       }, 

                       One, 
                       One, 
                       0x03E8
                   }
               })
           }

           OperationRegion (STBL, SystemMemory, 0xCFF8E0D0, 0x01D2)
           Name (NCPU, 0x04)
           Name (TYPE, 0x80000000)
           Name (HNDL, 0x80000000)
           Name (CFGD, 0x01000007)
           Name (TBLD, 0x80)
           Method (_PDC, 1, NotSerialized)
           {
               CreateDWordField (Arg0, Zero, REVS)
               CreateDWordField (Arg0, 0x04, SIZE)
               Store (SizeOf (Arg0), Local0)
               Store (Subtract (Local0, 0x08), Local1)
               CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
               Name (STS0, Buffer (0x04)
               {
                   0x00, 0x00, 0x00, 0x00
               })
               Concatenate (STS0, TEMP, Local2)
               _OSC (Buffer (0x10)
                   {
                       /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                       /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                   }, REVS, SIZE, Local2)
           }

           Method (_OSC, 4, NotSerialized)
           {
               CreateDWordField (Arg3, Zero, STS0)
               CreateDWordField (Arg3, 0x04, CAP0)
               CreateDWordField (Arg0, Zero, IID0)
               CreateDWordField (Arg0, 0x04, IID1)
               CreateDWordField (Arg0, 0x08, IID2)
               CreateDWordField (Arg0, 0x0C, IID3)
               Name (UID0, Buffer (0x10)
               {
                   /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                   /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
               })
               CreateDWordField (UID0, Zero, EID0)
               CreateDWordField (UID0, 0x04, EID1)
               CreateDWordField (UID0, 0x08, EID2)
               CreateDWordField (UID0, 0x0C, EID3)
               If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                   LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
               {
                   Store (0x06, STS0)
                   Return (Arg3)
               }

               If (LNotEqual (Arg1, One))
               {
                   Store (0x0A, STS0)
                   Return (Arg3)
               }

               Or (And (TYPE, 0x7FFFFFFF), CAP0, TYPE)
               If (And (CFGD, One))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE, 
                       0x09), 0x09)), LNot (And (TBLD, One))))
                   {
                       Or (TBLD, One, TBLD)
                       Load (STBL, HNDL)
                   }
               }

               If (And (CFGD, 0xF0))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
                       )), LNot (And (TBLD, 0x02))))
                   {
                       Or (TBLD, 0x02, TBLD)
                   }
               }

               Return (Arg3)
           }

           Method (_PCT, 0, NotSerialized)
           {
               Return (Package (0x02)
               {
                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x00,               // Bit Width
                           0x00,               // Bit Offset
                           0x0000000000000000, // Address
                           ,)
                   }, 

                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x00,               // Bit Width
                           0x00,               // Bit Offset
                           0x0000000000000000, // Address
                           ,)
                   }
               })
           }

           Method (_PPC, 0, NotSerialized)
           {
               Return (Zero)
           }

           Name (_PSS, Package (0x04)
           {
               Package (0x06)
               {
                   0x0963, 
                   0xFB04, 
                   0x0A, 
                   0x0A, 
                   0x0923, 
                   0x0923
               }, 

               Package (0x06)
               {
                   0x0858, 
                   0xD975, 
                   0x0A, 
                   0x0A, 
                   0x0821, 
                   0x0821
               }, 

               Package (0x06)
               {
                   0x074D, 
                   0xB951, 
                   0x0A, 
                   0x0A, 
                   0x071E, 
                   0x071E
               }, 

               Package (0x06)
               {
                   0x0642, 
                   0x9878, 
                   0x0A, 
                   0x0A, 
                   0x061B, 
                   0x061B
               }
           })
       }
   }

   Scope (_PR)
   {
       Processor (CPU2, 0x02, 0x00000810, 0x06)
       {
           Method (_CST, 0, NotSerialized)
           {
               Return (^^CPU1._CST ())
           }

           OperationRegion (STBL, SystemMemory, 0xCFF8E2B0, 0x0143)
           Name (NCPU, 0x04)
           Name (TYPE, 0x80000000)
           Name (HNDL, 0x80000000)
           Name (CFGD, 0x01000007)
           Name (TBLD, 0x80)
           Method (_PDC, 1, NotSerialized)
           {
               CreateDWordField (Arg0, Zero, REVS)
               CreateDWordField (Arg0, 0x04, SIZE)
               Store (SizeOf (Arg0), Local0)
               Store (Subtract (Local0, 0x08), Local1)
               CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
               Name (STS1, Buffer (0x04)
               {
                   0x00, 0x00, 0x00, 0x00
               })
               Concatenate (STS1, TEMP, Local2)
               _OSC (Buffer (0x10)
                   {
                       /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                       /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                   }, REVS, SIZE, Local2)
           }

           Method (_OSC, 4, NotSerialized)
           {
               CreateDWordField (Arg3, Zero, STS1)
               CreateDWordField (Arg3, 0x04, CAP1)
               CreateDWordField (Arg0, Zero, IID0)
               CreateDWordField (Arg0, 0x04, IID1)
               CreateDWordField (Arg0, 0x08, IID2)
               CreateDWordField (Arg0, 0x0C, IID3)
               Name (UID1, Buffer (0x10)
               {
                   /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                   /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
               })
               CreateDWordField (UID1, Zero, EID0)
               CreateDWordField (UID1, 0x04, EID1)
               CreateDWordField (UID1, 0x08, EID2)
               CreateDWordField (UID1, 0x0C, EID3)
               If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                   LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
               {
                   Store (0x06, STS1)
                   Return (Arg3)
               }

               If (LNotEqual (Arg1, One))
               {
                   Store (0x0A, STS1)
                   Return (Arg3)
               }

               Or (And (TYPE, 0x7FFFFFFF), CAP1, TYPE)
               If (And (CFGD, One))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE, 
                       0x09), 0x09)), LNot (And (TBLD, One))))
                   {
                       Or (TBLD, One, TBLD)
                       Load (STBL, HNDL)
                   }
               }

               If (And (CFGD, 0xF0))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
                       )), LNot (And (TBLD, 0x02))))
                   {
                       Or (TBLD, 0x02, TBLD)
                   }
               }

               Return (Arg3)
           }

           Method (_PCT, 0, NotSerialized)
           {
               Return (Package (0x02)
               {
                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x00,               // Bit Width
                           0x00,               // Bit Offset
                           0x0000000000000000, // Address
                           ,)
                   }, 

                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x00,               // Bit Width
                           0x00,               // Bit Offset
                           0x0000000000000000, // Address
                           ,)
                   }
               })
           }

           Method (_PPC, 0, NotSerialized)
           {
               Return (Zero)
           }

           Name (_PSS, Package (0x04)
           {
               Package (0x06)
               {
                   0x0963, 
                   0xFB04, 
                   0x0A, 
                   0x0A, 
                   0x0923, 
                   0x0923
               }, 

               Package (0x06)
               {
                   0x0858, 
                   0xD975, 
                   0x0A, 
                   0x0A, 
                   0x0821, 
                   0x0821
               }, 

               Package (0x06)
               {
                   0x074D, 
                   0xB951, 
                   0x0A, 
                   0x0A, 
                   0x071E, 
                   0x071E
               }, 

               Package (0x06)
               {
                   0x0642, 
                   0x9878, 
                   0x0A, 
                   0x0A, 
                   0x061B, 
                   0x061B
               }
           })
       }
   }

   Scope (_PR)
   {
       Processor (CPU3, 0x03, 0x00000810, 0x06)
       {
           Method (_CST, 0, NotSerialized)
           {
               Return (^^CPU1._CST ())
           }

           OperationRegion (STBL, SystemMemory, 0xCFF8E400, 0x0143)
           Name (NCPU, 0x04)
           Name (TYPE, 0x80000000)
           Name (HNDL, 0x80000000)
           Name (CFGD, 0x01000007)
           Name (TBLD, 0x80)
           Method (_PDC, 1, NotSerialized)
           {
               CreateDWordField (Arg0, Zero, REVS)
               CreateDWordField (Arg0, 0x04, SIZE)
               Store (SizeOf (Arg0), Local0)
               Store (Subtract (Local0, 0x08), Local1)
               CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
               Name (STS2, Buffer (0x04)
               {
                   0x00, 0x00, 0x00, 0x00
               })
               Concatenate (STS2, TEMP, Local2)
               _OSC (Buffer (0x10)
                   {
                       /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                       /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                   }, REVS, SIZE, Local2)
           }

           Method (_OSC, 4, NotSerialized)
           {
               CreateDWordField (Arg3, Zero, STS2)
               CreateDWordField (Arg3, 0x04, CAP2)
               CreateDWordField (Arg0, Zero, IID0)
               CreateDWordField (Arg0, 0x04, IID1)
               CreateDWordField (Arg0, 0x08, IID2)
               CreateDWordField (Arg0, 0x0C, IID3)
               Name (UID2, Buffer (0x10)
               {
                   /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                   /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
               })
               CreateDWordField (UID2, Zero, EID0)
               CreateDWordField (UID2, 0x04, EID1)
               CreateDWordField (UID2, 0x08, EID2)
               CreateDWordField (UID2, 0x0C, EID3)
               If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                   LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
               {
                   Store (0x06, STS2)
                   Return (Arg3)
               }

               If (LNotEqual (Arg1, One))
               {
                   Store (0x0A, STS2)
                   Return (Arg3)
               }

               Or (And (TYPE, 0x7FFFFFFF), CAP2, TYPE)
               If (And (CFGD, One))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE, 
                       0x09), 0x09)), LNot (And (TBLD, One))))
                   {
                       Or (TBLD, One, TBLD)
                       Load (STBL, HNDL)
                   }
               }

               If (And (CFGD, 0xF0))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
                       )), LNot (And (TBLD, 0x02))))
                   {
                       Or (TBLD, 0x02, TBLD)
                   }
               }

               Return (Arg3)
           }

           Method (_PCT, 0, NotSerialized)
           {
               Return (Package (0x02)
               {
                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x00,               // Bit Width
                           0x00,               // Bit Offset
                           0x0000000000000000, // Address
                           ,)
                   }, 

                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x00,               // Bit Width
                           0x00,               // Bit Offset
                           0x0000000000000000, // Address
                           ,)
                   }
               })
           }

           Method (_PPC, 0, NotSerialized)
           {
               Return (Zero)
           }

           Name (_PSS, Package (0x04)
           {
               Package (0x06)
               {
                   0x0963, 
                   0xFB04, 
                   0x0A, 
                   0x0A, 
                   0x0923, 
                   0x0923
               }, 

               Package (0x06)
               {
                   0x0858, 
                   0xD975, 
                   0x0A, 
                   0x0A, 
                   0x0821, 
                   0x0821
               }, 

               Package (0x06)
               {
                   0x074D, 
                   0xB951, 
                   0x0A, 
                   0x0A, 
                   0x071E, 
                   0x071E
               }, 

               Package (0x06)
               {
                   0x0642, 
                   0x9878, 
                   0x0A, 
                   0x0A, 
                   0x061B, 
                   0x061B
               }
           })
       }
   }

   Scope (_PR)
   {
       Processor (CPU4, 0x04, 0x00000810, 0x06)
       {
           Method (_CST, 0, NotSerialized)
           {
               Return (^^CPU1._CST ())
           }

           OperationRegion (STBL, SystemMemory, 0xCFF8E550, 0x0143)
           Name (NCPU, 0x04)
           Name (TYPE, 0x80000000)
           Name (HNDL, 0x80000000)
           Name (CFGD, 0x01000007)
           Name (TBLD, 0x80)
           Method (_PDC, 1, NotSerialized)
           {
               CreateDWordField (Arg0, Zero, REVS)
               CreateDWordField (Arg0, 0x04, SIZE)
               Store (SizeOf (Arg0), Local0)
               Store (Subtract (Local0, 0x08), Local1)
               CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
               Name (STS3, Buffer (0x04)
               {
                   0x00, 0x00, 0x00, 0x00
               })
               Concatenate (STS3, TEMP, Local2)
               _OSC (Buffer (0x10)
                   {
                       /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                       /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                   }, REVS, SIZE, Local2)
           }

           Method (_OSC, 4, NotSerialized)
           {
               CreateDWordField (Arg3, Zero, STS3)
               CreateDWordField (Arg3, 0x04, CAP3)
               CreateDWordField (Arg0, Zero, IID0)
               CreateDWordField (Arg0, 0x04, IID1)
               CreateDWordField (Arg0, 0x08, IID2)
               CreateDWordField (Arg0, 0x0C, IID3)
               Name (UID3, Buffer (0x10)
               {
                   /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                   /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
               })
               CreateDWordField (UID3, Zero, EID0)
               CreateDWordField (UID3, 0x04, EID1)
               CreateDWordField (UID3, 0x08, EID2)
               CreateDWordField (UID3, 0x0C, EID3)
               If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                   LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
               {
                   Store (0x06, STS3)
                   Return (Arg3)
               }

               If (LNotEqual (Arg1, One))
               {
                   Store (0x0A, STS3)
                   Return (Arg3)
               }

               Or (And (TYPE, 0x7FFFFFFF), CAP3, TYPE)
               If (And (CFGD, One))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE, 
                       0x09), 0x09)), LNot (And (TBLD, One))))
                   {
                       Or (TBLD, One, TBLD)
                       Load (STBL, HNDL)
                   }
               }

               If (And (CFGD, 0xF0))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
                       )), LNot (And (TBLD, 0x02))))
                   {
                       Or (TBLD, 0x02, TBLD)
                   }
               }

               Return (Arg3)
           }

           Method (_PCT, 0, NotSerialized)
           {
               Return (Package (0x02)
               {
                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x00,               // Bit Width
                           0x00,               // Bit Offset
                           0x0000000000000000, // Address
                           ,)
                   }, 

                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x00,               // Bit Width
                           0x00,               // Bit Offset
                           0x0000000000000000, // Address
                           ,)
                   }
               })
           }

           Method (_PPC, 0, NotSerialized)
           {
               Return (Zero)
           }

           Name (_PSS, Package (0x04)
           {
               Package (0x06)
               {
                   0x0963, 
                   0xFB04, 
                   0x0A, 
                   0x0A, 
                   0x0923, 
                   0x0923
               }, 

               Package (0x06)
               {
                   0x0858, 
                   0xD975, 
                   0x0A, 
                   0x0A, 
                   0x0821, 
                   0x0821
               }, 

               Package (0x06)
               {
                   0x074D, 
                   0xB951, 
                   0x0A, 
                   0x0A, 
                   0x071E, 
                   0x071E
               }, 

               Package (0x06)
               {
                   0x0642, 
                   0x9878, 
                   0x0A, 
                   0x0A, 
                   0x061B, 
                   0x061B
               }
           })
       }
   }

   Name (_S0, Package (0x04)
   {
       Zero, 
       Zero, 
       Zero, 
       Zero
   })
   If (SS1)
   {
       Name (_S1, Package (0x04)
       {
           One, 
           Zero, 
           Zero, 
           Zero
       })
   }

   If (SS3)
   {
       Name (_S3, Package (0x04)
       {
           0x05, 
           Zero, 
           Zero, 
           Zero
       })
   }

   If (SS4)
   {
       Name (_S4, Package (0x04)
       {
           0x06, 
           Zero, 
           Zero, 
           Zero
       })
   }

   Name (_S5, Package (0x04)
   {
       0x07, 
       Zero, 
       Zero, 
       Zero
   })
   Name (WOTB, Zero)
   Name (WSSB, Zero)
   Name (WAXB, Zero)
   Method (_PTS, 1, NotSerialized)
   {
       Store (Arg0, DBG8)
       PTS (Arg0)
       Store (Zero, Index (WAKP, Zero))
       Store (Zero, Index (WAKP, One))
       If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
       {
           Sleep (0x0BB8)
       }

       Store (ASSB, WSSB)
       Store (AOTB, WOTB)
       Store (AAXB, WAXB)
       Store (Arg0, ASSB)
       Store (OSFL (), AOTB)
       Store (Zero, AAXB)
   }

   OperationRegion (IORK, SystemIO, 0xB3, One)
   Field (IORK, ByteAcc, NoLock, Preserve)
   {
       IOWK,   8
   }

   Method (PTS, 1, NotSerialized)
   {
       If (Arg0)
       {
           \_SB.PCI0.SBRG.SIOS (Arg0)
           \_SB.PCI0.SBRG.SPTS (Arg0)
           \_SB.PCI0.NPTS (Arg0)
       }
   }

LegacyAppleYukon2.kext.zip

Link to comment
Share on other sites

I attached AppleYukon2.kext, you need to place it to the /Extra/Extensions.

 

Thanks, I will try it soon.

 

About SMBUS, shouldn't device-id be {0x30, 0x3a, 0x00, 0x00} as in name (pci8086,3a30)? Where did you get the code from?

Link to comment
Share on other sites

Thanks, I will try it soon.

 

About SMBUS, shouldn't device-id be {0x30, 0x3a, 0x00, 0x00} as in name (pci8086,3a30)? Where did you get the code from?

 

No, don't edit this string. In this string you match your device id to mac device id. I can attach here my IOreg file, if you need. I found this at some Russians site's about Mac OS X86.

Link to comment
Share on other sites

No, don't edit this string. In this string you match your device id to mac device id. I can attach here my IOreg file, if you need. I found this at some Russians site's about Mac OS X86.

 

Thanks. I just asked because I was looking at Master Chief's DSDT for the P5K PRO and found this in SBUS device (MCID is like DTGP with less arguments)

				Method (_DSM, 4, NotSerialized)				// Change device-id from pci8086,2930 to pci8086,3a30
			{
				Return (MCID (Arg2, 0x3A308086))
			}

Are SMBus kexts loaded with the code you are using?

   64	0 0xffffff7f80fff000 0x2000	 0x2000	 com.apple.driver.AppleSMBusPCI (1.0.4d0) <9 5 4 3>
  76	1 0xffffff7f81180000 0x2000	 0x2000	 com.apple.iokit.IOSMBusFamily (1.1) <5 4 3>
  77	0 0xffffff7f81182000 0xb000	 0xb000	 com.apple.driver.AppleSMBusController (1.0.4d0) <76 9 8 5 4 3>

Link to comment
Share on other sites

Thanks. I just asked because I was looking at Master Chief's DSDT for the P5K PRO and found this in SBUS device (MCID is like DTGP with less arguments)

				Method (_DSM, 4, NotSerialized)				// Change device-id from pci8086,2930 to pci8086,3a30
			{
				Return (MCID (Arg2, 0x3A308086))
			}

Are SMBus kexts loaded with the code you are using?

   64	0 0xffffff7f80fff000 0x2000	 0x2000	 com.apple.driver.AppleSMBusPCI (1.0.4d0) <9 5 4 3>
  76	1 0xffffff7f81180000 0x2000	 0x2000	 com.apple.iokit.IOSMBusFamily (1.1) <5 4 3>
  77	0 0xffffff7f81182000 0xb000	 0xb000	 com.apple.driver.AppleSMBusController (1.0.4d0) <76 9 8 5 4 3>

 

Yes, with this code SMBus kexts are loaded.

Have you ever seen Memory controller code for our mobo? I want to find this code, because on our mobo memory controller does not work :(

Link to comment
Share on other sites

  • 4 weeks later...

Hi,

 

I've been trying your guide but unfortunately it doesn't work properly for me.

 

My configuration is: Asus P5E (Bios 1201) - E8400 - 4x1Gb (Crucial Ballistix 6400) - Sapphire X1950 GT - dual monitor

Chameleon 2 RC4

 

I have install the "needed kexts" in /Extra/Extensions and DSDT.aml in /Extra.

The DSDT.aml (4Gb) doesn't work for me (kernel panic).

post-231676-1266184875_thumb.gif

 

Tried to generate my own dsdt.aml with dsdt patcher 1,01e --> Same kernel panic

Tried to generate dsdt.aml by getting the ACPI table from a Ubuntu Live CD --> Same kernel panic

By the way, in both cases, when I complie the dsl to get the aml I get pleny of warnings (28)

 

I can solve the kernel panic if I add NullCPUPowerManagement kext

 

I've read all the thread here, tried different stuff but my main problem is sleep still doesn't work. Nothing happen.

I've tried to add SleepEnabler kept but same result (except a "clic" in the hard drive, the mouse pointer disappears and come back few seconds later and the machine is full on.

 

Restart and shutdown work fine.

 

Before trying SL10.6.0, I was running 10.5.5 and all was working properly (sleep, restart, shutdown, sound, network, dual monitor)

 

I've attached my dsdt.aml built with DSDT patcher

dsdt.dsl.txt

 

Any ideas?

Thanks

Link to comment
Share on other sites

Hi,

 

here is your dsdt.aml without warnings and remarks, but I don't think that's the problem.

dsdt.aml.zip

My file wouldn't work for you because our CPUs have different number of cores.

 

Try setting SMproductname as MacPro3,1 in smbios.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SMproductname</key>
	<string>MacPro3,1</string>
</dict>
</plist>

If it doesn't help you can try removing _CST from CPUs 2 and 3.

Link to comment
Share on other sites

Hi oldnapalm,

 

1) I've tried with the new dsdt.aml you sent me (correcting warning), but unfortunately it doesn't help.

(Actually I've already did some modif to the dsl file following that thread and I've been able to compile without warning.

http://www.insanelymac.com/forum/index.php...t&p=1008957 (step 4,5,6))

2) Then, I've added the smbios.plist as you suggested.

3) Removed _CST from CPUs 2 and 3. (by the way is it 2 and 3, or 3 and 4?)

 

--> But still the same problem, I get kernel panic (if NullCPUPowerManagement kext not present in /E/E)

http://www.insanelymac.com/forum/index.php...st&id=67286

Except now it says MacPro3,1 in place of iMac8,1

 

By the way, I'm using Chameleon v2.0 - RC3 (not RC4 as I said in my previous post)

 

I don't know it that's usefull but wen I boot 10.6.0 (with NullCPU kext) "about this MAc" says "core 2 solo" (while it says core 2 duo when I boot 10.5.5)

 

I've also noticed that when shutdown or reboot, I get a message (just before the screen goes black): "AppleYukon 2 failed to get ACPI"

 

Just in case, here are 2 screenshots at early step of the boot of 10.5.5 and 10.6.0 (I don't see ant major differences)

post-231676-1266237237_thumb.gif

post-231676-1266237244_thumb.gif

 

Thanks

Link to comment
Share on other sites

3) Removed _CST from CPUs 2 and 3. (by the way is it 2 and 3, or 3 and 4?)

Actually it's 2 and 3 (in DSDT there are CPUs 0, 1, 2 and 3).

 

By the way, I'm using Chameleon v2.0 - RC3 (not RC4 as I said in my previous post)

I use the same version.

 

I don't know it that's usefull but wen I boot 10.6.0 (with NullCPU kext) "about this MAc" says "core 2 solo" (while it says core 2 duo when I boot 10.5.5)

 

I've also noticed that when shutdown or reboot, I get a message (just before the screen goes black): "AppleYukon 2 failed to get ACPI"

Strange, did you change any configuration in BIOS, especially those related to the CPU? I use default settings, except by the ones listed in the first post.

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

Have you tried other SMproductname, like MacPro2,1?

Link to comment
Share on other sites

  • 2 weeks later...

Thanks for this guide and the posted files, oldnapalm.

 

This guide helped me alot in setting up my first hackintosh :D

 

I used Chameleon RC2.4 (installer). My bios is set to RAID, because i have a ICH9 Raid Controller. WIN7 is running on two HDD in RAID mode. Mac OS 10.6.2 is on a single HD - also connect to that ICHController...

 

Im using your dsdt file and it is working fine. There is just one thing, that does not work with my mobo (Asus P5e).

 

As you know the Asus P5e also have a single IDE slot. I have a DVD drive connected on that slot. I´ve installed JmicronATA.kext and added the ID´s (197b:2368) into info.plist.

 

But for some reasons the DVD drive is not recognized ;) Got an idea? Is there an option to change DSDT to enable IDE?

Or do i need to buy a SATA DVD drive? :)

Link to comment
Share on other sites

Thanks for this guide and the posted files, oldnapalm.

You are welcome.

 

As you know the Asus P5e also have a single IDE slot. I have a DVD drive connected on that slot. I´ve installed JmicronATA.kext and added the ID´s (197b:2368) into info.plist.

 

But for some reasons the DVD drive is not recognized :( Got an idea? Is there an option to change DSDT to enable IDE?

Or do i need to buy a SATA DVD drive? :rolleyes:

Sorry, I don't have an IDE drive, that's why I put JmicronATA.kext under untested kexts.

 

You can use an IDE-to-SATA adapter.

Link to comment
Share on other sites

  • 4 weeks later...

OpenHaltRestart.kext is no longer necessary if using this DSDT fix

 

	Method (_PTS, 1, NotSerialized)
{
	If (LEqual (Arg0, 0x05)) {}
	Else
	{
		Store (Arg0, DBG8)
		PTS (Arg0)
		Store (Zero, Index (WAKP, Zero))
		Store (Zero, Index (WAKP, One))
		If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
		{
			Sleep (0x0BB8)
		}

		Store (ASSB, WSSB)
		Store (AOTB, WOTB)
		Store (AAXB, WAXB)
		Store (Arg0, ASSB)
		Store (OSFL (), AOTB)
		Store (Zero, AAXB)
	}
}

 

from http://www.projectosx.com/forum/index.php?showtopic=904

Link to comment
Share on other sites

  • 2 weeks later...

you guys run into some sleep trouble with 10.6.3 on a p5e?

 

After restart from sleep the usb device (mouse or keyboard ) I used to start up the machine is dead. After replugging it all is fine tho.

 

Everything used to work perfect under 10.6.2 with the dsdt fixes from this thread.

Link to comment
Share on other sites

you guys run into some sleep trouble with 10.6.3 on a p5e?

 

After restart from sleep the usb device (mouse or keyboard ) I used to start up the machine is dead. After replugging it all is fine tho.

 

Everything used to work perfect under 10.6.2 with the dsdt fixes from this thread.

Hi Matty,

 

I have the same problem.

 

I disabled the BIOS option "ACPI Wake From USB Device" but if I press a mouse button or a key on the keyboard while the computer is sleeping, when I wake it up (using power button) the keyboard and mouse are not working. The problem is that I'm used to wake up the system using the mouse. The workaround I found was removing _PRW from the USB device where I connect the keyboard and mouse, I can't use them to wake, but at least they are working after wake using the power button.

Link to comment
Share on other sites

Hi Matty,

 

I have the same problem.

 

I disabled the BIOS option "ACPI Wake From USB Device" but if I press a mouse button or a key on the keyboard while the computer is sleeping, when I wake it up (using power button) the keyboard and mouse are not working. The problem is that I'm used to wake up the system using the mouse. The workaround I found was removing _PRW from the USB device where I connect the keyboard and mouse, I can't use them to wake, but at least they are working after wake using the power button.

works great thx

Link to comment
Share on other sites

found this on tonymacx86:

 

USB Wake from Sleep

If waking from sleep with current DSDT edits and 10.6.3 IOUSBFamily.kext, you will have to re-plug any devices that require power. There is no official fix besides rolling back to 10.6.2 for now. We're working on new DSDT edits that will solve this issue.

 

 

Al tho I have to say booting by powerbutton works great and isn't that much of a problem.

Link to comment
Share on other sites

  • 3 weeks later...

Patched my own DSDT with these. Thanks a lot for the fixes. I've had issues in the past with not being able to wake from USB and it works great now (in 10.6.2 at least). Having the same issue as everyone in 10.6.3 but I'll stay on 10.6.2 for now until there is a fix.

 

Only other minor issue is not being able to do timed sleep (in Energy Saver) but I know this is a common issue with different hardware. Could this be fixed by DSDT?

Link to comment
Share on other sites

 Share

×
×
  • Create New...