#1
|
||||
|
||||
[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) { Name (_ADR, 0x001B0000) Method (_PRW, 0, NotSerialized) { Return (Package (0x02) { 0x0D, 0x05 }) } } 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) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_STA, 0, NotSerialized) { And (PIRA, 0x80, Local0) If (LEqual (Local0, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (BUFA) } Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { And (PIRA, 0x0F, Local0) ShiftLeft (One, Local0, IRQV) Return (BUFB) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQ1) FindSetRightBit (IRQ1, Local0) Decrement (Local0) Store (Local0, PIRA) } } Code:
Device (HDEF) { Name (_ADR, 0x001B0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x04) { "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }, 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) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_STA, 0, NotSerialized) { And (PIRA, 0x80, Local0) If (LEqual (Local0, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (BUFA) } Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { And (PIRA, 0x0F, Local0) ShiftLeft (One, Local0, IRQV) Return (BUFB) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQ1) FindSetRightBit (IRQ1, Local0) Decrement (Local0) Store (Local0, PIRA) } } 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: 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 Snow Leopard 10.6.7 Gigabyte GA-P35-DS3P Intel Q6600 @ 3Ghz Corsair CM2X2048-6400DHX Gigabyte HD5770 Silent Cell Samsung SyncMaster 2494SW ALC889a Creative T5400 5.1 Maxtor 380215AS Pioneer DVR-215D Presonus Inspire 1394 KRK Rokit 5 Wacom Bamboo One SL USB Guide => http://www.infinitemac.com/f57/guide...k-drive-t3705/ Last edited by Snow; 09-14-2009 at 08:05 AM. |
|