Jump to content

DSDT for Asus P8P67


  • Please log in to reply
44 replies to this topic

#1
flAked

flAked

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 470 posts
  • Gender:Male
  • Location:internets
This work is based on DSDT for Asus P8P67-M PRO by DHP.

Those who followed along are aware that discussions were always very technical and specific, without a clear followthrough. This thread aims to condense our findings and be a supplement to the thread by DHP.

First of all, here are the ACPI tables for the P8P67 (B3 stepping):

Method I: Full support via single SSDT (only with RevoBoot)
Shortly!

Method II: Lightweight ACPI tables (universal, but not updated anymore)
Attached File  dsdt_rev2.dsl.zip   5.15KB   659 downloadsAttached File  ssdt_pr_minimal_stripped_rev6.dsl.zip   1.64KB   385 downloadsAttached File  ssdt_usb_rev2.dsl.zip   1.08KB   292 downloads
Factory tables (for reference)
Attached File  P8P67_factory_1608.zip   35.04KB   367 downloads
Tools
SpeedStepper
MSRDumper
aml2struct (by MasterChief)


0. Prerequisites

Method I
Up until now the main focus was geared toward a heavily optimized and streamlined DSDT / SSDT.
Many questions emerged if those edits are usable on other boards as well and if there be an auto-patcher for all the fixes. Well, there is a reason why this guide / knowledge base was holding back and that is because of recent developments in RevoBoot. It is now possible to get the same results with automatic injection and a very small SSDT to get device names & sleep correctly set up. That is why the downloads are split in two methods, the second and old method won't be updated in the future and this guide will mainly focus on method I from now on.

Method II
There is a clear distinction between enabling devices in your DSDT, the actual IOKit drivers that match those devices and your UEFI settings. You could optimize this DSDT by removing the devices you are not using, but you would also limit your options at a later time. This DSDT was developed with all onboard devices turned on. You are however free to disable any device in UEFI and the appropriate IOKit drivers won't get loaded. Support for PS2 and COM ports are stripped out.

This guide assumes that you already have a running system, using one of the several installation guides. Testing and refining this setup was done using RevoBoot.


1. UEFI settings

This is pretty straight forward, for the basic setup set SATA to AHCI, disable the serial port and choose the onboard devices you want to use. In the CPU configuration menu we want to enable all C-State reports, as well as SpeedStep and Turbo Mode. Disable Internal PPL overvoltage to resolve sleep/wake issues.

Leave CPU Ratio at Auto for the time being, overclocking will be covered separately.


2. Patching CFG Lock

C-State configuration is set via a Model Specific Register (MSR 0xE2), unfortunately for Asus P67 users this MSR will be locked after UEFI finishes and can't be changed afterwards. Apple hardware or more precise EFI is not engaging this CFG Lock. This results in a kernel panic when loading the system without NullCPUPowerManagement.kext (NullCPU) because AppleIntelCPUPowerManagement.kext (AICPUPM) is writing to MSR 0xE2 which is read-only at this point, triggering a General Protection Fault (GPF).

We have two options to resolve this issue:


a) patch AICPUPM's write operations to 0xE2

Download SpeedStepper for SnowLeopard, currently only version 142.6.0 is supported.

Open Terminal.app:
sudo bash
cd /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS
cp AppleIntelCPUPowerManagement AppleIntelCPUPowerManagement_bkp
/path/to/speedstepper AppleIntelCPUPowerManagement
The patcher should confirm that every offset was found and patched. Then remove NullCPU and rebuild kextcache. You should now be able to boot the system without NullCPU.

This is considered a temporary fix, because SpeedStepper needs to be updated for every new version of AICPUPM. A much more solid solution lies in b).


b) patch the CFG Lock in UEFI itself

By removing the CFG Lock at the time of UEFI configuration we can solve the issue once and for all. Until the next UEFI update that is. Asus is currently working on several UEFI updates to iron out critical bugs, most likely we will see a couple of updates in the near future. Modding the specific UEFI module is not for the faint of heart and a lot of checking and double-checking needs to be done before flashing a custom made UEFI mod.

Until we have a stable release considered lasting several month, I won't release a modded UEFI. The effort is not worth while at the moment, if the next UEFI is around the corner.

Once the patching is automated it might change. But for now, patching AICPUPM is much safer and less nerve-recking.


3. Configuring RevoBoot

4. SSDT_PR

5. Static ACPI table injection

6. Stepper programs

7. SMBIOS fix

8. Overclocking

A. Modifying the DSDT for other board variants


very much wip, more to come later... this is far from finished, I just wanted to post my current versions up front, because the original thread is a bit convoluted now and it's hard to find the files. If you have any questions about the general process, wait until I finished the main sections, thanks.

#2
Regi Yassin

Regi Yassin

    Who am I ?

  • Members
  • PipPipPipPipPip
  • 278 posts
  • Gender:Not Telling
can be used for another p8p67 mobos?
p8p67 pro or deluxe?

#3
flAked

flAked

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 470 posts
  • Gender:Male
  • Location:internets

can be used for another p8p67 mobos?
p8p67 pro or deluxe?

No, this is custom made for the P8P67 only. There will be a brief section about how to modify it for your board, but it requires some deep knowledge of DSDT editing and how ACPI tables work.

#4
peebee01

peebee01

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
flAked

Looking forward to learn from this thread. I got Speedstep working based on your speedstepper tool but without the use of a DSDT, which is probably the reason my machine is not able to wake up from sleep.

Does sleep/wakeup work fully on your setup?

Thanks for sharing your knowledge on this topic

#5
flAked

flAked

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 470 posts
  • Gender:Male
  • Location:internets

Does sleep/wakeup work fully on your setup?

Yes.

If you transition to RevoBoot, DeepSleep (hibernation) is not currently supported, however.

#6
mrmojorisin17

mrmojorisin17

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,942 posts
  • Gender:Male
Great work man, people who have P8P67 board have to feel lucky ;)

#7
flAked

flAked

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 470 posts
  • Gender:Male
  • Location:internets

Great work man, people who have P8P67 board have to feel lucky ;)

Thanks!

Well, besides the DSDT the explanations are of course valid for other P67 boards as well :)

#8
mrmojorisin17

mrmojorisin17

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,942 posts
  • Gender:Male
Is a pleasure to read your posts ;)

#9
bogdanw

bogdanw

    InsanelyMac Protégé

  • Members
  • Pip
  • 39 posts
Must have done something wrong
SpeedStepper v1.0 - (c) flAked 2011
for AICPUPM v142.6.0
Searching for wrmsr #0: 34a46
 -> found bytes.
 -> patched.
Searching for wrmsr #1: 34d3e
 -> found bytes.
 -> patched.
Searching for wrmsr #2: 34d5f
 -> found bytes.
 -> patched.
Searching for wrmsr #3: 34f03
 -> found bytes.
 -> patched.
Searching for wrmsr #4: 34fa2
 -> found bytes.
 -> patched.
Searching for wrmsr #5: 35f27
 -> found bytes.
 -> patched.
Searching for wrmsr #6: 3617c
 -> found bytes.
 -> patched.
Searching for wrmsr #7: 361ce
 -> found bytes.
 -> patched.
Searching for wrmsr #8: 3d61a
 -> ERR: bytes not found!
Searching for wrmsr #9: 3d677
 -> ERR: bytes not found!
Searching for wrmsr #0: 948e
 -> ERR: bytes not found!
Searching for wrmsr #1: 98c1
 -> ERR: bytes not found!
Searching for wrmsr #2: 997e
 -> ERR: bytes not found!
Searching for wrmsr #3: 99eb
 -> ERR: bytes not found!
Searching for wrmsr #4: 9aae
 -> ERR: bytes not found!
Searching for wrmsr #5: a958
 -> ERR: bytes not found!
Searching for wrmsr #6: abff
 -> ERR: bytes not found!
Searching for wrmsr #7: ac96
 -> ERR: bytes not found!
Searching for wrmsr #8: 11d0e
 -> ERR: bytes not found!
Searching for wrmsr #9: 11dc2
 -> ERR: bytes not found!
Sorry, didn't find all wrmsr, your kernel might crash.

And one more thing, using dsdt_rev2
Unknown AHCI Standard Controller:
  Vendor:	Unknown
  Product:	AHCI Standard Controller
  Link Speed:	6 Gigabit
  Negotiated Link Speed:	6 Gigabit
  Description:	AHCI Version 1.30 Supported
same as not using a dsdt file.
With a dsdt created in Windows by DSDT Auto-Patcher
Intel 6 Series Chipset:
  Vendor:	Intel
  Product:	6 Series Chipset
  Link Speed:	6 Gigabit
  Negotiated Link Speed:	6 Gigabit
  Description:	AHCI Version 1.30 Supported
;)

#10
mrmojorisin17

mrmojorisin17

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,942 posts
  • Gender:Male
What version of AICPUPM.kext are you trying to patch? 142.6.0?
To get the cosmetic Intel Chipset 6 showed in System Profiler you have to add this on your FakeSMC's Info.plist or use an EFI String that inject the same code:
                 <string>pci8086,1c02</string>
</array>
<key>IOProbeScore</key>
<integer>2000</integer>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
<key>Vendor Name</key>
<string>Intel</string>
</dict> _linenums:0'><key>Intel6SeriesAHCI</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleAHCIPort</string> <key>Chipset Name</key> <string>6 Series Chipset</string> <key>IOClass</key> <string>AppleAHCI</string> <key>IONameMatch</key> <array> <string>pci8086,1c02</string> </array> <key>IOProbeScore</key> <integer>2000</integer> <key>IOProviderClass</key> <string>IOPCIDevice</string> <key>Vendor Name</key> <string>Intel</string> </dict>


#11
bogdanw

bogdanw

    InsanelyMac Protégé

  • Members
  • Pip
  • 39 posts
<key>CFBundleShortVersionString</key>
	<string>142.4.1</string>
	<key>CFBundleVersion</key>
	<string>142.4.1</string>
	<key>ProjectName</key>
	<string>AppleIntelCPUPowerManagement</string>
	<key>SourceVersion</key>
	<string>1420401</string>
as for the Intel Chipset 6 I'm not interested in cosmetics but in functionality. By now I'm not sure that the sata connection is working properly. I'll test in Lion as I plan to upgrade soon.
Thanks for the tips ! : ;)

#12
mrmojorisin17

mrmojorisin17

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,942 posts
  • Gender:Male
If your chipset don't work you should get a Still Waiting For Root Device.

#13
bogdanw

bogdanw

    InsanelyMac Protégé

  • Members
  • Pip
  • 39 posts
Actually I'm worried about this messages
6/19/11 12:23:23 AM	kernel	SATA WARNING: Enable auto-activate failed.
6/19/11 1:25:58 AM	kernel	SATA WARNING: Enable Drive PHY PM failed.

The second one being more often and displayed at shutdown.

#14
octopus_new

octopus_new

    InsanelyMac Protégé

  • Members
  • Pip
  • 3 posts
I have tried Revoboot, but still no luck :(. I think SSDT_PR has been added properly, but only got 4 PState. If I use Chameleon and no dsdt or any other table, I can get 7 PState. both above situation can not get MAX turbo ratio. My Processor is 2600k, if I put Turbo Ratio to AUTO in bios, the Max PState is 37, I think it should be 38, right??
Jun 23 15:20:32 GeekmatoMac-Pro kernel[0]: MSRDumper PStatesReached: 16 26 30 34 35 36 37
Could anybody share a setting.h file for me?

Thanks very much!

#15
wh000penator

wh000penator

    InsanelyMac Protégé

  • Members
  • Pip
  • 7 posts
Thanx alot for your hard work!

iam very confused, because i am not able 2 extract the SSDT_CPUPm for my i5-2300 CPU

no chance in windows, in linux and also not on my hackintosh

i get only the other 3 ssdt files;
SSDT_AMI_CST.aml
SSDT_AMI_IST.aml
SSDT_AMICPU_PROC.aml

please can u help me?

thanx again

nice greetings from vienna!

Asus P8P67 (B3) - BIOS 1608 / Intel i5-2300 / 8GB Corsair / Asus GTS240 512 / SL 10.6.8 / Lion DP4

Attached Files



#16
flAked

flAked

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 470 posts
  • Gender:Male
  • Location:internets
I am told that the gparted live cd includes acpidump and acpixtract which should give you the complete ACPI tables.

RevoBoot includes a automatic SSDT_PR generation now, so that should be easier.

I will have some time later this week to write up the new method. Stay tuned.

#17
ateam

ateam

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts
Hey Can you help me make a dsdt for my mb its an asus p8h67m-le autodsdt doesn't have the h series and I know enough not to try one that matches.

#18
dudedudedude

dudedudedude

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
Guide coming, sorry I am an idiot when it comes to these kind of things and need the guidance

Dude

#19
NurkJon

NurkJon

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
I've got a new computer (P8P67 with 16GB ram, 2600k and HD 6870) and would like to hackint0sh it soon, originally I was just planning on going the normal Chameleon route or something like that however this seems very interesting. Are you planning on finishing your guide soon? I'd very much like to have a fully working system with everything working including overclocking and sleep. If I'd install OSX now with Chameleon bootload could I then at a later point upgrade to use your method when your guide is done or will I have to do a full whipe?

#20
dudedudedude

dudedudedude

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
Go ahead and use chameleon but put it and the Extra folder (including extensions, com.apple.boot.plist, and the extensions.mkext) on a USB drive and boot from there. That will allow the hard drive instal to be 100% vanilla.

I am so looking forward to the guide though, revoboot/revobuilder looks sweet. :)

I've got a new computer (P8P67 with 16GB ram, 2600k and HD 6870) and would like to hackint0sh it soon, originally I was just planning on going the normal Chameleon route or something like that however this seems very interesting. Are you planning on finishing your guide soon? I'd very much like to have a fully working system with everything working including overclocking and sleep. If I'd install OSX now with Chameleon bootload could I then at a later point upgrade to use your method when your guide is done or will I have to do a full whipe?







0 user(s) are reading this topic

0 members, 0 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