PDA

View Full Version : (Solved)Need Help Patching New AppleHDA Kext


NIZGTR
08-30-2009, 03:28 AM
I'm trying to get my IDT audio working by patching AppleHDA like in leopard but it happens to be that Apple changed the structure of AppleHDA kext. So if anyone can help out please let me know.

scififan68
08-30-2009, 04:04 AM
have you tired using voodoohda? it seems to support alot of codecs.

mormegil
08-30-2009, 11:07 AM
What is your audio codec and what change of structure do you mean?

NIZGTR
08-30-2009, 04:09 PM
have you tired using voodoohda? it seems to support alot of codecs.
yes, thats what i'm using now, but its not very good becaus i cant change volume or mute it

NIZGTR
08-30-2009, 04:12 PM
What is your audio codec and what change of structure do you mean?
my codec is IDT and i'm tryin to insert my codec verb, config id, and my node layout, bu the structure of applehda has changed since leopard.

scififan68
08-30-2009, 04:30 PM
Are you on amd because you need to patch the /System folder with marvin's amd patcher to be able to change the volume and mute doesnt work.

NIZGTR
08-30-2009, 06:02 PM
Are you on amd because you need to patch the /System folder with marvin's amd patcher to be able to change the volume and mute doesnt work.
no i'm on intel

scififan68
08-30-2009, 06:43 PM
oh nvm then, the Dell Mini 10v people have a method for getting our alc272 working with vanilla audio kexts: http://www.mydellmini.com/forum/mac-os-x-development/10965-building-100-vanilla-10v-starting-fully-working-audio.html but it only works on for the Realtek alc272, but maybe you could get it to work for yours, it's just start.

NIZGTR
08-30-2009, 07:00 PM
oh nvm then, the Dell Mini 10v people have a method for getting our alc272 working with vanilla audio kexts: http://www.mydellmini.com/forum/mac-os-x-development/10965-building-100-vanilla-10v-starting-fully-working-audio.html but it only works on for the Realtek alc272, but maybe you could get it to work for yours, it's just start.
thanks but it seems to only be compatible with alc audio and i got IDT, its a bit different.

mormegil
08-30-2009, 08:28 PM
1. Hex edit AppleHDA binary with your codec id
2. Edit Info.plist in AppleHDAHardwareConfigDriver.kext and AppleHDAPlatformDriver.kext
3. ConfigData goes into AppleHDAHardwareConfigDriver.kext
4. Layouts and PathMaps go into AppleHDAPlatformDriver.kext

I use PlistEdit Pro and just copy/paste data from my working Leopard kexts into the right places of SL kexts.

NIZGTR
08-30-2009, 08:35 PM
1. Hex edit AppleHDA binary with your codec id
2. Edit Info.plist in AppleHDAHardwareConfigDriver.kext and AppleHDAPlatformDriver.kext
3. ConfigData goes into AppleHDAHardwareConfigDriver.kext
4. Layouts and PathMaps go into AppleHDAPlatformDriver.kext

I use PlistEdit Pro and just copy/paste data from my working Leopard kexts into the right places of SL kexts.
i've been trying that all day yesterday but for some reason it wouldn't work. could you try it if i give you my working leopard applehda? that'd be great, let me know

mormegil
08-30-2009, 08:41 PM
I can try. I will need to know your full codec id too.

NIZGTR
08-30-2009, 08:48 PM
I can try. I will need to know your full codec id too.
ok thx heres my working leopard AppleHDA attached and my codec id is:
287143602

and my config data is:
AKccHwCnHUAApx4rAKcfAgGHHFABhx0QAYce
oAGHH5AAtxwgALcdMAC3HosAtx8CAMcc8ADH
HQAAxx7xAMcfQADXHEAA1x0BANceEADXH5AA
5xzyAOcdAADnHvEA5x9AAPcc9wD3HQAA9x7x
APcfQAEHHGABBx3gAQceSwEHHwEBFxwwARcd
4AEXHssBFx8B


let me know if you need anything else

mormegil
08-30-2009, 09:16 PM
1.7.4a1 AppleHDA.kext (Snow Leopard) patched for IDT device id = 0x111D76B2

Hope it works :D

NIZGTR
08-30-2009, 09:57 PM
1.7.4a1 AppleHDA.kext (Snow Leopard) patched for IDT device id = 0x111D76B2

Hope it works :D

thx.

it loads and shows this in system profiler:
Intel High Definition Audio:

Device ID: 0x10280251
Audio ID: 12
Available Devices:


but no sound.

in leopard it shows this:
Intel High Definition Audio:

Device ID: 0x10280251
Audio ID: 12
Available Devices:
Headphone:
Connection: Combo
Internal Microphone:
Connection: Internal
Line In:
Connection: Combo
Speaker:
Connection: Internal
S/P-DIF Out:
Connection: Combo
S/P-DIF In:
Connection: Combo


any idea whats stopping it?

mormegil
08-30-2009, 10:01 PM
Are you using HDAenabler or DSDT to inject your audio?

NIZGTR
08-30-2009, 10:04 PM
Are you using HDAenabler or DSDT to inject your audio?
x64 hdaenabler but i'd like to try the dsdt method.

mormegil
08-30-2009, 10:10 PM
Check out Snow's thread (http://www.infinitemac.com/f57/solved-alc889a-5-1-analog-surround-t3746/). There's a link on how to inject by DSDT and how to patch AppleHDA.

NIZGTR
08-31-2009, 02:13 AM
Check out Snow's thread (http://www.infinitemac.com/f57/solved-alc889a-5-1-analog-surround-t3746/). There's a link on how to inject by DSDT and how to patch AppleHDA.
ok i did the DSDT method and everything works perfect. thanks alot. now all i got left is my 575x broadcom ethernet to get working :D

waneto2005
09-01-2009, 03:50 AM
I have a ALC272 audio, anybody have this legacyHDA drviers?

many thanks!

timmyj9
09-01-2009, 03:41 PM
if someone could mod the snow leopard kext like this leopard one i would be very grateful using the method in this forum
ty

mormegil
09-01-2009, 05:05 PM
Inject your audio by DSDT. See here (http://www.projectosx.com/forum/index.php?showtopic=465&pid=2219&st=0&#entry2219) for instructions.

timmyj9
09-02-2009, 12:04 AM
thanks will test later on..

chris7519
09-06-2009, 04:20 PM
1.7.4a1 AppleHDA.kext (Snow Leopard) patched for IDT device id = 0x111D76B2

Hope it works :D

I have the same Intel IDT audio device and I'm attempting to patch my DSDT, but for the life of me I can't find it. I only have one insert of AZLA and it's "AZLA, 8," and not listed anywhere else. I tried searching for 0x001B0000 but no dice... What other steps can I take? TIA!!!

mormegil
09-06-2009, 05:16 PM
If it's not there, just insert the HDEF code under Device (PCI0)

Chrysaor
09-07-2009, 01:51 AM
Inject your audio by DSDT. See here (http://www.projectosx.com/forum/index.php?showtopic=465&pid=2219&st=0&#entry2219) for instructions.

Hi.
Thanks but unfortunately M1530/Sigmatel 9228 kext doesn't work for some reason.
Audio is injected from DSDT, used to work in Leopard with previously posted old kext, which worked excellent except the internal mic.
I saw you edited the codec id to the binary, put the pinconfigs to the HardwareConfigDriver and layouts to the PlatformDriver, not sure whats missing.

Here are the pinconfigs:
00a71c10 00a71d10 00a71e21 00a71f02 00b71cf0 00b71d00 00b71ef0 00b71f40 00c71cf0 00c71d00 00c71ef0 00c71f40 00d71c10 00d71d01 00d71e17 00d71f90 00e71c20 00e71d10 00e71ea1 00e71f02 00f71c30 00f71d10 00f71e01 00f71f02 01071cf0 01071d00 01071ef0 01071f40 01171cf0 01171d00 01171ef0 01171f40 01271cf0 01271d00 01271ef0 01271f40 01371c20 01371d01 01371ea6 01371f90 01471cf0 01471d00 01471ef0 01471f40 02171ca0 02171d10 02171e56 02171f98 02271cf0 02271d00 02271ef0 02271f40

Codec dump is attached.

chris7519
09-07-2009, 05:17 AM
If it's not there, just insert the HDEF code under Device (PCI0)

Thanks for the advice mormegil!!! Got audio up and running... however, I'm running into the no sound after sleep issue. Is it possible to fix this through the DSDT? I thought maybe inserting "Notify (\_SB.PCI0.HDEF, 0x02)" into the Method (_L05... or Method (_L0D... section might work, but so far unsuccessful.

Scope (GPE) section:
Scope (_GPE)
{
Method (_L01, 0, NotSerialized)
{
Add (L01C, One, L01C)
P8XH (Zero, One)
P8XH (One, L01C)
TRAP (TRTI, 0xA1)
If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.EXP1.HPSX))
{
Sleep (0x64)
If (\_SB.PCI0.EXP1.PDCX)
{
Store (One, \_SB.PCI0.EXP1.PDCX)
Store (One, \_SB.PCI0.EXP1.HPSX)
Notify (\_SB.PCI0.EXP1, Zero)
Store (One, PRM0)
Store (PEHS, SSMP)
}
Else
{
Store (One, \_SB.PCI0.EXP1.HPSX)
}
}

If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.EXP2.HPSX))
{
Sleep (0x64)
If (\_SB.PCI0.EXP2.PDCX)
{
Store (One, \_SB.PCI0.EXP2.PDCX)
Store (One, \_SB.PCI0.EXP2.HPSX)
Notify (\_SB.PCI0.EXP2, Zero)
Store (0x02, PRM0)
Store (PEHS, SSMP)
}
Else
{
Store (One, \_SB.PCI0.EXP2.HPSX)
}
}

If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.EXP4.HPSX))
{
Sleep (0x64)
If (\_SB.PCI0.EXP4.PDCX)
{
Store (One, \_SB.PCI0.EXP4.PDCX)
Store (One, \_SB.PCI0.EXP4.HPSX)
Notify (\_SB.PCI0.EXP4, Zero)
Store (0x04, PRM0)
Store (PEHS, SSMP)
}
Else
{
Store (One, \_SB.PCI0.EXP4.HPSX)
}
}

If (LAnd (LEqual (CRPS, One), LGreaterEqual (MCHD, 0x04)))
{
If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.EXP5.HPSX))
{
Sleep (0x64)
If (\_SB.PCI0.EXP5.PDCX)
{
Store (One, \_SB.PCI0.EXP5.PDCX)
Store (One, \_SB.PCI0.EXP5.HPSX)
If (\_SB.PCI0.EXP5.PDSX)
{
TRAP (TRTI, 0x5A)
CMSW (0x75, Zero)
If (And (One, \_SB.PCI0.LPC.EC0.SW2S))
{
CMSW (0x75, 0xAA)
Store (Zero, \_SB.PCI0.EXP5.J380.D3EF)
}
}

Notify (\_SB.PCI0.EXP5, Zero)
Store (0x05, PRM0)
Store (PEHS, SSMP)
}
Else
{
Store (One, \_SB.PCI0.EXP5.HPSX)
}
}
}

If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.EXP6.HPSX))
{
Sleep (0x64)
If (\_SB.PCI0.EXP6.PDCX)
{
Store (One, \_SB.PCI0.EXP6.PDCX)
Store (One, \_SB.PCI0.EXP6.HPSX)
Notify (\_SB.PCI0.EXP6, Zero)
Store (0x06, PRM0)
Store (PEHS, SSMP)
}
Else
{
Store (One, \_SB.PCI0.EXP6.HPSX)
}
}
}

Method (_L06, 0, NotSerialized)
{
If (LAnd (\_SB.PCI0.OVGA.GSSE, LNot (GSMI)))
{
\_SB.PCI0.OVGA.GSCI ()
}
Else
{
If (LEqual (And (\_SB.PCI0.ESCS, 0x08), 0x08))
{
Store (One, Local0)
Store (\_SB.PCI0.T0IS, \_SB.PCI0.T0IS)
Store (\_SB.PCI0.T0IS, Local0)
Store (\_SB.PCI0.T1IS, \_SB.PCI0.T1IS)
Store (\_SB.PCI0.T1IS, Local0)
Store (One, SCIS)
Store (One, \_SB.PCI0.GTSE)
}
Else
{
Store (One, SCIS)
}
}
}

Method (_L07, 0, NotSerialized)
{
}

Method (_L08, 0, NotSerialized)
{
}

Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.P32, 0x02)
}

Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.UHC1, 0x02)
}

Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.UHC2, 0x02)
}

Method (_L0C, 0, NotSerialized)
{
Notify (\_SB.PCI0.UHC3, 0x02)
}

Method (_L20, 0, NotSerialized)
{
}

Method (_L0D, 0, NotSerialized)
{
}

Method (_L0E, 0, NotSerialized)
{
}

Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.HDEF, 0x02)
}
}

airwalk776
10-23-2009, 05:14 AM
mormegil.....

So this is what I have so: EVGA x58 SLI board which has a realtek audio chipset.

Worked great in 32 bit mode. because I am running my old applehda.kext from 10.5.7. However it wont work in 64 bit mode of course. Could you help me patch the SL applehda.kext with the info from my old 1.5.7 applehda.kext


I am not running hda enabler but I do have the dsdt patched with the following data. and with the dsdt along with my applehda.kext from 10.5.7 it works in SL 32bit mode.


codec-id",
Buffer (0x04)
{
0x89, 0x08, 0xEC, 0x10
},

"layout-id",
/**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x04)
{
0x79, 0x03, 0x00, 0x00


Thank you

msf5042
10-23-2009, 12:43 PM
I am having the same problem as airwalk, need that 64-bit applehda.kext for the evga x58 board

cmyhh110
02-17-2010, 05:44 AM
:D think u~
downloading....

-------------
idt ich9

Goten
03-18-2010, 11:26 AM
Hi,
i tried to use Snow AppleHDA by mormegil. Audio seems to work fine but there are two problem:
1) at startup appears some messages like this: Sound assertion "0 == entry" failed in "/SourceCache/AppleHDA/AppleHDA-157.1.24/AppleHDA/AppleHDAEngine.cpp" at line 2363 goto Exit

2) about 20 seconds after any sound event speakers generate a crackle.

how can I resolve them?

thank you very much