=>How to get "Sound" out of ALC889A (ALC885)
(without doing anything on /System/Library/Extensions)
Prerequisites
- Buy a Mac OS X Server 10.6 Snow Leopard from Apple Store
- Install the CD using this Install Doc
- Install Chameleon 2.0 RC1 (Not RC2 nor RC3)
- Replace /boot with netkas PC EFI 10.1
- Use netkas FakeSMC in /Extra/Extensions/fakesmc.kext
- Remove IOAudioFamily.kext, OSvKernDSPLib.kext, dsmos.kext, AppleSMBIOS.kext from /Extra/Extensions
- Remove out of /Extra/Extensions *ALL* sound related kexts
like VoodooHDA.kext, AppleHDA.kext, HDAEnabler.kext, LegacyHDA.kext, LegacyAppleHDAHardwareConfigDriver.kext, LegacyHDAPlatformDriver.kext, all *HDA*.kext, all *Audio*.kext, etc. - Make sure that you use the original AppleHDA.kext from Snow Leopard (174.1.1) in /System/Library/Extensions/AppleHDA.kext
- Configure the BIOS to boot using AHCI instead of IDE
- GigaByte GA-X48-DQ6 with ALC889A (ALC885)
-- I cannot help you much for other motherboards.
You need to find yourself the correct layout-id, codec-id, PinConfigurations
and corresponding LayoutID, CodecID, ConfigData
Setup
- Install /dsdt.dsl from Click to view attachment
- Install /dsdt.aml from Click to view attachment
- Install /Extra/Extensions/LegacyHDA.kext from Click to view attachment
- Execute this on a shell sudo chown -R root:wheel /Extra/Extensions
- Execute this on a shell sudo chmod -R go-w /Extra/Extensions
- Execute this on a shell sudo kextcache -v 1 -t -l -m /Extra/Extensions.mkext /Extra/Extensions
Reboot and it's done.
If doesn't work you can also clean the System Caches
- Execute this on a shell sudo rm -fr /Library/Caches/*
- Execute this on a shell sudo rm -fr /System/Library/Caches/*
- Execute this on a shell sudo kextcache -v 1 -t -l -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions
If still doesn't work try to use my Extra folder within Click to view attachment
and you can fix the permissions using clean_cache.sh
If you have other motherboard or this post doesn't help and you still want and need sound on SL
I recommend to buy one of the following:
- Terratec Aureon DUAL USB include Micro + Line Out / S/SDIF (But no DTS passthrough)
- Premium Notebook Headset includes USB Sound Card with Line Out + Micro
- Any USB Sound Card with the mention "No Drivers Required" and "MacOS 10.x" (usualy 10.2 or better)
-- Don't take for now M-Audio who require a driver for MacOS and
is not compatible with SL (support coming soon)
Good Luck
P.S. Please give me some feedback so I can make this How-To better
Click to view attachment Click to view attachment Click to view attachment
Even if the sound works you will get the following in dmesg:
CODE
Sound assertion "0 != result" failed in "..." at line 3206 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "..." at line 890 goto handler
Sound assertion "0 != result" failed in "..." at line 3206 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "..." at line 890 goto handler
Sound assertion "0 != result" failed in "..." at line 3206 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "..." at line 890 goto handler
Sound assertion "0 != result" failed in "..." at line 3206 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "..." at line 890 goto handler
Sound assertion "0 != result" failed in "..." at line 3206 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "..." at line 890 goto handler
Sound assertion "0 != result" failed in "..." at line 3206 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "..." at line 890 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "..." at line 890 goto handler
Sound assertion "0 != result" failed in "..." at line 3206 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "..." at line 890 goto handler
Sound assertion "0 != result" failed in "..." at line 3206 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "..." at line 890 goto handler
Sound assertion "0 != result" failed in "..." at line 3206 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "..." at line 890 goto handler
Sound assertion "0 != result" failed in "..." at line 3206 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "..." at line 890 goto handler
Sound assertion "0 != result" failed in "..." at line 3206 goto handler
Sound assertion "0 != widget->setUnsolicited ( true )" failed in "..." at line 890 goto handler
Technical Details:
dsdt.dsl
CODE
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.USBE, 0x02)
Notify (\_SB.PCI0.USE2, 0x02)
Notify (\_SB.PWRB, 0x02)
Notify (\_SB.PCI0.HDEF, 0x02)
Notify (\_SB.PCI0.IGBE, 0x02)
}
...
}
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0E)
{
"codec-id",
Buffer (0x04)
{
0x85, 0x08, 0xEC, 0x10
},
"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},
"APPL,slot-name",
Buffer (0x09)
{
"Built-in"
},
"device-type",
Buffer (0x06)
{
"Audio"
},
"name",
Buffer (0x21)
{
"High Definition Audio Controller"
},
"model",
Buffer (0x1F)
{
"Realtek ALC889a HDA Controler"
},
"PinConfigurations",
Buffer (0x30)
{
/* 0000 */ 0x40, 0x01, 0x13, 0x90, 0x41, 0x40, 0x01, 0x01,
/* 0008 */ 0x0F, 0x00, 0x00, 0x40, 0x0F, 0x00, 0x00, 0x40,
/* 0010 */ 0x10, 0x01, 0xA0, 0x90, 0x11, 0x01, 0xA0, 0x90,
/* 0018 */ 0x20, 0x30, 0x81, 0x01, 0x50, 0x70, 0x21, 0x01,
/* 0020 */ 0xF0, 0x01, 0x33, 0x59, 0x01, 0xE6, 0x05, 0x40,
/* 0028 */ 0x60, 0xE0, 0x45, 0x01, 0x30, 0xE0, 0xC5, 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, )
{}
})
...
{
Notify (\_SB.PCI0.USBE, 0x02)
Notify (\_SB.PCI0.USE2, 0x02)
Notify (\_SB.PWRB, 0x02)
Notify (\_SB.PCI0.HDEF, 0x02)
Notify (\_SB.PCI0.IGBE, 0x02)
}
...
}
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0E)
{
"codec-id",
Buffer (0x04)
{
0x85, 0x08, 0xEC, 0x10
},
"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},
"APPL,slot-name",
Buffer (0x09)
{
"Built-in"
},
"device-type",
Buffer (0x06)
{
"Audio"
},
"name",
Buffer (0x21)
{
"High Definition Audio Controller"
},
"model",
Buffer (0x1F)
{
"Realtek ALC889a HDA Controler"
},
"PinConfigurations",
Buffer (0x30)
{
/* 0000 */ 0x40, 0x01, 0x13, 0x90, 0x41, 0x40, 0x01, 0x01,
/* 0008 */ 0x0F, 0x00, 0x00, 0x40, 0x0F, 0x00, 0x00, 0x40,
/* 0010 */ 0x10, 0x01, 0xA0, 0x90, 0x11, 0x01, 0xA0, 0x90,
/* 0018 */ 0x20, 0x30, 0x81, 0x01, 0x50, 0x70, 0x21, 0x01,
/* 0020 */ 0xF0, 0x01, 0x33, 0x59, 0x01, 0xE6, 0x05, 0x40,
/* 0028 */ 0x60, 0xE0, 0x45, 0x01, 0x30, 0xE0, 0xC5, 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, )
{}
})
...
LegacyHDA.kext/Contents/Info.plist
CODE
...
HDAConfigDefault
CodecID
283904133
ConfigData
QAETkEFAAQEPAABADwAAQBABoJARAaCQIDCBAVBwIQHwATNZAeY
FQGDgRQEw4MUB
FuncGroup
1
LayoutID
12
...
AppleHDAPlatformDriverLoader
Layouts
LayoutID
12
PathMapRef
CodecID
283904133
...
HDA Hardware Config Resource
CFBundleIdentifier
com.apple.driver.AppleHDAHardwareConfigDriver
HDAConfigDefault
CodecID
283904133
ConfigData
QAETkEFAAQEPAABADwAAQBABoJARAaCQIDCBAVBwIQHwATNZAeY
FQGDgRQEw4MUB
FuncGroup
1
LayoutID
12
...
codec-id is for ALC889a (ALC885)
0x85, 0x08, 0xEC, 0x10 (DSDT) is the byte flip of 0x10EC0885 and is equal to 283904133 (Info.plist)
layout-id
0x0C, 0x00, 0x00, 0x00 (DSDT) is the byte flip of 0x0000000C and is equal to 12 (Info.plist)
PinConfigurations in the same order
(DSDT)
/* 0000 */ 0x40, 0x01, 0x13, 0x90, 0x41, 0x40, 0x01, 0x01,
/* 0008 */ 0x0F, 0x00, 0x00, 0x40, 0x0F, 0x00, 0x00, 0x40,
/* 0010 */ 0x10, 0x01, 0xA0, 0x90, 0x11, 0x01, 0xA0, 0x90,
/* 0018 */ 0x20, 0x30, 0x81, 0x01, 0x50, 0x70, 0x21, 0x01,
/* 0020 */ 0xF0, 0x01, 0x33, 0x59, 0x01, 0xE6, 0x05, 0x40,
/* 0028 */ 0x60, 0xE0, 0x45, 0x01, 0x30, 0xE0, 0xC5, 0x01
is equal to
(Info.plist)
QAETkEFAAQEPAABADwAAQBABoJARAaCQIDCBAVBwIQHwATNZAeY
FQGDgRQEw4MUB
Enjoy EFI-X Free PC !
Help! Help! We're being held prisoner in a system software factory!
Credits
http://www.insanelymac.com/forum/lofiversi...hp/t140941.html
http://blog.staticanime.net/2009/08/21/dsd...-msi-wind-u100/
http://www.infinitemac.com/f57/guide-how-t...hda-to-sl-t3981
http://www.infinitemac.com/f57/guide-alc88...746/page14.html




