InfiniteMac OSx86

InfiniteMac OSx86 (http://infinitemac.com/forum.php)
-   10.X (http://infinitemac.com/forumdisplay.php?f=36)
-   -   ALC890 on ASRock x58 Extreme (http://infinitemac.com/showthread.php?t=5432)

adriangb 02-05-2010 06:50 PM

ALC890 on ASRock x58 Extreme
 
2 Attachment(s)
I have this board, an have pretty much everything working except sound (without VodoooHDA) and sleep, but I'll leave this last one out for now.
My biggest problem with sound is that I don't have any AZAL or HDEF entry in my DSDT, so I can't follow any of the guides I could find (they all call for something there, I think even using HDAEnabler you must have some entry).
The ALC890 is a ASRock only card, but I hear it is very similar to the ALC889a and that's even what I got from a Xubuntu 9.10 codec dump (some other people with the same card have gotten ALC885, but I hear this is a common issue). Sound worked perfectly in Xubuntu, so I'm guessing that my card can just be treated as an ALC889a.
I have tried inserting the references to HDEF from other peoples DSDT's, but I get lot's of errors, probably some kind of calls from Device (HDEF) to other things that don't exist or are labeled differently in my DSDT. I'm far from really understanding DSDT, so there is no way I could relocate stuff to fix all the errors I get, without creating many more.
If someone with some more knowledge could shed some light on this, I would be highly grateful.
I'll attach my current DSDT, my original and my codec dump.

adriangb 02-07-2010 06:09 AM

What do I need to do to get some help here? I mean, I'm not such a big noob anymore, I don't think I'm asking any overly asked questions, responses all over the place: as much as I looked I couldn't find anyone with NO HDEF (or audio) mentions in their DSDT. If I'm just too un-google friendly, could anyone just point that link out to me?
I mean, at least give me an answer, I can't stand nothing :(

Imkantus 02-13-2010 01:28 PM

Quote:

Originally Posted by adriangb (Post 44490)
I think even using HDAEnabler you must have some entry

Give it a try. :D
If it works something should be displayed at System-Profiler > Hardware > Audio - then try to apply AppleHDA with modified Plists respectively legacy kext.

adriangb 02-16-2010 12:40 AM

Got it!
Using no VoodooHDA and HDAEnabler in /S/L/E I get the following in System Profiler:
Intel High Definition Audio:

Device ID: 0x18490890
Audio ID: 12
Available Devices:
The Device ID is the same as the Subsystem Id on my codec dump, so I guess it's getting something right.
So now what I'm missing is getting it completely recognized it, so that I can get outputs, right?
You say:
Quote:

try to apply AppleHDA with modified Plists respectively legacy kext.
. Do you mean patching AppleHDA.kext? Can this be done using the drag and drop method of AppleHDAPatcher (I'll try this and report back)?
Also, could HDAEnabler be replaced with DSDT? I guess so, since it's just injecting that missing code, the question is, what is that code?

adriangb 02-16-2010 12:51 AM

Well, using AppleHDAPatcher didn't work, but it's old software, so I didn't expect it to work in SL.
Anyone got a good guide for ALC889a or something? The ones I've seen are crazy :( !

adriangb 02-16-2010 03:06 AM

1 Attachment(s)
Got it working 100% using the attached DSDT+LegacyAppleHDA!

spamhaus 02-26-2010 08:00 PM

I have a similar board (ASrock P55 Pro) with the same codec (ALC890). I tried your DSDT and legacyHDA.kext file. The sound works from both my SPDIF outputs (optical and coax). It sounds distorted through the regular 1/8" headphone jack though.

Did you follow a guide, or rather, could you explain what you had to modify in your original DSDT? I want to perfectly adapt it to my board/DSDT.

Thanks!

adriangb 02-27-2010 07:58 AM

For starters, don't use a DSDT for a other board.
My board didn't have any HDEF or audio at all, so I had to guess where to put it (this was the hard part).
So basically, copy this code into the same place in your DSDT as it is in mine:
Code:

Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x08)
{
"codec-id",
Buffer (0x04)
{
0x85, 0x08, 0xEC, 0x10
},

"layout-id",
/**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x04)
{
0x75, 0x03, 0x00, 0x00
},

"device-type",
Buffer (0x10)
{
"Realtek ALC889a"
},

"PinConfigurations",
Buffer (0x18)
{
/* 0000 */ 0x10, 0x44, 0x11, 0x01, 0x20, 0x14, 0x01, 0x01,
/* 0008 */ 0x40, 0x4C, 0x21, 0x02, 0x50, 0x34, 0x81, 0x01,
/* 0010 */ 0x60, 0x9C, 0xA1, 0x02, 0xF0, 0x61, 0x4B, 0x01
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}

Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,14,15}
})
Name (BUFB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFB, One, IRQV)

And then search for DSDT in mine, and copy the line with the other appearance (it's something like "...PCI0.HDEF...") and put it in the same place. If the device names are different in mine and yours, try searching for them by address.
I got the code and kext from: http://efixusers.com/showthread.php?t=213.

joeboxer 02-27-2010 09:28 AM

Asrock X58 extreme guide needed
 
Hi adriangb, why you do not write a quick guide with kext and DSDT, for Asrock x58 extreme users?
I think that can be very needed from the most part of us.


For my case, I'm only able to start with 10.5.8 with 1 core and busratio 20. With 8 cores, my system start well, but after 2/3 minutes I have a crash.

I'm investigating if this happen for temperature or some other problem.

My specs: asrock x58 extreme - 920 - 2 gb dominator 1600 -9500gt - dlink 547 -

adriangb 02-27-2010 05:21 PM

Well, I could write a guide, but not now: once I get back from vacation, I start school. I have about a week of class, and then a other one off, so expect it around that time.
Since I don't have the comp in front of me now, I can't even try stuff.
But from what I remember, the edits I did are the following:
  • Renamed devices (LPCB, MATH, etc)
  • Added speedstep info in the procesor section (for i7 920)
  • Added Device (SBUS)
  • Added the HDEF call and device HDEF
I have done other minor fixes, that I really don't remember and probably never will be able to differ from the DSDT. I guess I could just "look for changes" or something, but that would probably take days... I just might do it, I'll see.
To add HDEF to your DSDT, just search for the line on top of "Device (HDEF)" in your DSDT and then copy the code I posted under it. Remember to leave a line in between. Then do the same for that other line, it should work. I doubt that it needs any other edits for it, maybe Device (SBUS)...

joeboxer 02-27-2010 06:30 PM

Hi, thanks for reply.
Ok we can wait your vacation for the GUIDE!

Concerning your indications, are you referring to SL or X.5.8? Just because I'm quite happy with 10.5.8, the only point is to be able to use all cores, off corse.. Right now I'm using your DSDT, as you posted in other topic.

Best

adriangb 02-27-2010 07:30 PM

Thanks for the patience.
I use my DSDT with SL, so you probably can, try it on a different partition.
Are you using the one I posted as the "cleaner" one?

joeboxer 02-28-2010 11:44 AM

Hi, yes I'm using your last posted DSDT. Now I'm finally found the problem I have with all cores enabled. When I use airport enabled, the system crash. I think can be some kind of atheros kext, but if you have some suggestions I appreciate.
If I boot with cpus=1 no problem, I can surf with wifi enabled ( i have Dlink 547). If I boot with all cores, when I start using the wifi, crash!

spec: X.5.8 - asrockX58extreme - i7 920 - nvidia 9500gt - 2gb dominator - 2 x 500 sata2 - dlink 547

adriangb 02-28-2010 03:04 PM

I really don't know what to say! If I had the PC in front of me I might be able to do something, but not from here. The only thing I can guess is that native power management somehow doesn't like your card.
WAIT: I JUST FORGOT SOMETHING IMPORTANT THAT I THINK I NEVER MENTIONED IN THIS THREAD (I took it for granted): have yo set DropSSDT=Yes in com.apple.boot.plist?
I don't think you should even be able to boot all cores without it, but hey, it doesn't hurt to ask.

joeboxer 03-01-2010 12:08 PM

I have found the wifi-crash soltution. Maybe some one interested because it seem that a lot of people with atheros-based PCI card are experiencing problems.
Now from an old post, I found the IO80211Family.kext from a 10.5.1 iatkos DVD, the solution in order to use my d-link DWA-547 with all cores enabled. Now the system is stable.

Still need investigating for sound and sleep but now the situation is much better!... thanks to all.

adriangb 03-02-2010 10:18 AM

Sound you can find on this thread, sleep was a no go with my old motherboard, I did a RMA on it because it didn't work in mac or windows (S3 that is) and some RAM issues, I'll see what the new board brings. Maybe I'll even have sleep...

joeboxer 03-02-2010 02:45 PM

Hi

about sound, no way for me.
I have your last DSDT and the kext you post attached, but no. I can have audio only if i install Voodoohda.kext but only i I boot in cpus=1.

I have DSDT at the root and all kext in the extension folder. No extra folder.

adriangb 03-03-2010 06:56 AM

No extra folder? I don't get what you mean, kexts go in drive/extra/extensions or drive/extra/extensions.mkext.

spamhaus 03-05-2010 02:06 AM

Thanks for the help, I was able to successfully modify my DSDT!

joeboxer 03-07-2010 05:37 AM

I'm a bit confusing regarding kext and locations of them.
By the way, as soon I would like to try a new SL install on a second drive. Some one here have been success with sleep on this board? Tks

adriangb 03-07-2010 03:10 PM

You install Chameleon on a certain drive. On that same drive there should be a folder called Extra. In that folder there can be a folder called Extensions and a file called Extensions.mkext, or both. In the first you can put .kext files (which are really folders containing the files of an extension). The .mkext (multiple kext) is a cache of various (or I guess it could be just one) kext that makes the time needed to load them less.
I don't know of any one with sleep, when I get my new board I'll see about getting that going.