Sound Solution for 889a for SL
needs DSDT patch
decompile your DSDT.aml to DSDT.dsl (you can use iaslme program. just drag your DSDT.aml on icon of iaslme)
Edit your DSDT.dsl file with textedit
a. search and replace all AZAL entires with HDEF
b. replace the whole section Device (HDEF) above the line : "Name (BUFA, ResourceTemplate ()" with the following:
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0A)
{
"built-in",
Buffer (One)
{
0x00
},
"codec-id",
Buffer (0x04)
{
0x89, 0x08, 0xEC, 0x10
},
"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},
"device-type",
Buffer (0x11)
{
"ALC889a"
},
"PinConfigurations",
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}
If (LEqual (Arg2, One))
{
Return (One)
}
}
}
Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}
}
Save your DSDT.dsl and compile it to DSDT.aml (just drag it on icon of iaslme again)
put your patched DSDT.aml file in /Extra
put the attached 889a.kext (this is a combined plist) in /Extra/Extensions
Tip: remove Voodoohda
remove your Caches:
sudo rm -rf /System/Library/Caches
rebuild kextcache:
sudo kextcache -v 1 -t -l -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions
reboot and you´re done
You will have all inputs and outputs working (personally not tested digital) headphones no autoswitching
(has 2 sound assertions at boot)
Credit goes to Proengin for the DSDT part and ffosilva for the combined plist