Jump to content

How to patch AppleHDA.kext from 10.5.2 and above


MadTux
 Share

228 posts in this topic

Recommended Posts

  • 1 month later...

Hi MadTux!

 

I need your help.

I use MarionezS driver, but something is wrong with DTS.

I see DTS signal on soundsystem display, but it is only DTS digital, not with 96khz 24 bit.

If I listening music in iTunes, than it is not DTS but 96khz and 24bit.

I saw on your first page, i will patch appleHDA with HEX.

 

My motherboard has ALC1200.

I chang from 85 08 EC 10 to 88 08 EC 10

This is for DTS or this is identify for my sound card?

 

If you have any idea, than write me...

 

Thanks.

 

I modified post!!!

 

I have found what is the problem.

I go in utilities/Audio Midi Setup.

I changed digital output to 96khz 24bit, and I don't close this window.

I opend VLC, and loaded DTS MKV movie.

If I press play button, then I see in Audio Midi Setup window, the digital output automatically switch to 48khz and Encodec digital audio.

In playing movie if I will chage it than I can not!

;)

 

Have you any idea how can I fix it?

Link to comment
Share on other sites

  • 1 month later...

Conexant Cx20551 "Waikiki" (V-ID 14F1, D-ID 5047) on Toshiba P100-102 17": trying to enable sound on internal speakers!

 

I need a little bit of help getting the internal speakers to work (headphone jack and mike work). Laptop specs please see my sig.

 

This is how far I got (same in Leo & Snow):

 

- patched DSDT enabled sound out (internal speakers, head phone) with Azalia

 

- VoodooHDA kernel panics in both Leo and Snow, regardless of mod and version (even latest "final") --> kp in IOPCIFamily/ IOAudiaFamily (also regardless of kernel and mentioned kexts), therefore cannot provide VoodooHDA dump, sorry.

 

- patched Leo & Snow AppleHDA (thanks, Clubber_77 - byte-flipped PinConfigOverrideVerbs from Vista via enb14's latest PinConfig.exe, binary hack, etc.): head phone, mic, line in OK, no sound on internal speakers. When plugging in/ unplugging headphone jack I can see in System Preference/ Sound that autoswitch works. Not a mute issue, mute is not checked. Also the famous "click" during boot and when unplugging HP from jack is audible so the internals do get initiated! (good news, eh?)

 

With Azalia there is no jack autoswitch visible in Sound Sys Prefs, sound out remains on 'HD Audio Out', so either the Jack itself of something in the BIOS does the switching, or it is simply not displayed.

 

On comparing our codec dumps clubber_77 thinks the culprit is the different external amplifier (EAPD), look here:

clubber_77 (HP Pavilion dv2171ea with same Conexant 20551 14F1/5047 and everything working accdg. to clubber_77), attached AppleHDAs):

Node 0x13 wcaps 0x40058d: Stereo Amp-Out

Amp-Out caps: ofs=0x1f, nsteps=0x1e, stepsize=0x05, mute=1

Amp-Out vals:

Pincap 0x081001c: OUT HP EAPD Detect

EAPD 0x2: EAPD

Pin Default 0x0221101f: HP Out at Ext Front

Conn = 1/8, Color = Black

DefAssociation = 0x1, Sequence = 0xf

Pin-ctls: 0xc0: OUT HP

Unsolicited: tag=37, enabled=1

Power: setting=D0, actual=D0

Connection: 3

0x19 0x10* 0x16

mine (Toshiba P100-102):
Node 0x13 wcaps 0x40058d: Stereo Amp-Out

Amp-Out caps: ofs=0x1f, nsteps=0x1e, stepsize=0x05, mute=1

Amp-Out vals:

Pincap 0x081001c: OUT HP EAPD Detect

Pin Default 0xc3111010: Speaker at Ext Left

Conn = 1/8, Color = Black

Pin-ctls: 0xc0: OUT HP

Power: 0x0

Connection: 3

0x19* 0x10 0x16

For the sake of replacing his string with mine I searched for 0221 inside both, AppleHDA and HDAEnabler, but only found 0221 in the file t2exp.inl, without any reference to the rest of the string 101f, so that does not seem right. Is this part of the ConfigData verbs? Where do I go from here? Where and what do I edit?

 

Also during boot I currently get

Sound assertion "0 == fExternalControlArray" failed in "/SourceCache/AppleHDA/AppleHDA-168.1.3/AppleHDA/AppleHDAFunctionGroup.cpp" at line 767 goto Exit

My current DSDT (modded for sound), Linux dump, IOregs from OS X (with Azalia loaded = working internals) and both partially working AppleHDAs are attached, also Kabyls's latest HDAEnabler 1.0.1 (tried other versions, too, no change).

 

Please, one of you more experienced, look at the data I provide below and at least give me a hint how I can enable sound on the internals, will you :) ? For now I would even be fine with HP & internals on at the same time (no auto-switch), or at least getting rid of the Internals/ HP array and setting output merely to HD Audio Azalia style. Tried in AppleHDAPlatformDriver Info.plist, no luck :)

 

Thank you, Thank you, Thank you,

Bux

 

PS: I think nobody should work for free and am totally willing to mail $20 or so via PayPal to whoever can solve this riddle for or with me - YES!

AppleHDA_Leo.kext.zip

AppleHDA_Snow.kext.zip

codec_0_CONEXANT_Toshiba_BugsB.zip

ioregs.zip

HDAEnabler.kext_1.0.1.zip

dsdt.dsl.zip

Link to comment
Share on other sites

  • 3 months later...

hi i did a codec dump of my card, I've tried hdapatcher but can't seem to boot with it. I've tried looking through this guide, but a lot of it is lost in translation I'm afraid. I tried to find the device in hex editor but no luck, here is the dump, could someone try and patch it for me? I'm on snow leopard 10.6.3

 

Codec: Realtek ALC268
Address: 0
Vendor Id: 0x10ec0268
Subsystem Id: 0x10250176
Revision Id: 0x100101
No Modem Function Group found
Default PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
Node 0x02 [Audio Output] wcaps 0x1d: Stereo Amp-Out
 Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
 Amp-Out vals:  [0x34 0x34]
 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=0x40, nsteps=0x40, stepsize=0x03, mute=0
 Amp-Out vals:  [0x2d 0x2d]
 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
 PCM:
rates [0x5e0]: 44100 48000 88200 96000 192000
bits [0x1e]: 16 20 24 32
formats [0x1]: PCM
Node 0x07 [Audio Input] wcaps 0x100111: Stereo
 PCM:
rates [0x160]: 44100 48000 96000
bits [0xe]: 16 20 24
formats [0x1]: PCM
 Connection: 1
 0x24
Node 0x08 [Audio Input] wcaps 0x100111: Stereo
 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 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0d [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0e [Audio Mixer] wcaps 0x20010a: Mono Amp-In
 Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
 Amp-In vals:  [0x00]
 Connection: 1
 0x02
Node 0x0f [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]
 Connection: 2
 0x02 0x1d
Node 0x10 [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]
 Connection: 3
 0x03 0x1d 0x02
Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x12 [Pin Complex] wcaps 0x400001: Stereo
 Pincap 0x0820: IN
 Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
 Pin-ctls: 0x00:
Node 0x13 [Pin Complex] wcaps 0x400001: Stereo
 Pincap 0x0820: IN
 Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
 Pin-ctls: 0x00:
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
 Amp-Out vals:  [0x00 0x00]
 Pincap 0x081003c: IN OUT HP EAPD Detect
 Pin Default 0x99130110: [Fixed] Speaker at Int ATAPI
Conn = ATAPI, Color = Unknown
 Pin-ctls: 0x40: OUT
 Connection: 1
 0x0f
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 0x081003c: IN OUT HP EAPD Detect
 Pin Default 0x0321401f: [Jack] HP Out at Ext Left
Conn = 1/8, Color = Green
 Pin-ctls: 0xc0: OUT HP
 Connection: 1
 0x10
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
 Pin-ctls: 0x00:
 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=0x02, stepsize=0x4f, mute=0
 Amp-In vals:  [0x00 0x00]
 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
 Amp-Out vals:  [0x80 0x80]
 Pincap 0x083734: IN OUT Detect
 Pin Default 0x03a19820: [Jack] Mic at Ext Left
Conn = 1/8, Color = Pink
 Pin-ctls: 0x24: IN
 Connection: 1
 0x02
Node 0x19 [Pin Complex] wcaps 0x40008b: Stereo Amp-In
 Amp-In caps: ofs=0x00, nsteps=0x02, stepsize=0x4f, mute=0
 Amp-In vals: 
 Pincap 0x083724: IN Detect
 Pin Default 0x99a30930: [Fixed] Mic at Int ATAPI
Conn = ATAPI, Color = Unknown
 Pin-ctls: 0x24: IN
Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
 Amp-In caps: ofs=0x00, nsteps=0x02, stepsize=0x4f, mute=0
 Amp-In vals:  [0x00 0x00]
 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
 Amp-Out vals:  [0x80 0x80]
 Pincap 0x083734: IN OUT Detect
 Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
 Pin-ctls: 0x20: IN
 Connection: 1
 0x02
Node 0x1b [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1c [Pin Complex] wcaps 0x400001: Stereo
 Pincap 0x0820: IN
 Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
 Pin-ctls: 0x20: IN
Node 0x1d [Pin Complex] wcaps 0x400000: Mono
 Pincap 0x0820: IN
 Pin Default 0x4016852d: [N/A] Speaker at Ext N/A
Conn = Digital, Color = Purple
 Pin-ctls: 0x20: IN
Node 0x1e [Pin Complex] wcaps 0x400380: Mono Digital
 Pincap 0x0810: OUT
 Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
 Pin-ctls: 0x40: OUT
 Connection: 1
 0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x23 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
 Amp-Out caps: ofs=0x0a, nsteps=0x1f, stepsize=0x05, mute=1
 Amp-Out vals:  [0x01 0x01]
 Connection: 7
 0x18 0x19 0x1a 0x1c 0x14 0x15* 0x12
Node 0x24 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
 Amp-Out caps: ofs=0x0a, nsteps=0x1f, stepsize=0x05, mute=1
 Amp-Out vals:  [0x01 0x01]
 Connection: 7
 0x18 0x19 0x1a 0x1c 0x14* 0x15 0x13

Link to comment
Share on other sites

  • 2 months later...

Please help me get my sound on XFX 630i 7100 Motherboard. In Windows the Realtek Driver it show audio codec as ALC888S. I have tried the ALC888 drivers from iPC and Realtek also.But none of then seems to works.With the Ubuntu Linux Codec Dump [attached below] I have tried to patch it with the AppleHDA patcher by dragging and droping it. Still no LUCK !!! Please Help me !!! Sound is the only thing thats not working !!!

 

 

codec_dump0.txt

 

Please tell me how can I get my sound !!! PLZ PLZ PLZ. Evehing is working fine except the sound.

Link to comment
Share on other sites

Please help me get my sound on XFX 630i 7100 Motherboard. In Windows the Realtek Driver it show audio codec as ALC888S. I have tried the ALC888 drivers from iPC and Realtek also.But none of then seems to works.With the Ubuntu Linux Codec Dump [attached below] I have tried to patch it with the AppleHDA patcher by dragging and droping it. Still no LUCK !!! Please Help me !!! Sound is the only thing thats not working !!!

 

 

codec_dump0.txt

 

Please tell me how can I get my sound !!! PLZ PLZ PLZ. Evehing is working fine except the sound.

 

Problem SOLVED !!! :)

 

CLICK HERE TO LOOK MY POST FOR SOLUTION

Link to comment
Share on other sites

  • 2 weeks later...

Hi MadTux, I have a Samsung n130 (alc269) OSX 10.6.4

I also have Aspire One and Samsung nc10 OSX 10.6.4

 

First: Thank to The King, To You And IPIS Forum

 

I collect all the information of the 3 netbook (codec_dump codecgraph verbs) using the same linux installation on a SD for the codec-dump to be sure to use the sane driver under linux.

 

I start using appleHda from ipis ( appleHDA v1.5.7a24 patch for ncoeff=33 )

I then compared data for pin from the working driver for alc268 (Aspire one) and alc272 (Samsung nc10)

I adapted to my codec that is a bit different from the one for eeepc ( Internal mic on node 25 for my card 18 for eepc) so also the ConfigData must be adapted to work on eeepc

 

I use generic DSDT for HDEF so no HDAEnabler on my system

 

now i have :

 

 

Internal mic WORKING

Line In WORKING

Headphone WORKING

Speaker NOT WORKING

 

the text load correctly without hda error during boot

 

I then try all the think i can do but ……..i m not a programmer

 

i don't know were look at,

 

if i compare, inside codec_dump, the value found for the node 2-12-20 and 3-13-21 are the same (and are also the same of alc268 and alc272 )

 

So why the sound came from pin 3 to pin 21 an not from 2 to 20?

 

the only think i can see is that

 

The difference between the 3 codec is that the output pin 20 is:

< [Fixed] Speaker at Int ATAPI out EAPD Detect > for alc268 and alc272

< [Fixed] Speaker at Int ATAPI out EAPD Balanced > in alc269 codec.

 

so the solution can be there?

 

I don't know nothing for "Balanced"

 

One think more: the n130 have only one speaker inside (connected through balanced mode?) instead of two

 

maybe the issue is related to my hardware maybe not so if there is a eeepc user i can give a try to the 1000H version included in the attacment (the kext contain HDAEnabler so for testing delete all the anther audio kext and also you don't need to edit DSDT)

 

I attach all codec-graf-verbs kext alc268-alc272-alc269n130-alc2691000H

 

many thanks

ALC269_Test.zip

Link to comment
Share on other sites

I have read the realtek alc269 datasheet end connectet to the output there is a embedded amp present only at the speaker output maybe the problem is that this amp is not powered and i don't know how to do.

Did you try sending the verbs to Turn On the EADP amp, as described on the old ipis site?

 

http://ipis-osx.wikidot.com/forum/t-100527...ternal-speakers

 

(Check the address needed for your machine, HDEF IO Device Memory, as probably different to the examples).

Link to comment
Share on other sites

THANKS humph, it works as you say (of course changing the device memory address).

 

 

THANKS AGAIN ! !

GREAT! Now just have to figure out how to - if it's even possible - to get the verbs sent by the kext(s), which was I guess the problem the guys were having in 2008. I'll have a bit of a play around on this also...

 

EDIT:

Must be getting lazy in old age...Think I'll just live with the modded IOAudioFamily from km9 that does the same thing more or less and handles wake from sleep:

http://www.mydellmini.com/forum/general-ma....html#post17365

 

Although may try to incorporate the changes to the 10.6.4 version 1.7.6.4.2 at some point..

Link to comment
Share on other sites

  • 2 weeks later...

Hi I have some more questions

How you use the modded IOAudioFamily?

Can you explain to me how modded IOAudioFamily really work? Because i read the mydellmini.com/forum but I haven't understood well. (Mute?)

I install the kext but i need to pass the verbs in order to have audio at boot, maybe it work after sleep, but my N130 don't have sleep working so i am not able to test.

At this point I use a script to automate the sent-verbs at boot time but is not the "way I wont".

 

I try to make a 10.6.4 version of kext but i never know how to patch hda for the 33 "wrong" coefficients (ipis forum)

I know that is only a one-bit-change (20 to 21) but i don't know witch is the corrected one. So I stuck at this version.

 

You say, in another forum, that the hda give you some sound assertion at boot time.

I have seen difference in codec dump pin number, from N130 and EEE1000H, maybe yours is different too, so the kext may be adapted?

 

Thanks again

Link to comment
Share on other sites

Hi,

 

all depends on the audio device, first you must know exactly the type of audio codec inside your pc.

(you must have a codec_dump from a linux live-cd)

 

 

If you are lucky you can find a kext on the net for your card.

If not you can try to use the guide, (in this case I can try to help you (as I can)).

Link to comment
Share on other sites

  • 2 weeks later...
Hi I have some more questions

How you use the modded IOAudioFamily?

Can you explain to me how modded IOAudioFamily really work? Because i read the mydellmini.com/forum but I haven't understood well. (Mute?)

I install the kext but i need to pass the verbs in order to have audio at boot, maybe it work after sleep, but my N130 don't have sleep working so i am not able to test.

At this point I use a script to automate the sent-verbs at boot time but is not the "way I wont".

 

I try to make a 10.6.4 version of kext but i never know how to patch hda for the 33 "wrong" coefficients (ipis forum)

I know that is only a one-bit-change (20 to 21) but i don't know witch is the corrected one. So I stuck at this version.

 

You say, in another forum, that the hda give you some sound assertion at boot time.

I have seen difference in codec dump pin number, from N130 and EEE1000H, maybe yours is different too, so the kext may be adapted?

 

Thanks again

Hi alecri, sorry for long time to reply, couldn't remember where this thread was, but just fond it again!

So, the modified IOAudioFamily basically does the same as the stuff on the ipis site, send the right verbs to turn on the amp.

A very small extract of the code that was added/changed, that shows the section with the verb values is:

	IOLog("ALC269 MuteControl: setting to %d\n", mute_ ? 1 : 0);
			// write the command
			UInt32 cmd = 0x01470c00 | (mute_ ? 0x0 : 0x2);
			ioreg_->writeBytes(0x60, &cmd, sizeof(cmd));
			UInt16 status = 1;
			ioreg_->writeBytes(0x68, &status, sizeof(status));

(Of course, there's a lot of other stuff as well).

 

The advantage of using the IOAudio kext as the basis for the change is that it will do it's stuff at boot and after sleep. So no need to mess with SleepWatcher scripts, as was used previously. Of course, ideal would have been if the coders were able to add the AppleHDA, but as that code was not OpenSource, then the only sensible option was to attach it to the IOAudioFamily kext.

 

My version of 1.7.6.4.2 causes KPs when audio is "activated" and not had time to de-bug now fixed. But the "original" version from the other post referenced still works OK on 10.6.4.

I just put it into /Extra/Extensions and of course rebuild the Extensions.mkext cache.

Need also OsVLibKernDSP (think that's the name) in /E/E to resolve dependencies.

Then (from memory), think I needed to use AppleHDA from 10.6.2 in /S/L/E, but can't remember and not got machine here with me to check. Perhaps I was still able to use Apple HDA from 10.6.4... Whatver in /S/L/E OK, as does not get loaded if old HDA in /E/E.

 

Yes, I still get sound assertion errors. Took a look at the verbs, path-maps etc, but did not see any obvious "errors", but again did not have time to debug.

 

But audio still works OK for now. Nice to be able to use Skype from the internal mic!!

 

Might be getting an S12, if I do I'll want to get that 100% sorted as a project, so will put more time into this audio stuff.

 

EDIT - UPDATE:

I noted on the S12 that I was getting problems when relying on the embedded HDAEnabler in your (alecri) version AppleHDA, errors related to version mismatch of "library kext HDAController". EDIT. OK, might not have been that after all, perhaps had wrong version modded IOAudioFamily...anyway:

So removed the HDAEnabler, then use this in DSDT:

			Device (HDEF)
		{
			Name (_ADR, 0x001B0000)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x0A)
					{
						"device-id", 
						Buffer (0x04)
						{
							0xd8, 0x27, 0x00, 0x00		//Intel DevID  27d8 SubSys 17AA 3870
						},

		 				"codec-id", 
						Buffer (0x04)
						{
							0x0D, 0x01, 0xEC, 0x10		//ALC 269 10EC 010D?
						}, 

		 				"layout-id",
						Buffer (0x04)
						{
							0x0C, 0x00, 0x00, 0x00		//Layout ID 0x000C=Dec12
						},

  							"device-type",
  							Buffer (0x06)
  							{
  								"ALC269"
  							},

  							"PinConfigurations", 
						Buffer (0x01)
						{
							0x00
						}
					 }, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			} 

			Name (_PRW, Package (0x02)
			{
				0x05, 
				0x04
			})			  
		}

Note that this is not "optimized" and may have stuff not needed etc, but works OK for now.

Still have not got around to resolving the Sound Assertion errors, as not yet got codec info etc via Linux. Also other audio related kernel log issues. But sound works..

 

UDPATE: Well finally compiled working versions of IOAudioFamily with the ACL269 amp enabler on versions 172.4.1 (10.6.2) and 179.4.4 (10.6.5). Both seemed to work OK. However my attempts to use vanilla HDA10.6.2 with a LegacyInjector worked except just cant figure out how to get mic DSP noise reduction enabled. (Am sure it worked on Alecri's hacked HDA!). So unless some bright spark can enlighten me, gonna stick with use of the 10.5.6 HDA and older IOAudioFamily until such time as an update breaks that approach.

(Was fun figuring out how to edit and compile the kexts, so was not all wasted effort!)

Link to comment
Share on other sites

  • 1 month later...

Hi Humph

 

After a long time i'm here again

 

Now audio is ok thanks to you

 

I have made a 10.6.2 version of AppleHDA

 

Now mic work well for me (I made some changes inside Layouts and PathMaps)

 

It Give me only a sound error at boot relatet to the AppleMikeyDriver.kext plugin not loaded.

 

Please give a try.

 

I attach the IOAudioFaamily that i use, I extract it from last netbookinstaller, and I modified it into info.plist from 172 to 179.

 

If you can share yours "real" 179 version you make me happy (I try to compile myself but with no lucky)

 

AppleHDA_10.6.2_alc269.kext.zip

IOAudioFamily.kext.zip

 

Ciao

Link to comment
Share on other sites

  • 2 weeks later...
...

I attach the IOAudioFaamily that i use, I extract it from last netbookinstaller, and I modified it into info.plist from 172 to 179.

 

If you can share yours "real" 179 version you make me happy (I try to compile myself but with no lucky)

...Ciao

Hi alecri2002. Nice to see you again!

 

OK, so here's the version IOAudio family I came up with. I should state that I elected to do some nasty hacks on the source to get it to compile (stuff that would make a real programmer fall about laughing) - like disabling ton of debug stuff. Also posted differences, but not 100% sure is in right format to just run a patch command.

 

Credit needs to go to "km9" for generating the original patch against 165.4.3 version. I just worked that into the latest IOAudioFamily, badly...but seems to work so far!

Patches.zip

IOAudioFamily_17944.kext.zip

 

P.S. Will try out your 10.6.2 HDA and report back! Bit late here now to do tonight...

Link to comment
Share on other sites

Hi humph

Thanks again for your IOAudioFamily:kekt Work OK here.

 

About AppleHDA, I try the way of legacy.kext in E/E and regular 10.6.2 in S/L/E.

Work Ok (also mic noise reduction) but this way the boot time pass from 30 sec to 60 sec

So finally I use this new one (no bin patch) in S/L/E

The boot time is ok and the noise reduction is still present (note that if you put in E/E you loose the noise reduction)

 

I try also to change LineIN into ExtMic Inside PathMapRef but noting change.

I than change the ConfigData (according to THe KiNG guide) from 81 (LineIN-Ext) to A1 (Mic-Ext)

 

From

01471C10 01471D01 01471E10 01471F90

01571C30 01571D10 01571E21 01571F01

01871C20 01871D10 01871E81 01871F01 (LinIN-Ext)

01971C40 01971D01 01971EA0 01971F90 (Mic-Int)

 

To

01471C10 01471D01 01471E10 01471F90

01571C30 01571D10 01571E21 01571F01

01871C20 01871D10 01871EA1 01871F01 (Mic-Ext)

01971C40 01971D01 01971EA0 01971F90 (Mic-Int)

 

This way I see under System Profiler instead of LineIn ExternalMicrophone/Headphone-iPhone

 

But if I insert a Headphone inside the Mic jack (I don't have a mic to taste) or a regular iPhone Headphone/mic I loose the jack sensyty and the input arrive always from internal mic

 

so no lucky also this way.

 

Ciao

AppleHDA_alc269_Snow_Leopard.kext.zip

Link to comment
Share on other sites

so no lucky also this way.

 

Ciao

Oh, not that bad - I think you are a hero!

 

So, the new kext has no Sound Assertion errors - Nice!

And, Mic in does seem to work technically*, just is called Line In - That's OK.

 

*Well, based on a quick test, but not recorded anything yet to see if sounds are OK. Just see the meter moving, so seems like electrically it's amplifying from a low level PC-style mic (as opposed to expecting to need a higher level line-in signal). Will try to do some better audio tests in days ahead, even if only a Skype test call.

 

I also seem to get DSP ambient noise reduction on both internal and external "mic", with this kext in /E/E, but I also have OSvLibKernDSP in /E/E. (Also IONDRVSupport and other stuff for video etc). They are in the /Extra/Extensions.mkext of course also, just 32bit versions.

 

I would guess that the reason the detection does not work with A1 (I just tried it also), is that the Jack Detect signal is different and proprietary. iPhone headset+mic has I suspect more rings on the barrel of the jack, so may work differently physically as well as electrically. Macs in past AFAIK only had Line In and never Mic In, so they had no legacy situation to worry about. (And may be they now want to prevent use of non Apple mic accessories!!!). Perhaps there's some messing around that could be done, or investigations using a new macbook by people that really understand this stuff. On other hand.....they probably use a signal from the audio chip, so perhaps not all hope is lost.

 

As far as I am concerned, what we have here - what you have done - is so close to perfect that it's amazing!

 

(Well, it'd be interesting to see if all works same using TheKings alternate method to inject the verb stuff. But can't remember where that was now, here or over at ProjectOSX. One day might be nice to figure out 10.6.5 HDA; but I've given up on that cos of all the various additional IDs checks & I just don't understand it).

Link to comment
Share on other sites

  • 1 month later...
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>

Attached is my quick and dirty perl script to do the flip.

flip.pl.zip

You can cut and paste the hex strings into a file with TextEdit and feed it to flip.pl under Terminal.

 

./flip.pl < FILE_with_hex_string

 

echo "HEX_STRING" | ./flip.pl

The output is the original hex string, and then the flipped string.

 

Works well with Macgirl's AppleHDA to/from pinconfig TextWrangle perl scripts, too.

Link to comment
Share on other sites

  • 2 months later...

Hello, i need your help!

 

I've been trying for several days, to patch the AppleHDA so that the external microphone works!

I have a internal and a external Mic, but in applehda nothing works! in voodoohda only the internal works!

 

my laptop is a: Lenovo G560 i3 Nvidia310M

 

soundcard : Conexant Cocoa II High Definition SmartAudio

 

HDAUDIO\FUNC_01&VEN_14F1&DEV_5069&SUBSYS_17AAC00B&REV_1003

 

Problem is: I dont know exactly how to edit the pathmaps in AppleHDAPlatformDriver.kext.

I have read the How to read codecdump.rtf but it didnt work for me, or i do a mistake!

 

Internal Speaker and Headphones works really good (it detects automaticly my Headphones).

When i "play" with the PathMaps it shows the Mic in Pannel, but Sound dont work:

post-598655-1303666053_thumb.jpg

 

 

Can you please look at my applehda.kext what i do wrong?

 

these are my pathmaps:

	<key>PathMaps</key>
				 <array>
					 <dict>
						 <key>PathMap</key>
						 <array>
							 <array>
								 <array>
									 <array>
										 <dict>
											 <key>Amp</key>
											 <dict>
												 <key>Channels</key>
												 <array>
													 <dict>
														 <key>Bind</key>
														 <integer>1</integer>
														 <key>Channel</key>
														 <integer>1</integer>
													 </dict>
													 <dict>
														 <key>Bind</key>
														 <integer>2</integer>
														 <key>Channel</key>
														 <integer>2</integer>
													 </dict>
												 </array>
												 <key>MuteInputAmp</key>
												 <true/>
												 <key>PublishMute</key>
												 <true/>
												 <key>PublishVolume</key>
												 <true/>
												 <key>VolumeInputAmp</key>
												 <true/>
											 </dict>
											 <key>NodeID</key>
											 <integer>22</integer>
										 </dict>
										 <dict>
											 <key>NodeID</key>
											 <integer>24</integer>
										 </dict>
										 <dict>
											 <key>NodeID</key>
											 <integer>27</integer>
										 </dict>
									 </array>
								 </array>
							 </array>
							 <array>
								 <array>
									 <array>
										 <dict>
											 <key>NodeID</key>
											 <integer>31</integer>
										 </dict>
										 <dict>
											 <key>Amp</key>
											 <dict>
												 <key>Channels</key>
												 <array>
													 <dict>
														 <key>Bind</key>
														 <integer>1</integer>
														 <key>Channel</key>
														 <integer>1</integer>
													 </dict>
													 <dict>
														 <key>Bind</key>
														 <integer>2</integer>
														 <key>Channel</key>
														 <integer>2</integer>
													 </dict>
												 </array>
												 <key>MuteInputAmp</key>
												 <true/>
												 <key>PublishMute</key>
												 <true/>
												 <key>PublishVolume</key>
												 <true/>
												 <key>VolumeInputAmp</key>
												 <false/>
											 </dict>
											 <key>NodeID</key>
											 <integer>16</integer>
											 <key>Verf</key>
											 <integer>80</integer>
										 </dict>
									 </array>
								 </array>
								 <array>
									 <array>
										 <dict>
											 <key>NodeID</key>
											 <integer>25</integer>
										 </dict>
										 <dict>
											 <key>Amp</key>
											 <dict>
												 <key>Channels</key>
												 <array>
													 <dict>
														 <key>Bind</key>
														 <integer>1</integer>
														 <key>Channel</key>
														 <integer>1</integer>
													 </dict>
													 <dict>
														 <key>Bind</key>
														 <integer>2</integer>
														 <key>Channel</key>
														 <integer>2</integer>
													 </dict>
												 </array>
												 <key>MuteInputAmp</key>
												 <true/>
												 <key>PublishMute</key>
												 <false/>
												 <key>PublishVolume</key>
												 <true/>
												 <key>VolumeInputAmp</key>
												 <false/>
											 </dict>
											 <key>NodeID</key>
											 <integer>16</integer>
											 <key>Verf</key>
											 <integer>80</integer>
										 </dict>
									 </array>
								 </array>
							 </array>
						 </array>
						 <key>PathMapID</key>
						 <integer>9</integer>
					 </dict>
				 </array>
			 </dict>
		 </dict>

codec_dump_dec.txt

codec_dump_hex.txt

cx20585_dec.txt.pdf

cx20585_hex.txt.pdf

Link to comment
Share on other sites

I'm a little confused! please help me understand!

 

In the How to read codecdump.rtf it says i have to look for this Nodes:

  • Input Node
  • Audio Selector
  • Mic In (Jack)

Thats in my case: 20 + 23 + 27

 

But in Tarugas AppleHDA guide.pdf it says i have to look for:

  • Input Node
  • Mixer Node
  • Mic In (jack)

Thasts in my case: 20 + 36 + 27

 

What is correct?

Link to comment
Share on other sites

  • 2 months later...

Ok i grabed my pinconfig btu not sure how to bit flip it if any one could please help me

 

If i get this working i plan to pass this on for others with my laptop so that they may be saved the pain in the arss this has been

 

ALC269 Lion GM Asus g73sw

 

My card is listing in the audio section of sys profiler but just dont have any outputs under sound

 

Any help is uber apricated

 

Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0001\PinConfigOverrideVerbs]

"0000"=hex:f0,1c,27,01

"0001"=hex:11,1d,27,01

"0002"=hex:11,1e,27,01

"0003"=hex:41,1f,27,01

"0004"=hex:10,1c,47,01

"0005"=hex:01,1d,47,01

"0006"=hex:13,1e,47,01

"0007"=hex:99,1f,47,01

"0008"=hex:20,1c,77,01

"0009"=hex:01,1d,77,01

"0010"=hex:13,1e,77,01

"0011"=hex:99,1f,77,01

"0012"=hex:40,1c,87,01

"0013"=hex:98,1d,87,01

"0014"=hex:a1,1e,87,01

"0015"=hex:01,1f,87,01

"0016"=hex:4f,1c,97,01

"0017"=hex:09,1d,97,01

"0018"=hex:a3,1e,97,01

"0019"=hex:99,1f,97,01

"0020"=hex:f0,1c,a7,01

"0021"=hex:11,1d,a7,01

"0022"=hex:11,1e,a7,01

"0023"=hex:41,1f,a7,01

"0024"=hex:f0,1c,b7,01

"0025"=hex:11,1d,b7,01

"0026"=hex:11,1e,b7,01

"0027"=hex:41,1f,b7,01

"0028"=hex:2d,1c,d7,01

"0029"=hex:9a,1d,d7,01

"0030"=hex:07,1e,d7,01

"0031"=hex:40,1f,d7,01

"0032"=hex:30,1c,e7,01

"0033"=hex:01,1d,e7,01

"0034"=hex:43,1e,e7,01

"0035"=hex:99,1f,e7,01

"0036"=hex:1f,1c,17,02

"0037"=hex:40,1d,17,02

"0038"=hex:21,1e,17,02

"0039"=hex:01,1f,17,02

"NumVerbs"=hex:28,00,00,00

Link to comment
Share on other sites

Ok i grabed my pinconfig btu not sure how to bit flip it if any one could please help me

 

If i get this working i plan to pass this on for others with my laptop so that they may be saved the pain in the arss this has been

 

ALC269 Lion GM Asus g73sw

 

My card is listing in the audio section of sys profiler but just dont have any outputs under sound

 

Any help is uber apricated

 

Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0001\PinConfigOverrideVerbs]

"0000"=hex:f0,1c,27,01

"0001"=hex:11,1d,27,01

"0002"=hex:11,1e,27,01

"0003"=hex:41,1f,27,01

"0004"=hex:10,1c,47,01

"0005"=hex:01,1d,47,01

"0006"=hex:13,1e,47,01

"0007"=hex:99,1f,47,01

"0008"=hex:20,1c,77,01

"0009"=hex:01,1d,77,01

"0010"=hex:13,1e,77,01

"0011"=hex:99,1f,77,01

"0012"=hex:40,1c,87,01

"0013"=hex:98,1d,87,01

"0014"=hex:a1,1e,87,01

"0015"=hex:01,1f,87,01

"0016"=hex:4f,1c,97,01

"0017"=hex:09,1d,97,01

"0018"=hex:a3,1e,97,01

"0019"=hex:99,1f,97,01

"0020"=hex:f0,1c,a7,01

"0021"=hex:11,1d,a7,01

"0022"=hex:11,1e,a7,01

"0023"=hex:41,1f,a7,01

"0024"=hex:f0,1c,b7,01

"0025"=hex:11,1d,b7,01

"0026"=hex:11,1e,b7,01

"0027"=hex:41,1f,b7,01

"0028"=hex:2d,1c,d7,01

"0029"=hex:9a,1d,d7,01

"0030"=hex:07,1e,d7,01

"0031"=hex:40,1f,d7,01

"0032"=hex:30,1c,e7,01

"0033"=hex:01,1d,e7,01

"0034"=hex:43,1e,e7,01

"0035"=hex:99,1f,e7,01

"0036"=hex:1f,1c,17,02

"0037"=hex:40,1d,17,02

"0038"=hex:21,1e,17,02

"0039"=hex:01,1f,17,02

"NumVerbs"=hex:28,00,00,00

 

This is actualy Byte reversal This is how to do the math ... thanks Spider1! Hope this explains it for you guys!

 

 

Ok here are the values from the first post for Vista for the first 2 lines:

1f1ca700

401da700

 

Here are the converted numbers:

00a71c1f

00a71d40

 

So if you take the first number

1f 1c a7 00

00 a7 1c 1f

 

Second numbers

40 1d a7 00

00 a7 1d 40

 

So the matrix is:

1 2 3 4

1f 1c a7 00

 

4 3 2 1

00 a7 1c 1f

Link to comment
Share on other sites

  • 1 year later...

I'm having a heck of a time just finding out what my ALC898 codec is. It's not one of the five listed in codecs.rtf (in AppleHDA binary) nor is it listed in patch_realtek.c.txt. The Google is not working for me either. Opening AppleHDA in HexEdit had me screaming like a little girl. Can anyone post the ALC898 codec, or give me clear instructions for how to find it?

Link to comment
Share on other sites

 Share

×
×
  • Create New...