Jump to content

How to patch AppleHDA.kext from 10.5.2 and above


  • Please log in to reply
227 replies to this topic

#1
MadTux

MadTux

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 103 posts
  • Gender:Male
Os X Leopard introduced new codecs, inside their AppleHDA binary so why not to use them.
I will try to explain how to patch and modify a new AppleHDA.kext and hopefully help others in making their one. I believe that here are guys/girls ho want to work on this. I don't know perfect solution, U will need to try and test a bit. Learn and stuff...


This tutorial will be based on AppleHDA 10.5.5 kext coz it is latest one

Things that we need:
HexEditor: Attached File  HexEdit_220.dmg   525.8KB   6452 downloads
Plist Editor: Attached File  Property_List_Editor.zip   89.09KB   4089 downloads
AppleHDA.kext: Attached File  AppleHDA.kext.zip   516.61KB   6999 downloads
And this generic plist files for PlatformPlugin and Controler plugins.
Attached File  Platform_Controler.zip   3.78KB   3910 downloads
And your own codec dump from Linux, (U can get your codec dump information from Taruga HDAudio.kext, but I never had time to test that)

Let's begin:
These are codecs we have in AppleHDA binary
Attached File  codecs.rtf   573bytes   6913 downloads
And this is a test codec:
Test codec
Name: ALC880
Decimal : 283904128
Hex: 0x10ec0880
Hexedit: 8008EC10

First
We need to patch AppleHDA binary with Hexedit
Binary is inside AppleHDA.kext (~/AppleHDA.kext/Contenst/MacOS/AppleHDA)

Open AppleHDA in HexEdit and find a codec dump that is close to yours.
Best way of knowing your card is reading patch_realtek.c from ALSA source:Attached File  patch_realtek.c.txt   534.95KB   5420 downloads
(Or if U are lucky it is the one from original AppleHDA and all that U need to do is create plist files)

I will edit AppleHDA binary with 8008EC10. what is backward of 10EC0880

So I searched for ALC0262 what is in hex 10EC0262 and changed to 8008EC10
P.S: Try different codecs, for this card 10ec0880, sigmatel codec works too, so U have to make some test, don't stuck on first one. Give it a try.
Second:
After U patched your AppleHDA next it is to create a working PlatformDriver.plist
I made(hopefully) a generic one with all thing that U could have.
How to Platform: Attached File  Platform.zip   489.86KB   2797 downloads

Third
- Contorler.plist
Change CodecID to your codec in decimal number and put a LayoutID to 12.
Under PinConfigDefault put nothing.
(It would be best to know your own exact PinConfigDefault numbers, U can obtain them from Vista Registry Explorer, or obtain them thru linux dump(thx Kabyl and The King on this one).

Swap Contorler.plist with Info.plist inside Controler plugin
~/AppleHDA.kext/Contenst/PlugIns/AppleHDAController.kext/Contenst/Info.plist
RENAME Controler.plist to Info.plist!

Attached File  controler.jpg   182.52KB   6926 downloads

With this U can hopefully boot and have sound.

P.P.S: Change in Controler plist are crucial,but U can boot with your AppleHDA.kext with only this informations in HDAController plist file, but System profiler will not show your inputs.

To change from HEX to DECIMAL use Calculator in Applications.
And U have to use HDAEneabler(If U have Intel chipset) or EFI string for your HDA to load, it is better to use HDAEneabler, coz it sets ClassMatch HDA value for Controler.plist.

After all this U have a working latest HDAkext for alc880:
Attached File  AppleHDA880.zip   481.72KB   1713 downloads

How to read your codec dump
I will Use a codec dump from user adat6 and try to explane how to find
a pins inside codec dump. And hopefully U will find yours inside your dump
Attached File  atad6.txt   8.07KB   1791 downloads
How to codec dump: Attached File  Codecdump.zip   4.28KB   1715 downloads

How to PinConfig, PinConfigDefault or PinConfigOverRides
U can obtain this PinConfig thru Vista registry explorer.
Click on:
START
RUN
and write: regedit (this will start registry explorer)
Search for PinConfig, and U will get something like this:
Attached File  VistaRegEdit.rtf   1.51KB   1523 downloads
Then as user idoc said: "strip out the junk!"
f01c2701 111d2701 111e2701 411f2701 f01c3701 111d3701 111e3701 411f3701 1f1c4701 101d4701 211e4701 021f4701 101c5701 011d5701 131e5701 991f5701 f01c6701111d6701 111e6701411f6701 401c8701981d8701 a11e8701021f8701 411c9701091d9701 a31e9701991f9701 4e1ca701301da701 811ea701021fa701 f01cc701111dc701 111ec701411fc701 2d1cd701951dd701 171ed701401fd701 301ce701111de701 451ee701021fe701

then you have to byte flip each double word;
<01271CF0 01271D11 01271E11 01271F41 01371CF0 01371D11 01371E11 01371F41 01471C1F 01471D10 01471E21 01471F02 01571C10 01571D01 01571E13 01571F99 01671D11 01671CF0 01671F41 01671E11 01871D98 01871C40 01871F02 01871EA1 01971D09 01971C41 01971F99 01971EA3 01A71D30 01A71C4E 01A71F02 01A71E81 01C71D11 01C71CF0 01C71F41 01C71E11 01D71D95 01D71C2D 01D71F40 01D71E17 01E71D11 01E71C30 01E71F02 01E71E45>
And after U done this go here so The King can tell U what to do with PinConfig:
PinConfig How to; The King aka XyZ:

Next... how to overide your BIOS with HDAVerbs... and get any card to work

A made this guide for people who cards are not supported by HDA patcher from Taruga, like mine card ALC880, this guide could be alternative. I don't know what cards are working U will have to try on your one.
If U found this guide useful, I am glad.



If U ask for help, and want to post a codec dump or registry dump from windows, please post them in text format as atachment. It is easier for every one.

Related stuff
AppleHDA collection and knowledge base from The King aka XyZ:

Anemic sound from limini:

Attached Files



#2
atad6

atad6

    InsanelyMac Protégé

  • Members
  • Pip
  • 10 posts
Thanks for the great guide! I'm a bit new to this and have been trying to get the ALC269 codec to work since it's used in many of the new netbooks (MSI Wind, eee, etc). I went through the guide and am able to get system profiler to show the device but osx can't find any audio devices under sound preferences. I tried using the ALC269 codec I posted in this post http://forum.insanel...howtopic=126525 but no luck.

#3
limini

limini

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 213 posts
MadTux: this has the potential to be brilliant! It seems the old methods aren't working with newer builds of leopard. And BTW: though it's clear English isn't your first language, I, and surely others, really appreciate the effort you've put into posting all this information.

Just to clarify: I assume this is the binary at AppleHDA.kext/Contents/MacOS/

We need to patch AppleHDA kext with Hexedit

And I assume you mean that the character pairs are read from the end (ie: backwards):

As U can see when we search in HexEdit with 8008EC10 what is oposite 2 by 2 char of 10EC0880

I'm slowly working my way through this for the 889A codec. There are still some things that are unclear. One thing is how to get the proper EFI string to get HDA to load (is that in com.apple.Boot.plist?). That's worked well for my video card, and I think that's the best for audio from now on.

Thanks again MadTux for this thread and I hope you keep revising and clarifying it!

#4
age_sabres18

age_sabres18

    InsanelyMac Protégé

  • Members
  • PipPip
  • 62 posts
  • Gender:Male
  • Location:Canada
omg this is exactly what im looking for! now i can take matters into my own hands instead of waiting for damn patcher 2.00 lol plz post how to edit the Hard Way and how to read the info in the codec dump

#5
atad6

atad6

    InsanelyMac Protégé

  • Members
  • Pip
  • 10 posts
Like I said before, thanks for the great guide. I'm just trying to clarify what you said because I'm a bit new to this and am sure there are others in a similar situation.

I'm just trying to figure out what to do with platform.plist. Are the values to be changed below correct?

Attached File  platform.jpg   228.05KB   1191 downloads

I'm also a bit confused about controler.plist. We need to input our codec ID correct? Also is the correct place to put this the codec id that corresponds with LayoutID 12 as shown below? There are multiple listings with codec id which is why I'm confused.
Attached File  controler.jpg   221.32KB   599 downloads

After completing these steps do we rename platform.plist to info.plist and replace it with the one already in the folder AppleHDA.kext > Contents > PlugIns > AppleHDAPlatformDriver.kext > Contents > info.plist

and the same for controler.plist with AppleHDA.kext > Contents > PlugIns > AppleHDAController.kext > Contents > info.plist

I know I'm quite a novice but hopefully this can help others as well!

Also I can't wait for the extended guide for how to read pin numbers from a codec dump.

#6
MadTux

MadTux

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 103 posts
  • Gender:Male

MadTux: this has the potential to be brilliant! It seems the old methods aren't working with newer builds of leopard. And BTW: though it's clear English isn't your first language, I, and surely others, really appreciate the effort you've put into posting all this information.

Just to clarify: I assume this is the binary at AppleHDA.kext/Contents/MacOS/

And I assume you mean that the character pairs are read from the end (ie: backwards):

I'm slowly working my way through this for the 889A codec. There are still some things that are unclear. One thing is how to get the proper EFI string to get HDA to load (is that in com.apple.Boot.plist?). That's worked well for my video card, and I think that's the best for audio from now on.

Thanks again MadTux for this thread and I hope you keep revising and clarifying it!


Thank U for your reply about mistaken writen words, and I will try to clarify this tutos, again really sorry for my bad english

Like I said before, thanks for the great guide. I'm just trying to clarify what you said because I'm a bit new to this and am sure there are others in a similar situation.

I'm just trying to figure out what to do with platform.plist. Are the values to be changed below correct?

Attached File  platform.jpg   228.05KB   1191 downloads

Yes that is correct


I'm also a bit confused about controler.plist. We need to input our codec ID correct? Also is the correct place to put this the codec id that corresponds with LayoutID 12 as shown below? There are multiple listings with codec id which is why I'm confused.

Yes that is also correct, but in the first place don't put nothing in your Controler plist, remove your codec id from that , this one have IOPCIClassMatch set to AZAL AND HDEF support (0x04020000&0xFFFE0000 0x04030000&0xFFFE0000)
But later after U are shure your AppleHDA.kext is working, U can test various pinconfig inside,
But real deal would be to know how to calculate your real pinconfigdefault


After completing these steps do we rename platform.plist to info.plist and replace it with the one already in the folder AppleHDA.kext > Contents > PlugIns > AppleHDAPlatformDriver.kext > Contents > info.plist

and the same for controler.plist with AppleHDA.kext > Contents > PlugIns > AppleHDAController.kext > Contents > info.plist

This is also right

#7
atad6

atad6

    InsanelyMac Protégé

  • Members
  • Pip
  • 10 posts
Thanks for all the help and for clarifying that! How would I go about finding the node/pin id's from this codec dump. I'd use HDAPatcher but the ALC269 codec is unsupported.
[codebox]Codec: Realtek ALC269
Address: 0
Vendor Id: 0x10ec0269
Subsystem Id: 0x1043831a
Revision Id: 0x100004
No Modem Function Group found
Default PCM:
rates [0x5f0]: 32000 44100 48000 88200 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x1d: Stereo Amp-Out
Amp-Out caps: ofs=0x3f, nsteps=0x40, stepsize=0x03, mute=0
Amp-Out vals: [0x28 0x28]
Converter: stream=0, channel=0
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Node 0x03 [Audio Output] wcaps 0x1d: Stereo Amp-Out
Amp-Out caps: ofs=0x3f, nsteps=0x40, stepsize=0x03, mute=0
Amp-Out vals: [0x00 0x00]
Converter: stream=0, channel=0
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0x5f0]: 32000 44100 48000 88200 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Node 0x07 [Audio Input] wcaps 0x10011b: Stereo Amp-In
Amp-In caps: ofs=0x11, nsteps=0x2e, stepsize=0x03, mute=1
Amp-In vals: [0x00 0x00]
Converter: stream=0, channel=0
SDI-Select: 0
PCM:
rates [0x160]: 44100 48000 96000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Connection: 1
0x24
Node 0x08 [Audio Input] wcaps 0x10011b: Stereo Amp-In
Amp-In caps: ofs=0x11, nsteps=0x2e, stepsize=0x03, mute=1
Amp-In vals: [0x90 0x90]
Converter: stream=0, channel=0
SDI-Select: 0
PCM:
rates [0x160]: 44100 48000 96000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Connection: 1
0x23
Node 0x09 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
Connection: 5
0x18 0x19 0x1a 0x1b 0x1d
Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-In vals: [0x00 0x00] [0x00 0x00]
Connection: 2
0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-In vals: [0x00 0x00] [0x00 0x00]
Connection: 2
0x03 0x0b
Node 0x0e [Audio Mixer] wcaps 0x20010a: Mono Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-In vals: [0x00] [0x00]
Connection: 2
0x0c 0x0d
Node 0x0f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x10 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0x5f0]: 32000 44100 48000 88200 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Node 0x11 [Pin Complex] wcaps 0x400380: Mono Digital
Pincap 0x0814: OUT Detect
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x10
Node 0x12 [Pin Complex] wcaps 0x400001: Stereo
Pincap 0x0820: IN
Pin Default 0x99a30920: [Fixed] Mic at Int ATAPI
Conn = ATAPI, Color = Unknown
DefAssociation = 0x2, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00:
Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x14 [Pin Complex] wcaps 0x40010d: Stereo Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Pincap 0x0810050: OUT EAPD Balanced
EAPD 0x2: EAPD
Pin Default 0x99130110: [Fixed] Speaker at Int ATAPI
Conn = ATAPI, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Connection: 2
0x0c* 0x0d
Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Pincap 0x081001c: OUT HP EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x0121401f: [Jack] HP Out at Ext Rear
Conn = 1/8, Color = Green
DefAssociation = 0x1, Sequence = 0xf
Pin-ctls: 0xc0: OUT HP
Unsolicited: tag=04, enabled=1
Connection: 2
0x0c* 0x0d
Node 0x16 [Pin Complex] wcaps 0x40010c: Mono Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x80]
Pincap 0x0810: OUT
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Connection: 1
0x0e
Node 0x17 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Amp-In vals: [0x00 0x00] [0x00 0x00]
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x80 0x80]
Pincap 0x083734: IN OUT Detect
Vref caps: HIZ 50 GRD 80 100
Pin Default 0x01a19830: [Jack] Mic at Ext Rear
Conn = 1/8, Color = Pink
DefAssociation = 0x3, Sequence = 0x0
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=00, enabled=0
Connection: 2
0x0c* 0x0d
Node 0x19 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Amp-In vals: [0x00 0x00] [0x00 0x00]
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x80 0x80]
Pincap 0x083734: IN OUT Detect
Vref caps: HIZ 50 GRD 80 100
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=00, enabled=0
Connection: 2
0x0c* 0x0d
Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Amp-In vals: [0x00 0x00] [0x00 0x00]
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x80 0x80]
Pincap 0x08373c: IN OUT HP Detect
Vref caps: HIZ 50 GRD 80 100
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x20: IN VREF_HIZ
Unsolicited: tag=00, enabled=0
Connection: 2
0x0c* 0x0d
Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Amp-In vals: [0x00 0x00] [0x00 0x00]
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x80 0x80]
Pincap 0x083734: IN OUT Detect
Vref caps: HIZ 50 GRD 80 100
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x20: IN VREF_HIZ
Unsolicited: tag=00, enabled=0
Connection: 2
0x0c* 0x0d
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1d [Pin Complex] wcaps 0x400000: Mono
Pincap 0x0820: IN
Pin Default 0x4005822d: [N/A] Line Out at Ext N/A
Conn = Optical, Color = Purple
DefAssociation = 0x2, Sequence = 0xd
Pin-ctls: 0x20: IN
Node 0x1e [Pin Complex] wcaps 0x400380: Mono Digital
Pincap 0x0814: OUT Detect
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
Processing caps: benign=0, ncoeff=33
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x23 [Audio Selector] wcaps 0x300101: Stereo
Connection: 7
0x18* 0x19 0x1a 0x1b 0x1d 0x12 0x0b
Node 0x24 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-In vals: [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
Connection: 6
0x18 0x19 0x1a 0x1b 0x1d 0x0b

[/codebox]

#8
MadTux

MadTux

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 103 posts
  • Gender:Male
Rename your codec in codecdump
Codec: Realtek ALC269
Address: 0
Vendor Id: 0x10ec0269

to
Codec: Realtek ALC885
Address: 0
Vendor Id: 0x10ec0885

U will got a list of pins, coz patcher is checking only this information of a codec file

#9
atad6

atad6

    InsanelyMac Protégé

  • Members
  • Pip
  • 10 posts
Sigh, still no luck. I was able to find the pin numbers using HDAPatcher and came up with this:

Back Mic: 9 34 24
Line In : 8 35 26
Speaker : 20 12 2
LineOut 1: 21 13 3
Headphone: 27 38 37

Still no luck, I can't get osx to recognize the sound card (I'm using HDAEnabler.kext with AppleHDA.kext). I think the problem may be in the controler.plist that I have to edit but I'm not sure.

Thanks for all the wonderful help so far, it's greatly appreciated!

#10
limini

limini

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 213 posts
OK: this is interesting. I did a codec dump of the ALC889A on my system using Taruga's latest HDAudio.kext (run at boot) and this is what comes up:

Vendor Id: 0x10ec0885
...which according to the codec.rtf MadTux provided is already covered by the 10.5.5 AppleHDA.kext. I also looked in the info.plist using HexEdit and "885" seems to be there many times.

So what's missing? Why isn't the system recognizing this codec? And more importantly, how should I handle this next?

I've included the dump below if anyone cares to look. Thanks!

Attached File  My889_aka885.zip   2.06KB   279 downloads

#11
enb14

enb14

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 615 posts
  • Gender:Male
  • Location:Central America
Thanks for your tips MadTux, now my question is when you mention about
"And U have to use HDAEneabler or EFI string for your HDA to load"

So if I edit the plist file in AppleHDA.kext it won't make it to work just with that?

Why and what do we have to add to the EFI string?

#12
MacNutty

MacNutty

    Mad for Mac

  • Members
  • PipPipPipPipPipPipPip
  • 648 posts
  • Gender:Male
  • Location:India
I think the easiest way is to use AppleHDA patcher from Taruga

#13
limini

limini

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 213 posts

I think the easiest way is to use AppleHDA patcher from Taruga

Yes I agree. But I suspect that Taruga's patcher does much of what this thread shows us how to do manually. I think it's a good idea to learn to fish rather than depend on the fisherman.

Also, one issue with Taruga's 1.20 AppleHDA patcher (there is a 2.0 but there's no release date) is that it produces an out-of-spec AppleHDA.kext, whose internal version is 1.2.4 whereas the 10.5.5 AppleHDA.kext is at 1.5.7 and seems to have quite a few internal changes. Plus on my system the 1.20 patching does work, but one of the outputs is wrong. Another advantage of meddling directly in the configuration is assigning inputs and outputs the way we want them.

And then of course, there's the aspect of discovering OS X's intricacies. Like MadTux said: "Learn and stuff..." :(

#14
MadTux

MadTux

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 103 posts
  • Gender:Male

OK: this is interesting. I did a codec dump of the ALC889A on my system using Taruga's latest HDAudio.kext (run at boot) and this is what comes up:

Vendor Id: 0x10ec0885
...which according to the codec.rtf MadTux provided is already covered by the 10.5.5 AppleHDA.kext. I also looked in the info.plist using HexEdit and "885" seems to be there many times.

So what's missing? Why isn't the system recognizing this codec? And more importantly, how should I handle this next?

I've included the dump below if anyone cares to look. Thanks!

Attached File  My889_aka885.zip   2.06KB   279 downloads


Limini, I believe your card is already patched, yust look around to find a kext. I think this is one of best suported audio cards here.

#15
enb14

enb14

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 615 posts
  • Gender:Male
  • Location:Central America

Yes I agree. But I suspect that Taruga's patcher does much of what this thread shows us how to do manually. I think it's a good idea to learn to fish rather than depend on the fisherman.

Also, one issue with Taruga's 1.20 AppleHDA patcher (there is a 2.0 but there's no release date) is that it produces an out-of-spec AppleHDA.kext, whose internal version is 1.2.4 whereas the 10.5.5 AppleHDA.kext is at 1.5.7 and seems to have quite a few internal changes. Plus on my system the 1.20 patching does work, but one of the outputs is wrong. Another advantage of meddling directly in the configuration is assigning inputs and outputs the way we want them.

And then of course, there's the aspect of discovering OS X's intricacies. Like MadTux said: "Learn and stuff..." :(


Me too I think MadTux did a great job explaining us how to do it using the latest kext, with taruga's patcher you were locked to 10.5.2 kexts but with this method you can do it by yourself and patch newer AppleHDA.kexts (10.5.6 in the future) and voiding those non sleep, non wake ups, etc.

#16
limini

limini

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 213 posts

Limini, I believe your card is already patched, yust look around to find a kext. I think this is one of best suported audio cards here.

In principle, Taruga's 885-889 for Leo works, but only ONCE. On first reboot, all the right info is there in Preferences and all the I/O works. But on 2nd reboot this card disappears and the System Profiler information for it too. No one here, or on Taruga's forum, has an explanation for this behavior. And it seems I'm not the only one this is happening to. A codec dump into Taruga's 1.20 patcher also works, but the information in the outputs is innaccurate, and this patcher creates an older version of AppleHDA.kext. So I'm looking at your method as an alternative, and hopefully more long term, solution.

#17
MadTux

MadTux

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 103 posts
  • Gender:Male

In principle, Taruga's 885-889 for Leo works, but only ONCE. On first reboot, all the right info is there in Preferences and all the I/O works. But on 2nd reboot this card disappears and the System Profiler information for it too. No one here, or on Taruga's forum, has an explanation for this behavior. And it seems I'm not the only one this is happening to. A codec dump into Taruga's 1.20 patcher also works, but the information in the outputs is innaccurate, and this patcher creates an older version of AppleHDA.kext. So I'm looking at your method as an alternative, and hopefully more long term, solution.


U may try this, it could be a good start
Attached File  limini.zip   481.41KB   359 downloads

And I think that pins from patcher are not innaccurate, just sometimes they dont work like they should :-)

#18
age_sabres18

age_sabres18

    InsanelyMac Protégé

  • Members
  • PipPip
  • 62 posts
  • Gender:Male
  • Location:Canada
hi im on a pavillion laptop with IDT audio codec and I cant get osx to recognise my audio :). Ive patched everything what could i be doing wrong??

#19
limini

limini

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 213 posts

U may try this, it could be a good start
Attached File  limini.zip   481.41KB   359 downloads

And I think that pins from patcher are not innaccurate, just sometimes they dont work like they should :-)

Thanks, MadTux! I'm now trying to use EFI to load the driver. Does this tutorial cover what I need to know?

#20
MadTux

MadTux

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 103 posts
  • Gender:Male

I'm now trying to use EFI to load the driver. Does this tutorial cover what I need to know?

Yes that is a great one. But it is easier to use EFI STUDIO, has everything "built in" Network, Audio, Graphics.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   Web hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy