Help - Search - Members - Calendar
Full Version: GigaByte GA-X48-DQ6 with ALC889A (ALC885) on SL
InsanelyMac Forum > OSx86 Project > Hardware and Drivers > Sound
lordbaco
GigaByte GA-X48-DQ6 on Snow Leopard (32 and 64-bits)
=>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
  1. Install /dsdt.dsl from Click to view attachment
  2. Install /dsdt.aml from Click to view attachment
  3. Install /Extra/Extensions/LegacyHDA.kext from Click to view attachment
  4. Execute this on a shell sudo chown -R root:wheel /Extra/Extensions
  5. Execute this on a shell sudo chmod -R go-w /Extra/Extensions
  6. 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
  1. Execute this on a shell sudo rm -fr /Library/Caches/*
  2. Execute this on a shell sudo rm -fr /System/Library/Caches/*
  3. 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


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, )
{}
})

...



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
Gaal Dornik
Still no sound... No available devices in SysPref...
Screenshot from SysProf attached.

and sound assertion errors on startup

dmesg:
Sound assertion "0 != setupHostInterface()" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDAController/AppleHDAController.cpp" at line 255 goto Exit1
Sound assertion "0 != setupHostInterface()" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDAController/AppleHDAController.cpp" at line 255 goto Exit1
lordbaco
Can you give me the ouput of ioreg or IOSelect something under HDEF section ?
Did you remove all *HDA* and Voodo from /Extra/Extensions and put LegacyHDA instead ?
You can also rebuild the cache of Extensions in System/Library and remove /Library/Cache see other posts about cleanup those caches
Gaal Dornik
Here is my DSDT HDEF section:
CODE
Device (HDEF)
{
Name (_ADR, 0x00140002)
OperationRegion (PCI, PCI_Config, 0x00, 0x0100)
Field (PCI, AnyAcc, NoLock, Preserve)
{
Offset (0x42),
DNSP, 1,
DNSO, 1,
ENSR, 1
}

Name (_PRW, Package (0x02)
{
0x1B,
0x04
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x08)
{
"codec-id",
Buffer (0x04)
{
0x85, 0x08, 0xEC, 0x10
},

"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},

"device-type",
Buffer (0x10)
{
"Realtek ALC889A"
},

"PinConfigurations",
Buffer (0x30)
{
/* 0000 */ 0x10, 0x40, 0x11, 0x01, 0x12, 0x20, 0x01, 0x01,
/* 0008 */ 0x11, 0x60, 0x01, 0x01, 0x14, 0x10, 0x01, 0x01,
/* 0010 */ 0x30, 0x99, 0xA1, 0x01, 0x3F, 0x90, 0xA1, 0x02,
/* 0018 */ 0x31, 0x31, 0x81, 0x01, 0x1F, 0x40, 0x21, 0x02,
/* 0020 */ 0x32, 0x01, 0x33, 0x99, 0x00, 0x01, 0x00, 0x40,
/* 0028 */ 0x60, 0x01, 0x45, 0x81, 0x00, 0x01, 0x00, 0x40
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}


System Profiler:


System Prefs:


ioreg dump:
http://www.mediafire.com/?sharekey=d219da5...04e75f6e8ebb871

IORegExpl Screenshot:


QUOTE (lordbaco @ Sep 10 2009, 11:28 PM) *
Can you give me the ouput of ioreg or IOSelect something under HDEF section ?
Did you remove all *HDA* and Voodo from /Extra/Extensions and put LegacyHDA instead ?
You can also rebuild the cache of Extensions in System/Library and remove /Library/Cache see other posts about cleanup those caches


All sound related kexts were removed out of /E/E, /S/L/E untouched, cache cleaned...
d.l.
Hi mate
thank you for your tuturial but i still have a question


i install chameleon 2 rc 3 on an usb stick and use it for booting.

will it work if i copy the files "dsdt.dsl" and "dsdt.aml" on usb sticks root or must they be on she snow leopard install HDD
?
lordbaco
Please follow the updated doc

> i install chameleon 2 rc 3 on an usb stick and use it for booting.

Try Chameleon 2 RC1 + netkas PC EFI 10.1 + netkas FakeSMC
see the Prerequisites for more details



d.l.
Thank you for your response.
i will try v2 rc1 and 10.1


QUOTE
see the Prerequisites for more details


were can i find this site ?

edit: if i try to install chameleon 2 rc 1 (under snow leo), i yust get an error
Gaal Dornik
Niceee... Lets try it guys... =)
lordbaco
QUOTE (d.l. @ Sep 14 2009, 02:15 PM) *
Thank you for your response.
i will try v2 rc1 and 10.1

were can i find this site ?

edit: if i try to install chameleon 2 rc 1 (under snow leo), i yust get an error


What is the error ? (try to boot using -x32 -v or -x32 -s)

For Chamelon RC1 search on the web you will find it
the same for netkas PC EFI 10.1 /boot.

N.B. Chamelon RC1 doesn't work unless you replace /boot
(hidden sudo chflag nohidden /boot then hidden ...)

http://www.teknojunkie.com/2009/09/downloads/
This give you almost everything you need..
the rest is within my .zip files
Gaal Dornik
QUOTE (Gaal Dornik @ Sep 11 2009, 01:30 AM) *
CODE
Device (HDEF)
{
Name (_ADR, 0x00140002)
OperationRegion (PCI, PCI_Config, 0x00, 0x0100)
Field (PCI, AnyAcc, NoLock, Preserve)
{
Offset (0x42),
DNSP, 1,
DNSO, 1,
ENSR, 1
}

Name (_PRW, Package (0x02)
{
0x1B,
0x04
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x08)
{
"codec-id",
Buffer (0x04)
{
0x85, 0x08, 0xEC, 0x10
},

"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},

"device-type",
Buffer (0x10)
{
"Realtek ALC889A"
},

"PinConfigurations",
Buffer (0x30)
{
/* 0000 */ 0x10, 0x40, 0x11, 0x01, 0x12, 0x20, 0x01, 0x01,
/* 0008 */ 0x11, 0x60, 0x01, 0x01, 0x14, 0x10, 0x01, 0x01,
/* 0010 */ 0x30, 0x99, 0xA1, 0x01, 0x3F, 0x90, 0xA1, 0x02,
/* 0018 */ 0x31, 0x31, 0x81, 0x01, 0x1F, 0x40, 0x21, 0x02,
/* 0020 */ 0x32, 0x01, 0x33, 0x99, 0x00, 0x01, 0x00, 0x40,
/* 0028 */ 0x60, 0x01, 0x45, 0x81, 0x00, 0x01, 0x00, 0x40
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}


System Profiler:


System Prefs:


ioreg dump:
http://www.mediafire.com/?sharekey=d219da5...04e75f6e8ebb871

IORegExpl Screenshot:




All sound related kexts were removed out of /E/E, /S/L/E untouched, cache cleaned...


The same thing, did not work for me =(
When using 10.1 netkas boot always get KP...
lordbaco
QUOTE (Gaal Dornik @ Sep 15 2009, 06:41 PM) *
The same thing, did not work for me =(
When using 10.1 netkas boot always get KP...


You don't seems to have the same motherboard as me (maybe a GA-P35-DS3?).
You have 0x1458A002 and I have 0x1458A022 and your pinconfig seems to be
different.

Until you find a solution on some forums I recommend you to check my
updated post and take a USB Audio as workaround.

For the KP what was the error at the beginning of the trace ?
Did you try to
  • In the BIOS change your hard disk controler to use AHCI instead of IDE
  • In the BIOS depend of your motherboard change from Azalia to High Def Audio (HDEF)
  • -Or- doing the opposite
  • Reboot twice to check if the KP is the same

If you have a KP about HFS fsck something try to
  • Boot using "-x32 -s" on Chameleon
  • Do FIRST "mount -uw /"
  • Then "fsck -fy"
  • kextcache -v 1 -t -l -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions
  • shutdown -r now -or- reboot
  • If doesn't work try booting "-x64 -s" and doing the same
freesoul
Just wanted to say Thanks!

Works like a charm!!!
holyfield
GA-X48T-DQ6

Good work! Thank you!

This is working for GA-X48T-DQ6 motherboard too. The only difference between GA-X48T-DQ6 and GA-X48-DQ6 is that first of them is supporting DDR3 memory.

If you are about choosing new mobo for your Hackitosh, then I reccomend GA-X48T-DQ6. GA-X48T-DQ6 is working with Chameleon 2 RC3, DSDT patch and fakesmc really well.

Anyway, this solution isnt 100% correct as X48T-DQ6 or X48T-DQ6 having those audio channels:

* Line Out Green
* Line Out Orange
* Line Out Black
* Line Out Green
* Line Out Digital
* Line Out on Front Panel (Headphones)

* Line In Blue
* Line In Digital
* Mic In Red
* Mic In on Front Panel

If someone have all of those working, please let me know!

Success: Gigabyte X48T-DQ6 & Intel Q9550 + Snow Leopard
leapyearboy
Wish i found this guide sooner could of probably prevented the situation im in now wacko.gif

For simplicitys sake i used your Extras folder and dsdt.aml both of which are allowing me to boot and ethernet works etc which is great! However when i check the audio i get nothing (see below) and the config shown in the system profiler is different from your one sad.gif

I tried various ways of getting this audio to work before i came across this guide and i think i reverted all the modifications back to the originals (only one im not sure about is the /S/L/E/AppleHDA.kext which is 10MB in size 9,629,095 bytes)

I hope you's see something simple that i may of missed cause i dread to think where the issue may be if it is a /S/L/E/ kext issue

EDIT: Also i just noticed straight after my post that i am using Chameleon RC3 - r658 i think, will that cause this problem? If so is it easy to downgrade it without effecting anything else?

UPDATE: After a nights sleep i realised it was just the pin config that was causing the wrong output to system profiler, now corrected, however i still receive no sound :-(


This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.