Jump to content

fluid | fixed

Asus P8Z77-V LK

asus p8z77-v lk dsdt guide

  • Please log in to reply
27 replies to this topic

#1
k3nny

k3nny

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 329 posts
  • Gender:Male
Hi,

this is a small guide to get as much as possible out of this motherboard.
The focus is set on the board itself, not pluggable devices like CPUs or GPUs, meaning you will have to add the video card properties to the DSDT if needed and create an SSDT for your processor.

All links and attachments are collected at the bottom of this post.

General:
To get the system booting you optimally need a patched BIOS and a FakeSMC.kext.
The patched BIOS allows Mac to use its native power management. This way you won't need any additional or patched extensions like AppleACPIPlatform. or NullCPUPowerManagement.kext.
Additionally some boot loader; I use Clover but there are alternatives as well. Chameleon might be easier to setup first.

BIOS patch:
Using PMPatch by CodeRush makes modyfing BIOS images very easy. You need to download an official BIOS file from ASUS and run the utility on it. Afterwards use Flash Toolkit (FTK) to flash it.
More information in the link section. Read carefully!

BIOS settings:
Initially I set most options to "manual" to ensure Mac won't have any problems recognizing them but it seems this is not needed.

1) Advanced \ CPU Configuration \ CPU Power Management Configuration
- Enable all states and package support
---
for Clover UEFI boot:
---
2) Boot \ Compatibility Support Module (CSM)
- disable if your video card got an EFI VBIOS (GOP)
- otherwise prioritise UEFI devices
3) Boot \ Secure Boot
- OS Type: Other OS (otherwise Clover UEFI will not start)
4) Boot \ Full Screen Logo
- disable for native resolution without CsmVideo plugin

DSDT:
The attached DSDT was extracted from BIOS v0908 and decompiled using iasl version 20130214-64. It can probably be used with ongoing versions. v1001 didn’t bring any DSDT changes for example.

As of 10.8.3 this board works quite well including Sleep without a custom DSDT.
I found these modifications to be useful, though:

- USB3 Intel ports backwards compatibility (credits to Mieze)
- Rearranged interrupts (IRQNoFlags) for TIMR, RTC and HPET
- HDEF "layout-id" 1 for use with patched AppleHDA and HDMI audio (didn't test)
- ASMedia USB3 controller automatic Wake fix
- Ethernet device properties (still requires an additional driver)
- Added MCHC (DRAM controller) and IMEI (Intel Management Engine Interface) devices
- Disabled several unused devices
- OSYS variable set to 07D2 (Windows 2001 SP1)
- Cosmetic device name changes
- Fixed errors and warnings, added optimizations
- Added DTGP method

Additionally I included the original unmodified DSDT table if you want to see the exact changes.

I highly recommend not to use my DSDT without revaluation. Search for:
- "SystemMemory"
- "RAMB"
.. and replace these lines with the ones you got from your own self-extracted DSDT table.
Use a new iasl version to compile the .dsl file. You shouldn't get any errors, warnings or optimisation messages.

Ethernet:
The built in ethernet chip Realtek RTL8168 needs an additional extension.
There are several drivers available and personally I recommend to use Mieze’s version which is linked below. It performs great under load and has no IP assignment problems.

Sound:
The sound chip ALC892 needs a patched AppleHDA.kext and a way to inject the layout-id, preferably via DSDT – which is already done in DSDT below.
You can find a link to a patched 10.8.3 AppleHDA below. It works great including front panel and microphone.

USB3 ASMedia:
The ASM1042 USB3 chip needs its own drivers. CalDigit provides a driver set which just requires a small modification.
Edit CalDigitUSBxHCI.kext/Info.plist.
Delete IOPCISecondaryMatch:
<key>IOPCISecondaryMatch</key>
<string>0x01942188 0x01952188</string>
Replace IOPCIMatch to match your device/vendor ID, in this case 10421B21:
<key>IOPCIMatch</key>
<string>0x10421B21</string>
The 2 ASMedia ports are on the left side of the Ethernet port.

Sleep:
Sleep started working with ML 10.8.3.
I didn't investigate any further.

---

Have fun setting things up. :)

Link section:
(Bootloader) Chameleon: http://www.insanelym...taller-binaries
(Bootloader) Clover: http://www.insanelym...2-instructions
(BIOS) Power management patch: http://www.insanelym...tching-utility , http://hardforum.com...d.php?t=1726429 (Section 5.2)
(DSDT) Editor: http://www.insanelym...or-and-patcher
(Ethernet) extension: http://www.insanelym...realtek-rtl8111
(FakeSMC) extension: https://bitbucket.or...nsors/downloads
(Sound) extension: http://www.insanelym...ehda-for-alc892
(USB3) extension: http://www.caldigit....08&viewlocale=1

Attached Files


Edited by k3nny, 27 March 2013 - 02:07 PM.


#2
buoo

buoo

    The Prodigal Son

  • Moderators
  • 4,447 posts
  • Gender:Male
  • Location:Italy
Could you add the GeekBench score please?

#3
k3nny

k3nny

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 329 posts
  • Gender:Male
Sure: http://browser.prima...kbench2/1555823
No overclock, no main applications running.

Edited by k3nny, 20 January 2013 - 03:20 PM.


#4
carbo178

carbo178

    InsanelyMac Deity

  • Local Moderators
  • 1,782 posts
  • Gender:Male
  • Location:Dalle nebbie della Pianura Padana
Hi Kenny,
i have a similar system, but i don't understand why it does not work the sleep.
My system is signed, the BIOS is changed, I disabled the usb3 asmedia and I'm using Clover EFI bootloader.
With Clover In UEFI mode I extracted the DSDT, correct errors and warnings, added DTGP, HDEF, ALC892, injected HDMI audio.
What is missing to run the sleep?
If you have time and want to help me and I can attach DSDT IOreg
Thank you for the interest, sorry for my bad english (google translate)
Marco

#5
LatinMcG

LatinMcG

    Insanely digesting DSDT

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 2,435 posts
  • Gender:Male
  • Location:Tampa, Florida
i did LX model and sleep was fun to get to work... very similar setup of bios,  i think i didnt use USB3 in bios.

and  i had to use SSDT.aml made with a script.

#6
k3nny

k3nny

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 329 posts
  • Gender:Male
@carbo178:
As far as I remember Sleep started working without any additional modifications with 10.8.3.
My first guess would be - as LatinMcG said - power management.
The IOReg would be nice to have.

Currently I'm using these SSDTs: http://www.projectos...643
Additionally you need to use one of the Board-IDs provided by X86PlatformPlugin. iMac13,1 is one of them for example - Board-ID: Mac-00BE6ED71E35EB86.
You will need to adjust the steps for your processor but I believe you can use RevoGirl's script to generate them.

PS: Google seems to do a good job so far :)

EDIT:
Just found LatinMcG's thread. According to him he needed to patch AppleRTC to get Sleep working.
I encountered some BIOS setting resets with the LK, too. So I guess it is a good thing to keep it patched and you can even use Clover to do it on the fly.

EDIT2:
Forgot to add that I had many random kernel panics when using Clover UEFI together with Compatibility Support Module (CSM).
Turning it off fixed almost all my problems.

#7
carbo178

carbo178

    InsanelyMac Deity

  • Local Moderators
  • 1,782 posts
  • Gender:Male
  • Location:Dalle nebbie della Pianura Padana
@Kenny:
Thanks for the reply, I checked out the SSDT with the script Revogirl (I forgot to mention in the first post), but I only have 2 steps (16 and 34) occurred with msrdumper; selecting or deselecting generated p-states/c-states in the Clover startup options  does not change anything.
I added the string board-id -Mac 00BE6ED71E35EB86 in config.plist under SMBIOS but still I see no changes, the sleep does not work :hammer:

I enclose DSDT, SSDT and IOreg, if you can see if there is something wrong ... thanks again

Attached Files



#8
k3nny

k3nny

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 329 posts
  • Gender:Male
Please try to enable the AppleRTC patch in Clover.

Next step is to disable CSM. For this to work you will need a video card that supports UEFI Graphics Output Protocol (GOP).
As far as I know, gigabyte is giving out new VBIOS versions with GOP support on request. Write an email to their support and you should receive one.
With CSM disabled you will be able to boot much faster and - according to my experience - fix many random kernel panics.

By the way, i didn't ask yet: What happens if you try to enter sleep mode?

I will look into your files later.

EDIT:

Regarding your DSDT:
You could try using the _PTS method from my board. I doubt it will change much though.

SSDT:
Change SMBIOS to iMac13,1 with Board-ID: Mac-00BE6ED71E35EB86 and try these:
Attached File  SSDT_Core-i7-3770.zip   2.21K   20 downloads
Do not drop existing OEM SSDTs and turn off the generate functions in Clover.
You should reach 3,9 GHz at least, maybe even get SpeedStep.

Let me explain the structure of ssdt-0:
1) Method _DSM changes the CPU plugin-type to X86PlatformPlugin instead of ACPI_SMC_PlatformPlugin.
It seems to be fairly new and it is used in Ivy Bridge iMac models.
2) APSS is the usual array with performance states in 100 MHz steps; one state must be doubled for it to work. I chose 0x00000320 (800 MHz) for this.
3) Name (APSN, 0x05) is the amount of turbo speed states. In this case they range from 3,4 GHz to 3,9 GHz -> 5
4) Name (APLF, 0x04) adds steps to the lowest frequency in APSS and defines the final lowest frequency which will be used.
Example: 0x00000320 (800 MHz) is the lowest in this case. Add 0x04 (4) steps to it and you get 1200 MHz -> The CPU will never go under 1200 MHz.

The first thing to check if it worked, is to verify ioreg.
1) CPU0@0: "plugin-type" must be 0x1.
2) CPU0@0 > X86PlatformPlugin > CPUCStates should be filled
3) CPU0@0 > X86PlatformPlugin > CPUPstates should be filled
4) SpeedStep, obviously.

Source: http://www.applelife...rboboost.38283/

Last but not least - if nothing else works - wait for 10.8.3 :-)

Edited by k3nny, 10 February 2013 - 03:09 PM.


#9
LatinMcG

LatinMcG

    Insanely digesting DSDT

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 2,435 posts
  • Gender:Male
  • Location:Tampa, Florida
i used imac 12.2 with ati 6870 dsdt  device id changed

#10
carbo178

carbo178

    InsanelyMac Deity

  • Local Moderators
  • 1,782 posts
  • Gender:Male
  • Location:Dalle nebbie della Pianura Padana
K3nny @, @ LatinMcG:
Thanks to both,
I'll try as soon as advised, but first I have a couple of questions:
1) The tables SSDT and SSDT-1 attached are used to replace or supplement the one I use now? I have to rename them?
2) I put board-id in config.plist:

<key>SMBIOS</key>
<dict>
<key>ProductName</key>
<string>iMac13,1</string>
<key>Board-ID</key>
<string>Mac-00BE6ED71E35EB86</string>
</dict>

Is that correct?

3) I use AppleACPIPlatform.kext original 10.8.2 (ver. 1.7), but if I do not use the option Drop OEM DMAR in Clover I do not get to the desktop, I put this string in config.plist but does not work:

<key>ACPI</key>
<dict>
<key>DropOEMDMAR</key>
<string>Yes</string>
</dict>

I doing something wrong (i'm so noob....)?

What Happens when trying in sleep mode...
With Chameleon: It turns off everything, but after a few seconds the system wakes up except Monitor and USB, and this operation is repeated for 3 times then finally wakes up except Monitor and USB and I have to force shutdown.
With Clover: The system is trying to go to sleep, but you only turn off Monitor and USB, the rest stays on, I have to force shutdown.

Thanks again.

Greetings

Marco

#11
k3nny

k3nny

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 329 posts
  • Gender:Male
1) They supplement the BIOS SSDT tables. If you have any other SSDT files in ACPI\patched, remove them. Set DropOemSSDT, GenerateCStates, GeneratePStates = No. You can leave the names, Clover will find them.
2) That should be enough. I additionally set things like SerialNumber but i do not believe they are important in this case.
3) Try to disable VT-d in BIOS (Advanced -> CPU Configuration -> Intel Virtualization Technology), you will not need DropDMAR anymore, I think.
4) Advanced -> Onboard Device Configuration -> ASmedia USB 3.0 Controller: Please check again if you disabled it, as it causes problems with proper sleep mode.
5) Do you have any modified system extensions? I see you use an additional driver for the Marvell controller. My board does not have it. Are you sure it is working as it should? I have no experience with this.
6) Did you install the newest Nvidia drivers?
7) Out of curiosity, try this please. Boot -> UEFI/Legacy Boot: Disable Legacy. If it does not boot, set PCI ROM Priority: EFI Compatible ROM.

EDIT:
One thing I am curious about. If everything else fails, please try to boot without a DSDT file and see if Sleep works. Thanks.

Edited by k3nny, 09 February 2013 - 11:34 AM.


#12
carbo178

carbo178

    InsanelyMac Deity

  • Local Moderators
  • 1,782 posts
  • Gender:Male
  • Location:Dalle nebbie della Pianura Padana
Thank you for reply,
1) OK, i tried, but only 16 - 34 steps :-(
2) OK
3) VT-D disabled, but without DMAR the system won't boot (it's not a problem)
4)-5) AsMedia and Marvell disabled, deleted kext marvell, sleep not work :-(
6) Drivers originals by Apple
7) Tried, system boot fine, integrated HD4000 graphics work with wrong resolution (see this) sleep not work :-(
Tried boot without DSDT, HD4000 not recognized, Gtx650 OK, sleep not work :-(

I don't know which way to turn :help:

#13
k3nny

k3nny

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 329 posts
  • Gender:Male
1) Can you please upload an ioreg when using my SSDT files?
6) I don't have an Nvidia card and don't have experience with installing them but I think there is a driver package available at nvidia.com. Probably you meant the same :)

Did you try using the _PTS method from my DSDT?

Hm, you didn't try one thing yet: 10.8.3. That might be the solution.

#14
carbo178

carbo178

    InsanelyMac Deity

  • Local Moderators
  • 1,782 posts
  • Gender:Male
  • Location:Dalle nebbie della Pianura Padana
Hi,
Official nVidia drivers are for Mac Pro 3,1, i don't install this because the boot fail with my SMBIOS.
I don't tried  method _PTS from your DSDT, as soon as I can, I try it.
At the very least, wait for the update

Wow, App Store notify me an update: Firmware EFI for iMac last 2012...

Thank you

Attached Files



#15
k3nny

k3nny

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 329 posts
  • Gender:Male
It will place a Firmware.scap in your EFI partition but will not be able to apply the update. Just hide it when it appears again.

I believe I read that you must delete the AppleTYMCE.kext when using a MacPro SMBIOS.

#16
carbo178

carbo178

    InsanelyMac Deity

  • Local Moderators
  • 1,782 posts
  • Gender:Male
  • Location:Dalle nebbie della Pianura Padana

View Postk3nny, on 09 February 2013 - 06:32 PM, said:

I believe I read that you must delete the AppleTYMCE.kext when using a MacPro SMBIOS.

Only for versions 4,1 and 5,1 (in first install, i using 3,1)

#17
k3nny

k3nny

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 329 posts
  • Gender:Male
Did a mistake with the DTGP method in the SSDTs. They should work now :-)

Edited by k3nny, 10 February 2013 - 04:02 PM.


#18
carbo178

carbo178

    InsanelyMac Deity

  • Local Moderators
  • 1,782 posts
  • Gender:Male
  • Location:Dalle nebbie della Pianura Padana

View Postk3nny, on 09 February 2013 - 06:47 PM, said:

Did a mistake with the DTGP method in the SSDTs. They should work now :-)
Yeah,
finally i see 4 steps (12 37 38 39), but now I'm at work until tomorrow and I can not give you more informations;
in ioreg I see 8 values in P-states and C-states, I can just attach the new ioreg and do a test for sleep:
Thanks :thumbsup_anim:
P.S. I apologize again for my bad english, now i have not used Google Translate...

#19
LatinMcG

LatinMcG

    Insanely digesting DSDT

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 2,435 posts
  • Gender:Male
  • Location:Tampa, Florida
EFI update = SMBIOS.plist is using older identifier.

#20
carbo178

carbo178

    InsanelyMac Deity

  • Local Moderators
  • 1,782 posts
  • Gender:Male
  • Location:Dalle nebbie della Pianura Padana

View PostLatinMcG, on 11 February 2013 - 12:39 PM, said:

EFI update = SMBIOS.plist is using older identifier.

Hi all,
@ LatinMcG:
Thank you for clarification

@ K3nny:
I did some quick tests, I haven't modified DSDT because I haven't got time, we'll talk about it in a couple of days.
I attach Bootmessages, an image of MSRDumper and the new ioreg.

Thank you very much for the aid

Attached Files







0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

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