Jump to content

MSI Z77MA-G45 Worklog/Help Request

MSI Z77MA-G45 Mountain Lion Sleep audio

  • Please log in to reply
30 replies to this topic

#1
WhatTheTech

WhatTheTech

    Macmodder Addict

  • Retired
  • 458 posts
  • Gender:Male
-----------------------------------------------------------------------------
INTRO
-----------------------------------------------------------------------------
Well, I'm trying to build my new hackintosh on the MSI Z77MA-G45 board. I chose this board because (1) it can get up and running without a DSDT, (2) it has USB 3.0 that plays nicely with OSX and (3) the layout was everything I wanted in an mATX board. This is a worklog/request for help - I hate having a board that is poorly documented, so if you are thinking about buying/have already bought this board, hopefully this may help. I am totally open to questions or suggestions - fire away below. This intro section will be updated if and when everything is working!

KEY COMPONENTS:
Motherboard: MSI Z77MA-G45 (BIOS v1.8)
CPU: Intel G550 Celeron Dual Core (temporary)
RAM: Patriot 2GB G2 DDR3 (temporary)
GPU: Sapphire Radeon 5770 Vapor-X
SSD: Mushkin Chronos 240GB
HDD: WD Caviar Blue 500GB

METHOD:
Mountain Lion Retail Download
myHack installer (latest) with generic Extra folder
Chameleon v2.2 (updated)
Lnx2Mac's Ethernet Driver
Coderush's PMPatcher Utility (project link), (my methodology)
toleda's ALC892 Patched Audio

NOTES:
- I could not use the patched 1.4 BIOS on biosrepo.wordpress - that version does not carry support for my incoming RAM


NOT WORKING (YET):
- Sleep


-----------------------------------------------------------------------------
WORKING
-----------------------------------------------------------------------------

USB 3.0
Seems to be working flawlessly, right from the get-go. As you can see, it is recognized in my Sys Profiler,and for a mechanical hard-drive, speeds seem to be accurate:

Posted Image Posted Image

The internal motherboard header is also working perfectly, at full speeds too! Maxed out my Sandisk Extreme Pro 90MB/s SD card via a USB 3.0 card reader. This is great news, as USB 3.0 was a non-negotiable when choosing my motherboard.

Note: there's a small possibility that the "put hard disks to sleep" option in Energy Saver was dismounting my external drives when checked. They would immediately remount, and devices connected to standard USB were not affected, so I turned it off and will see if the issue is replicated. Just in case this helps anyone...

FIXING ICLOUD
Got iCloud working using RampageDev's tutorial found here.
1) Added ethernet built-in=yes to boot.plist
2) Went through Champlist process as instructed
3) Updated Chameleon to 2.2, with NVRAM as an option. Restarted twice.
SUCCESS!!! That's all I needed to do, so a HUGE thank you to RampageDev!!!



AUDIO
- Downloaded ALC892 kext from osx86.net (link)
- Installed using KextUtility
- Not working, must investigate more.
I ended up using toleda's patched version of the ALC892 driver and it worked immediately. The only very minor issue, is that the first sound coming through will crackle for about 5ms, and then go away. It won't persist, but if no sound is played for a minute, it will start again for the first 5ms. It's almost like sound is "waking up" and grumbling for a second. Like I said, minor annoyance as having on-board sound frees up a USB port for me which are currently in high-demand on my machine.


SATA 6
Sata6 is working right out of the box I am pleased to report. In System Profiler is is reported as being a 6 gigabit connection, and everything feels pretty snappy. I ran some tests using BlackMagic Disk Speed Test, with the following results:

Spoiler




-----------------------------------------------------------------------------
WORKLOG/IN PROGRESS/NOT WORKING
-----------------------------------------------------------------------------

SLEEP
Sleep does not work. Screen turns off, becomes unresponsive.
Once the screen dims for power saving, it will not wake up.
To do: set power resume to S3 in BIOS
To do: patch power management using CodeRush's patch


Patched BIOS, set correct BIOS settings, still no sleep. To be continued...

*UPDATE*

Patched BIOS + SleepEnabler.kext
Installed latest sleepenabler.kext
Computer went to sleep just fine.
Computer woke up by hitting key on keyboard.
When it first awoke, mouse was responsive, but no cursor on the password box
Finally mouse stopped responding, circular loading animation appeared, span ad nauseum.

Still, it's a start.
->
Rebooted without changes and tried again, just for kicks.
Computer wouldn't sleep this time.

PleaseSleep
Has no effect (worked for my Intel board - worth a shot)
There goes that start...
Console readout:

Spoiler


*UPDATE*
Patched BIOS + custom DSDT
RampageDev made a DSDT for me. Everything was working apart from sleep which was being held back by SBUS. Made some edits following his direction which fixed the warning in console but it still wouldn't sleep (and didn't give me a reason?!?!)
Again, more work is needed here.

*UPDATE*
Patched BIOS + Darkwake=0
Issued sleep command but again computer wouldn't power down.
Had to reset.
Console readout:
Spoiler


*UPDATE*
Patched BIOS + Darkwake=0+sleepenabler.kext
With sleepenabler.kext in S/L/E I issued the sleep command.
This time the computer went to sleep. I couldn't wake it via USB, so I pressed the power button.
The computer woke up, but was frozen. Waited three minutes, no dice.
Console readout:
Spoiler


*UPDATE*
Patched BIOS + k3nny's edited DSDT
Again SMBus is stopping sleep. I'm working on adding support for it to the DSDT and will update.

#2
WhatTheTech

WhatTheTech

    Macmodder Addict

  • Retired
  • 458 posts
  • Gender:Male
Well, the good news is that overall this build is super stable. I've been pushing it for a few hours, editing several 800MB+ photoshop files, and have had no issues so far. I have a USB audio card which is a temporary band-aid on that problem, so if I can get sleep working I'll be set.

On the plus side, the computer no longer crashes when the screen goes into power saving mode.

Hopefully I'll have some more updates tomorrow!

#3
mathq

mathq

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 208 posts
  • Gender:Male
  • Location:Quebec
As I told you in my thread, the audio is now working with HDAEnabler and AppleHDA, however I'd like it to work without HDAEnabler :(.

#4
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
@WhatTheTech:
Regarding audio you should try toleda's 10.8.2 version of his patched AppleHDA. It works great with my board which got the same audio chipset. I guess you will know where to find it.

#5
WhatTheTech

WhatTheTech

    Macmodder Addict

  • Retired
  • 458 posts
  • Gender:Male
Thanks for the input guys! I'm be investigating further!

As far as sleep goes, I have attached my console readout. Any thoughts much appreciated (keep in mind BIOS is patched for power management using CodeRush's PMPatch).

Attached Files



#6
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
Here the points that seem important to me:
2/24/13 5:23:35.000 PM kernel[0]: Refusing new kext com.apple.driver.AppleRTC, v1.5: already have prelinked v1111.0.
You seem to try to load two versions of AppleRTC. One is probably inside /S/L/E, the other one in /Extra. Generally I would recommend to leave every extension in /S/L/E to avoid dependency problems.
Don't forget to set correct permissions and rebuild the caches each time you change extensions.

2/24/13 5:23:35.000 PM kernel[0]: NullCPUPowerManagement::init: properties=0xffffff8005b0bec0
2/24/13 5:23:35.000 PM kernel[0]: NullCPUPowerManagement::start
You shouldn't have this anymore if you want to use (a patched BIOS with) native power management. I guess you still got your old kernel cache.
A "touch /System/Library/Extensions" should be enough to invalidate the caches and trigger ML to rebuild them.

Should you use patched extensions like AppleIntelCPUPowerManagement, it is important to restore the original versions.

Finally from a general maintenance perspective, update your FakeSMC version:
https://bitbucket.or...nsors/downloads

#7
WhatTheTech

WhatTheTech

    Macmodder Addict

  • Retired
  • 458 posts
  • Gender:Male
k3nny,

Thanks for your help. I did find two versions of AppleRTC, and removed the one in the Extra folder. That warning has now disappeared from console logs. I also restored original versions of AICPUPM.kext and FakeSMC.kext, corrected and repaired everything and restarted. Everything looks good, but sleep still creates an unresponsive machine. I checked the console after rebooting, and couldn't see anything out of the ordinary. I'll try again and post the readout here.

On a brighter note, toleda's AppleHDA works just fine. I tried several other versions of the correct file, but only his seems to work. Audio is fully functioning.
Also, it seems as though USB 3.0 is running flawlessly, even via the front panel header that I have installed. This is excellent news, as I plan to install USB 3.0 in my Mac Pro front panel, and would really be a shame if it didn't work.
Finally, SATA6 (white ports) is also working just fine with my SSD. It is reported in System Profiler as a 6 gigabit SATA connection, so I'm assuming it's running at full speeds! Will perform some speed tests and update!

#8
iFIRE

iFIRE

    InsanelyMacaholic

  • Moderators
  • 3,775 posts
  • Gender:Male
  • Location:Bcn-Spain
have you add darkwake=0 in your boot.plist?

#9
WhatTheTech

WhatTheTech

    Macmodder Addict

  • Retired
  • 458 posts
  • Gender:Male

have you add darkwake=0 in your boot.plist?


Nope - I'm backing up now that it's at about 95% functionality and will add it as soon as the backup is finished. Now doesn't darkwake only fix waking up to black screen? Mine isn't even going to sleep right now. Just curious :D

#10
mathq

mathq

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 208 posts
  • Gender:Male
  • Location:Quebec
NullCPUPowerManagement still gets loaded for me. However, it originally was in /E/E, and I removed it from there, but it still loads... How can I reset /E/E caches?

#11
WhatTheTech

WhatTheTech

    Macmodder Addict

  • Retired
  • 458 posts
  • Gender:Male

NullCPUPowerManagement still gets loaded for me. However, it originally was in /E/E, and I removed it from there, but it still loads... How can I reset /E/E caches?


Two things to do.

1) Download Kext Wizard and on the maintenance page execute with Extra and S/L/E checked.
2) When you reboot, at the Chameleon loader press the down key and either select "boot ignore caches" or simply type "-f"

#12
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
I just read that BIOS v1.4 has working Sleep.
You might want to try its Sleep and Wake methods with the DSDT from your current BIOS: http://pastebin.com/raw.php?i=xuEeZRrX .

Additionally you should use the TRIM function patch for your SSD, in case you don't do it yet.

#13
WhatTheTech

WhatTheTech

    Macmodder Addict

  • Retired
  • 458 posts
  • Gender:Male

I just read that BIOS v1.4 has working Sleep.
You might want to try its Sleep and Wake methods with the DSDT from your current BIOS: http://pastebin.com/raw.php?i=xuEeZRrX .

Additionally you should use the TRIM function patch for your SSD, in case you don't do it yet.


As far as I know, the 1.4 BIOS is simply a version with the same patch as PMPatch from CodeRush (see note at top of page here)
Also, I can't use 1.4 because support for my RAM only came in 1.7, so if I can incorporate those edits for the DSDT that RampageDev sent me we might have a shot. Thanks for the code - I'll see what I can do with it!

TRIM has been patched - first thing I always do :D

Edit: I pasted that in the "new patch" box and applied it. Compiled with no errors. Does this mean it's good to go? I'm assuming I should delete sleepenabler.kext and just try this solo?

#14
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
I hope I'm not too late. :D This is not a patch, you will have to overwrite the code yourself. You need to replace two functions named _PTS and _WAK with the ones from pastebin. If you are not sure about it, I can help you if you upload your current DSDT.

One more thing I forgot: USB3 ports probably will not be backwards compatible but it is fixable.

EDIT:
Yes, delete SleepEnabler.

Edited by k3nny, 25 February 2013 - 09:34 PM.


#15
WhatTheTech

WhatTheTech

    Macmodder Addict

  • Retired
  • 458 posts
  • Gender:Male

I hope I'm not too late. :D This is not a patch, you will have to overwrite the code yourself. You need to replace two functions named _PTS and _WAK with the ones from pastebin. If you are not sure about it, I can help you if you upload your current DSDT.

One more thing I forgot: USB3 ports probably will not be backwards compatible but it is fixable.


Not too late! Attached is the DSDT that RampageDev sent me. Many thanks for taking a look.

We'll give it a shot and see what happens. Honestly USB 3.0 is more important than sleep to me, with fast SSD boot times I won't kill myself if USB 3.0 has to take priority. Still, 100% working would be ideal, especially for anyone else with this board!

Attached Files



#16
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
Try this one: Attached File  DSDT_SleepWell.zip   15.05KB   15 downloads
Also remove SleepEnabler.

Good luck.

#17
WhatTheTech

WhatTheTech

    Macmodder Addict

  • Retired
  • 458 posts
  • Gender:Male
Ok, so. Now when I issue a sleep command, screen dims but computer doesn't shut down. On the bright side, I can wake it up without crashing.

Again, I'm getting
2/25/13 5:03:44.000 PM kernel[0]: System sleep prevented by SBUS

This is what RampageDev said about that:

Add the device ID to SMBUS from ICH10 SMBUS. That seems to fix it most of the time.


Any ideas?

#18
iFIRE

iFIRE

    InsanelyMacaholic

  • Moderators
  • 3,775 posts
  • Gender:Male
  • Location:Bcn-Spain
device SMBUS take a look here: http://www.insanelym...howtopic=241022
Last login: Mon Feb 25 23:32:34 on ttys000
hostserver:~ iFIRE$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Clarksfield/Lynnfield DMI [8086:d131] (rev 11)
00:03.0 PCI bridge [0604]: Intel Corporation Clarksfield/Lynnfield PCI Express Root Port 1 [8086:d138] (rev 11)
00:08.0 System peripheral [0880]: Intel Corporation Clarksfield/Lynnfield System Management Registers [8086:d155] (rev 11)
00:08.1 System peripheral [0880]: Intel Corporation Clarksfield/Lynnfield Semaphore and Scratchpad Registers [8086:d156] (rev 11)
00:08.2 System peripheral [0880]: Intel Corporation Clarksfield/Lynnfield System Control and Status Registers [8086:d157] (rev 11)
00:08.3 System peripheral [0880]: Intel Corporation Clarksfield/Lynnfield Miscellaneous Registers [8086:d158] (rev 11)
00:10.0 System peripheral [0880]: Intel Corporation QPI Link [8086:d150] (rev 11)
00:10.1 System peripheral [0880]: Intel Corporation QPI Routing and Protocol Registers [8086:d151] (rev 11)
00:1a.0 USB Controller [0c03]: Intel Corporation Ibex Peak USB Universal Host Controller [8086:3b3b] (rev 05)
00:1a.1 USB Controller [0c03]: Intel Corporation Ibex Peak USB Universal Host Controller [8086:3b3e] (rev 05)
00:1a.2 USB Controller [0c03]: Intel Corporation Ibex Peak USB Universal Host Controller [8086:3b3f] (rev 05)
00:1a.7 USB Controller [0c03]: Intel Corporation Ibex Peak USB2 Enhanced Host Controller [8086:3b3c] (rev 05)
00:1b.0 Audio device [0403]: Intel Corporation Ibex Peak High Definition Audio [8086:3b56] (rev 05)
00:1c.0 PCI bridge [0604]: Intel Corporation Ibex Peak PCI Express Root Port 1 [8086:3b42] (rev 05)
00:1c.1 PCI bridge [0604]: Intel Corporation Ibex Peak PCI Express Root Port 2 [8086:3b44] (rev 05)
00:1c.2 PCI bridge [0604]: Intel Corporation Ibex Peak PCI Express Root Port 3 [8086:3b46] (rev 05)
00:1c.3 PCI bridge [0604]: Intel Corporation Ibex Peak PCI Express Root Port 4 [8086:3b48] (rev 05)
00:1c.6 PCI bridge [0604]: Intel Corporation Ibex Peak PCI Express Root Port 7 [8086:3b4e] (rev 05)
00:1d.0 USB Controller [0c03]: Intel Corporation Ibex Peak USB Universal Host Controller [8086:3b36] (rev 05)
00:1d.1 USB Controller [0c03]: Intel Corporation Ibex Peak USB Universal Host Controller [8086:3b37] (rev 05)
00:1d.2 USB Controller [0c03]: Intel Corporation Ibex Peak USB Universal Host Controller [8086:3b38] (rev 05)
00:1d.3 USB Controller [0c03]: Intel Corporation Ibex Peak USB Universal Host Controller [8086:3b39] (rev 05)
00:1d.7 USB Controller [0c03]: Intel Corporation Ibex Peak USB2 Enhanced Host Controller [8086:3b34] (rev 05)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev a5)
00:1f.0 ISA bridge [0601]: Intel Corporation Ibex Peak LPC Interface Controller [8086:3b02] (rev 05)
00:1f.2 SATA controller [0106]: Intel Corporation Ibex Peak 6 port SATA AHCI Controller [8086:3b22] (rev 05)
00:1f.3 SMBus [0c05]: Intel Corporation Ibex Peak SMBus Controller [8086:3b30] (rev 05)
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc Unknown device [1002:68b8]
01:00.1 Audio device [0403]: ATI Technologies Inc Unknown device [1002:aa58]
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 03)
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 03)
04:00.0 IDE interface [0101]: JMicron Technology Corp. 20360/20363 Serial ATA Controller [197b:2363] (rev 02)
05:00.0 IDE interface [0101]: JMicron Technology Corp. 20360/20363 Serial ATA Controller [197b:2363] (rev 03)
06:00.0 IDE interface [0101]: JMicron Technology Corp. 20360/20363 Serial ATA Controller [197b:2363] (rev 03)
07:06.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) [104c:8024]
hostserver:~ iFIRE$

here is my device in DSDT, see your is this direction

00:1f.3 SMBus = note, I no have insert method DSM with my device id because I not have any problem with this.



Device (PX43)
{
Name (_ADR, 0x001F0003)
OperationRegion (PBAS, PCI_Config, 0x20, 0x02)
Field (PBAS, ByteAcc, NoLock, Preserve)
{
BAS0, 16
}

Method (SMBB, 0, NotSerialized)
{
And (BAS0, 0xFFFE, Local0)
Return (Local0)
}

Device (BUS0)
{
Name (_CID, "smbus")
Name (_ADR, Zero)
Device (DVL0)
{
Name (_ADR, 0x57)
Name (_CID, "diagsvault")
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"address",
0x57
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
}
}

#19
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
I don't have any experience with this edit. You should ask Rampage Dev about it.

Does the log tell anything else suspicious besides "System sleep prevented by SBUS" ?

#20
WhatTheTech

WhatTheTech

    Macmodder Addict

  • Retired
  • 458 posts
  • Gender:Male
OK, ran the terminal command:

Spoiler


Now how to figure out how to add it to my DSDT properly!

Doing some light reading on the subject:

Most promising: http://www.projectos...p?showtopic=889
And: http://www.insanelym...g-sbus-in-dsdt/





Also tagged with one or more of these keywords: MSI, Z77MA-G45, Mountain Lion, Sleep, audio


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