![]() |
|
#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. |
|
|