![]() |
[GUIDE] ALC889a (with analog 5.1 surround)
Hi guys,
Just wondering if anyone has 5.1 sound working in Snow (or Leo for that matter) Not digital out but normal surround via the 3 analog ports. If so could you share the method please (DSDT, kext) Thx in advance UPDATE: Solved thx to all for your input, especially Mormegil, thx a lot bro for the guidance and files! - Update on Sep 14 2009: I'm providing my modded AppleHDA kext for comparison or it might even work for some people without re-modding to their own hardware. http://www.mediafire.com/?f0mmm25zrja - Update on Sept 8 2009: Mormegil has created a guide to mod your Leopard AppleHDA kext to Snow Leopard: http://www.infinitemac.com/f57/guide...a-to-sl-t3981/ - Update on Sept 4 2009: Alright, since a lot of fello ALC889a users have issues I thought it would be only fair to post my steps to get audio fully working. This is based on my rig of course. START First grab these files which are: iaslme to unpack your dsdt.aml file: http://www.mediafire.com/?jnjrdtmfm3k kextutility in case you haven't got it yet: http://www.mediafire.com/?njgtzhzwm0j For comparison: my dsdt.aml without the audio mod: http://www.mediafire.com/?xm2yn2xguyo my dsdt.aml with the audio mod: http://www.mediafire.com/?zzgmmgmhdbo Credit goes to Mormegil for patience and support, respect bro! PART I: Patching DSDT - Slide your dsdt.aml file over the iaslme icon to decompile it to a dsdt.dsl file. - Open the dsl file with texteditor - Apple + F to open the search tab and fill in AZAL - Change AZAL into HDEF In my case: From Code:
Notify (\_SB.PCI0.AZAL, 0x02) Code:
Notify (\_SB.PCI0.HDEF, 0x02) Change this: Code:
Device (AZAL) Code:
Device (HDEF) PART II: Patching AppleHDA - Copy your AppleHDA.kext from System/Library/Extensions to your desktop - Right click the kext and select ShowPackage, then browse to Content/Contents/Plugins - Right click AppleHDAHardwareConfigDriver.kext and again Show Package Contents - Browse to Contents and replace info.plist with this one (just slide it in and confirm replace) http://www.mediafire.com/?rttltqjqxn4 Go back to the Plugins folder and this time Show Package Content of AppleHDAPlatformDriver.kext Browse to Contents and replace info.plist with this one http://www.mediafire.com/?zhnmdm0izzy - Close all windows and then slide the modded AppleHDA.kext on the Kextutility icon. - Reboot and repair permissions again with Kextulility, Terminal or Disk Utility just to make sure. - If SL starts to behave badly and post a kernel panic you might want to boot into 32bit safe mode (-x -x32) and then run kextutility Audio should be working now PART III: Configuring 5.1 - Spotlight "AUDIO/MIDI-configuration" prefs - Click + left bottom - Double click name and rename it to ALC889a - In the right panel select the 3 built-in line streams - To adjust or correct volume expand ALC889a and use the sliders in the right tab for all 3 line-outs: http://a.imagehost.org/0055/Volume.png In my case they were minus 12db if I remember correctly. - Click speaker configuration bottom right - Select Multichannel tab and next to it select 5.1 surround from the menu - Check All streams at top and then start configuring the streams (in my case I had to switch 5 & 6 to left and right rear and 3 & 4 to center and sub respectively) - Confirm with bottom buttons and go check a 5.1 movie in quicktimeX - You might want to install Perian (http://perian.org/) and set Audio Output to: Mutli-Channel Output I think that's about it, everything should be working, if not, it's probably because you have a completely different system then mine or your dsdt isn't properly patched or you just messed up on the way. Good luck! THE END |
Hi Snow
Here an interested guide to modify your dsdt and add audio. Take a look: http://www.mediafire.com/?sharekey=d...5965eaa7bc68bc |
Hmmmm ... very detailed.
I tried the HDEF patch in the dsdt but had no luck. I think I'll try this one out and see if I have more luck. Thanks for the heads up. |
Thx for the guide m8 but all I really want to know is if 5.1 is possible with ALC889a via analog.
I wont enable the onboard unless it's possible. If not, I will wait for KX driver to go 64bit and use my Presonus 1394 for now (stereo) |
I don't think real macs support analog 5.1 audio. So I think the only way to go is digital.
Got my onboard ALC888 running using this guide: http://www.projectosx.com/forum/inde...t=0&#entry1993 Front analog, Digital out, Mic and Line In working so far. I've a Z5500 system so it's all good. Been watching HD movies with AC3/DTS no problem. |
Argh ok, bad news then. KX drivers for my Audigy 2 ZS support 5.1 and with superior quality compared to ALC889a. I think it'll take a long time though for 64bit support, hence I'm hunting for ALC889a 5.1.
|
Yeah too bad no kx support for my X-fi :( I wouldn't have bothered with tweaking my onboard otherwise. I've never ever enabled it in bios since I got this motherboard and tbh I was quite surprised by the quality of the digital output.
|
4 Attachment(s)
I take back my word. Got full analog 5.1 to work on my onboard alc888!
1. Tweak AppleHDA.kext to detect 3 Line Outputs: Green, Black, Orange. 2. Run Audio Midi Setup 3. Add new Aggregate Device 4. Click on the 3 check boxes corresponding to the 3 Line outs 5. Click on Configure Speakers 6. Select all 3 streams 7. Select Multichannel 5.1 8. Make sure all channels are properly mapped 9. Select Aggregate Device as output under System Preferences>Sound 10. Done Here's my modified AppleHDA.kext as reference |
Thats great news m8!
You think I can use this one for my ALC889a? Only kext is needed? no dsdt patching or other kexts? This is 64bit compatible yeah? Thx |
1 Attachment(s)
ALC889a might have different pin configuration so I'm not sure about that. However, it looks like your codec is a variant of the ALC885 which has native OSX support so I think you don't need to do any binary patching.
You don't need HDAenabler or any audio injector. Just patch dsdt for audio injection. Then edit the two plist files: AppleHDA.kext/Contents/Plugins/AppleHDAHardwareConfigDriver.kext/Contents/Info. plist AppleHDA.kext/Contents/Plugins/AppleHDAPlatformDriver.kext/Contents/Info.plist Check out the guide by THe KiNG I linked earlier. Should be able to do it yourself. I've made a quick edit for your codec (ALC885 address 3). Just rename them to Info.plist and copy to their respective kexts. And yes, it's based on the original AppleHDA.kext which came with SL build 10a432 so it's 64bit compatible. |
Ah thx bro, I'm affraid I'l lhave to look into dsdt patching since Pista (the guy who made SLeepenabler) compiled it for me.
Thx a lot for the files and info! I'll check the guide now |
I've fixed the audio on my P35-DS3L (2.0)
I used the drivers here (find the proper one for your ID) http://www.insanelymac.com/forum/ind...owtopic=140941 Also stumbled across this, but never bothered to try it: http://www.insanelymac.com/forum/ind...0#entry1237530 |
Alright, thx m8, will try this tomorrow.
I'll post back with update. The only issue for me is the dsdt because iasl cannot seem to compile it properly (doesnt even output aml file) I'll get to it tomorrow lads, thx again! |
dsdt wont compile?
@snow... What errors are you getting from iaslme? If they are WAK, Local0, or DTGP errors, they can be fixed by adding those methods to your dsdt somewhere. It was easier for me to use ACPI patcher in windows and just check those options when I patched my dsdt.
Anyways, I am going to try different pin configurations in my dsdt this weekend to see if 5.1 using dsdt is possible. |
I was having problems getting it to work at first while inserting my pinconfig to dsdt. After reading the guide, I've learnt that it's not really necessary. Pinconfig from plist will override them anyway. Here's the HDEF code in dsdt.dsl
Code:
Device (HDEF) |
Always errors out on this when I try to compile
Code:
/Users/Snow/Desktop/dsdt/dsdt.dsl 5021: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) |
3 Attachment(s)
Ok I added the DTGP part to dsdt and it compiled properly.
Rebooted, had a few panics and non boots but after repairing permissions & mkext I booted into x64. Now, I have the 3 line-outs, made a device for the outputs but I get no sound whatsoever. Could you please check and recompile my dsdt.aml for me? Thx in advance Update: Hmm no, I can achieve a thing or two on osx86 but this stuff is beyond me. It'll never happen if I'm doing the coding lol so hopefully someone can compile a proper dsdt or AppleHDA for me. I have added the dumps for ALC889a (downloaded from somewhere so not built on my system) just in case its needed. |
What do you see in your System Profiler and SysPref/Sound? Can you get sound out of the individual outputs before doing the aggregate device?
|
Christ sake, I just tried again and thought I heard some noise in the background, turned volume up a bit (My presonus FW interface seems to output louder) and now I do get sound. Thats a proper noob act man.
Alright so stereo seems to be working, I'll get back to ya with update on 5.1 sound. http://img41.imageshack.us/img41/926...ing2009082.png |
Alright 5.1 works, thx a lot for files n guidance bro!!!
This seems to be the proper setting for streams in my case. I bet with a slight change in pinconfiguration the default setting would already work but this configuration actually makes more sense. http://a.imagehost.org/0091/Schermaf...m_11_20_53.png |
Glad it worked for you. What do you mean by default settings?
|
Well the streams you get at default setting. I had to switch rears for center/sub.
But the 3/4 back and 5/6 center/sub makes more sense anyway. I'll have to change my audio in windows back to onboard or its silent gaming. When KX 64bit support is released I "might' try the Audigy 2 ZS again. On the other hand I might just get rid of it and clear some space in my case hehe. Do I just replace the dsdt.aml and plist files (AppleHDA) in for this to also work Leopard? Also, is there a way to get 5.1 with QuicktimeX or do we still have to use VLC Player? Thx again bro, respect! |
Small observation, the sound indeed is far too low and I have to turn the volume way up, so much I start to hear noise (normal with analog setup I guess)
Any ideas? Update: and that my friend seems to be fixed by setting db to 0 for the line-outs in audio/midi config panel. Maybe I should seek a solution first and then post if its unsolved. I'm a bit excited I got 5.1 working guess. |
Ah yes. I got that too. Somehow the channels are not mapped properly by default.
Yes, dsdt.aml you can just reuse for Leo but AppleHDA you can't since 10.5.8 uses an older version. AppleHDA.kext:Contents:PlugIns:AppleHDAHardwareCon figDriver.kext:Contents:Info.plist Copy and paste ConfigData with LayoutID 12 AppleHDA.kext:Contents:PlugIns:AppleHDAPlatformDri ver.kext:Contents:Info.plist Copy and paste the blocks with LayoutID 12 under Layout and PathMapID 9 under PathMaps |
1 Attachment(s)
Alright bro, I'll try that after lunch.
Also, 5.1 in quicktime seems to be fixed with Perian audio options set to Multi-channel output. Positional sound is quiet good too I might add. And another question, would adding my 8800GT to the dsdt make any difference compared to EFI string in boot.plist? if yes how would I do this? Later bud Update: Is it ok I share the Leo AppleHDA with you so you can modify because there's a lot of code innit and I don't want to mess things up. I think I've done some of the work, can't remember. Thx! |
1 Attachment(s)
1.7.1a2 patched for alc889a. Try it.
|
Will do, brb!
|
Hi guys,
I've followed your thread and am in dire need of your help! I too ha |
Hi guys,
I've followed your thread and am in dire need of your help! I too have alc889a I am audio and SD card away from a perfect install of SL 432, using Cham2rc1. Let me just give you some info I think is relevant. Last week I bough a new HDD for my laptop, installed SL fresh over 8-10 times, successfullly becoming more KP. On Sunday I realized the drive was bad. It wouln't even format right. But during the weekend I managed to get alot of things done, like testing video string working, AHCI etc etc.. on my first few tries I managed to get audio working perfect, spdif etc, no internal mic, but external mic working fine! I would be more than happy with that!. Plus, the woofer was present as music had lot more low end. I did not go into Audio Midi as I only now found this out (I thought it was only for midi connections!).Sound was cristal clear, loud and healthy, zero click or pops. Then the system broke and I had to restart yet again, but the drive didnt last long. Since I was having so many problems, when something worked, I copied a backup for the future. I didnt have time though, "warmd" KP crashed. And you know how the download folder can get really confusing really fast, because I knew I had very little time before a permanent KP, and so basically I cannot remember for sure which kext I used, but I have a very warm feeling it was AppleAzalia kext from electro's Live website hosting loads of drivers. On Sunday I realized the drive was bad. It wouln't even format right anymore. http://cid-8b65993ef55cf014.skydrive...=?view=details It's the first one, title ALC883 (Azalia). Either that or one of the latest VoodooHDA woke up the card, it was late and I was dead tired. So, brand new drive, fresh SL with gfx, ethernet, webcam, bluetooth, ICH9m working, smbios.plist edited to match a macbook pro 5,1... and is rock rolid ! This is with or without dsdt.aml in neither root nor Extras. I spent 5 hours yesterday just doing this... Install (X) kext in E/E - repair perms, reboot with -v, keep my eyes peeled for info, Install (X) kext in S/L/E - repair perms, reboot with -v, keep my eyes peeled for info, Where (X) - is any and every audio kext compiled to 64bit SL I could find ! Nothing - in System profiler I get (from vanilla AppleHDA.kext) Code:
Device ID: 0x10250146 Now, up to now I wasnt using my 10.5.7 dsdt.aml file in root or Extras... so I decided to copy them to both locations. Basically repeated the install, repair, reboot procedure for all kexts. All other kexts read: Code:
DEVICE ID: 0x1458A002 Then I kind of lost heart and decided to move onto ethernet, woke that up and shows fine, then I try another voodooHDA and I get sound! After 20 million kexts. Out of the blue! No mic in, not external mic (but this time "Mic" is present is preferences) I installed it to S/L/E and I think vanilla AppleHDA was there too. In system profile is read just like the above, but sound works! So I go, YEY!, I'll try moving that one to Extras/Exten so I have a vanilla system, and back it up straight away! Reboot, no audio. Move the same kext back into S/L/E... no audio !! wtf !? Most kexts dont give sign of working during verbose boot. Some, that I tried in E/E come back complaining about dependancies, but when in S/L/E show no lifesigns during verbose boot. what is going on? a kext works one minutes, not the next? Yes, repaired permissions etc. Should I remove AppleHDA vanilla as principle? (tried) Should I use dsdt.aml or not? (I havent tried patching as it seems damn complicated!!) Also, and this gets to me more than anything... if I boot up SL USB Installer, and go in system Profiler, this is what I get Code:
Device ID: 0x1458A022 This is my lspci info; (ICH9 Family) HD Audio Controller [8086:293e] (rev 03) 00:1c.0 PCI bridge [0604]: Intel Corporation 82801I I guess I could go the dsdt patching route.. but I've gotten audio before and I dont get it why SL is being so picky. Never tried dsdt patching and it intimidates just by looking at it. When booting with vanilla AppleHDA, I get the following verbose messages; http://i310.photobucket.com/albums/k...o/IMG_0049.jpg And if you look, it says "sound assertion "0" - is that related to Audio ID: ? Why should I need dsdt patching if I've gotten sound before :mad: Thank you for the long read, I wanted to give as much info as possible |
Just went through King's tutorial...
First step, problem, graphviz does not install in SL |
Simple.
Either use the 2 plist's I made for Snow and insert them into your SL AppleHDA (rename them first) or go here. tmonkol's unified plist or so called LegacyHDA.kext should be the easier way out. Look for the latest package dated 6-8-2009. Don't really have to go through King's tutorial since your audio chipset has already been excellently documented. Next step is DSDT. Don't really think it's that complicated. Again, tmongkol has a link to DSDT Patcher by fassl. Just a matter of running it once to generate your dsdt.aml. Decompile it: Quote:
Recompile it: Quote:
|
I finally got sound to work on my EP45-DQ6 motherboard but I am noticing that more sound is coming out of one of the speakers than the other. I only have 2.1 speakers. Anyone noticed something similar?
|
1 Attachment(s)
Mormegil,
Thanks for the help! I've tried everything, nothing works. I finally manage to get a stable fully operational SL, but no audio :( Irritating as hell because just two days ago while starting to experiment with kexts, it worked nice. I generated a new dsdt.aml with DSDT Patcher GUI 1.02, forcing compile and new HPET. From that, the dsdt.dsl file. I tried following a couple of guides, for example "search for AZAL and substitute with HDEF" - but I have no AZAL entries. Or "copy this over that" but I dont get how long is "over that" without knocking out necessary code. I also have another issue, from one guide I managed to substitute a code entry, and wanted to test that. Saved dsdt.dsl, then with iaslME.app I couldnt generate the .aml file because I cant find it. Says everything worked fine, got 1 error (is that ok?), but it didnt output any dsdt.aml file back. I used this app to generate the dsl file and it worked ok. Mind taking a look please? |
Error isn't ok since it doesn't output an aml file m8.
Is it DTGP related? (check log) because if so go back a few pages for a fix. |
You have to insert the code if it's not present. Was the same as me. Just copy and paste the whole "Device (HDEF)" block of code so that it appears under "Device (PCI0)" (i.e. subset of it). Read the guide by King again.
|
1 Attachment(s)
Guys,
Some progress, but not that much. I've substituted everything under HDEF to be exactly as Kings tutorial PDF. Checked three or four times, line by line. I save dsdt.dsl, drag to iasl me, and it says Code:
Copyright (C) 2000 - 2008 Intel Corporation Code:
Intel ACPI Component Architecture So what am I doing wrong? attached is the dsdt.dsl with the copied code... |
I've tried to mod your dsl file but it even gives me more errors (6) so I'm afraid I cannot help you with this m8.
|
1 Attachment(s)
I just force compiled and ignored the warnings. All errors I've corrected.
|
1 Attachment(s)
Thanks Snow and momergil! but it broke the system.
Copied dsdt.aml to root. Rebooted and AppleHDA panic'ed. during boot (just -v) Reboot again in verbose, no KP, but AppleHDA gave back "assertion 0" error codes, went to desktop, and in desktop, "warm" KP. Just before, I managed to see that device ID is Device ID: 0x10250146, Audio ID: 12 and all ports show up. In Leo and SL Install stage, it reads DEVICE ID: 0x1458A002 Audio ID: 12 So, that may be a clue. Anyway, tried rebooting again, and when the screen goes black to wake up again and show desktop... it flashes black and blues in 5 second intervals, and stays like that, same symptom as my previous attempts with SL. I go in Leo and put SL in an enclosure, delete dsdt.aml from root and verify disk just in case one of my "power shutdowns" went bad, but drive seems ok. Tried rebooting with SL in -x and -x32 and -x -x32... same symptom. So basically, my install broke. Thank God I have a base image of it ! The first and second dsl file I uploaded here, I already tried editing a bit, only below the HDEF entry, just as per first King's tutorial, the rest I didn't dare do. I will upload in this post an un-edited file from my recently patched aml file that was forced compiled and newHPET using GUI patcher 1.02 Why would this file break my install? and What did it do, that removing it still screws with SL? I'll try cloning it again and try fresh with this dsdt.aml again... I have gfx string in com.apple.Boot.plist, but we did nothing in dsdt for gfxs, this symptom happened before and I dont know how to recoup from it. Ideas? |
Nothing to do with dsdt I think. Perhaps your gfx string that's the issue. I've heard EFI string which works in Leopard might not always work with SL. You're using the plists I posted in this thread correct? Rename to Info.plist and replace the original ones? Repair permissions etc.?
|
I write to you from newly restored SL.
My gfx string worked fine in SL without any extra kexts, every single time. Only after applying the new DSDT it freaked out. I am not that confident I used the right AppleHDA with the info.plists you provided. I thought best to boot first to see changes, then try with correct AppleHDA. But when I simply copied the DSDT I didnt repair perms. So, back to SL, will mod the vanilla AppleHDA, replace dsdt.aml you compiled and test. I would really appreciate it if you were to fix my untouched dsdt.dsl and recompile it. I'm fear of having made a wrong entry that makes errors or something, and would feel more confident about it But in the meantime I will try this one to check compatibility with a fresh vanilla boot. thanksssssss :) UPDATE: Yay! I survived the reboot! :) - No audio, but at least Audio ID shows up as 12 and not zero. During verbose boot there is no indication of audio kext. I did mod applehda with your plists, will now try your 1.7.1a2 patched for alc889a from page 3 UPDATE 2: Nope, exactly the same. Still no audio devices in system preferences, no warning in verbose. Legacy kexts only contain plist inside right? Off to try vanilla HDA with legacy... |
If you use tmongkol's legacy kexts, make sure to edit the plist and replace all occurrences of "LayoutID" to 12. You don't need the HDAenabler.
|
Sorry to be annoying... Back to Leo, tried another combo, but it KP'ed, and always panics if I try to repair - "repair package" thread. So I'm screwed. Tried with Kext Utilities, third boot round managed to finish without KP. But Snow is gone.
Back to format and restore. I did get all devices mapped! It seems when I manage to show mapped devices, snow kp's and dies. I'm going to start again, I must be close, just to be sure, I should try your dsdt, legacy kext, no HDA Enabler, and vanilla AppleHDA. Is this right? |
hi !
I also have GA-P35-DS3R I've installed SL and everything works, but I have no sound. no audio input or output device :( Could you please point me to the right direction to work this one out? |
Sure, post number one of this very thread. Did you try the steps?
|
moremegil,
Re-installed fresh with your dsdt, vanillaHDA and legacyHDA kext. I can now see all devices Intel High Definition Audio: Device ID: 0x10250146 Audio ID: 12 Available Devices: Internal Microphone: Connection: Internal Speaker: Connection: Internal External Microphone: Connection: 1/8-Inch Jack but still no audio. have same result without editing LayoutID. Some of the LayoutID's were 889, do I change these to 12 too? I did do it. |
Gurru, I've added a small guide so try again and post back with result. Go step by step and let me know if I need to adjust a thing or two.
Good luck lad! |
Great stuff man!
Question: So you dont need Legacy kexts? Off to review my dsdt again! |
So you downloaded tmongkol's legacy kext. There should be a few in the package. Only choose one. Then, edit all LayoutID's from 889 or 885 to 12.
|
Yes, I have, I only tried the 3out2in HDA and analog for 889 and 885.
And yeah, one at the time, since they are all named the same Once I tried all layouID's ( "0", "65647 something", and "889"'s) In Snow's dsl he has two HDEF entires, I only have one. Where he reads Code:
Method (_L0D, 0, NotSerialized) Code:
Method (_L0D, 0, NotSerialized) Code:
Device (HDEF) And should I try with or without legacy? (In the donwloaded tutorial folder containing the legacy kext archives, there is an HDAenabler there...) |