Here I am posting a 10.5.5 kext testing pack. We need as many people as possible to test different parameters until we find a working pattern. This is a significant landmark, because this kext properly loads the Internal Speakers/Headphones devices, as well recognizing both the Internal and External microphones and distinguishing them apart by proper text labels (Previous kexts listed two Internal microphones instead).
Where we are
This kext file is a direct patch of the 10.5.5 AppleHDA.kext. It has been patched to load ALC269 on the ipis with three binary patches:
Replacing 0x6202ec10 with 0x6902ec10 (x2) and a single byte patch of 0x20 to 0x21.
The AppleHDAController plist file, together with the HDAEnabler.kext, have been changed to load the pin configurations we got from Windows Vista, and points towards using Layout 12, Pathmap 16 in the AppleHDAPlatformDriver plist.
The Pathmap has been arranged in a 1,1,2 setup with Mic, Mic, Group (Int Speakers & Headphones) with the nodes as described in the wiki.
The Layout is pretty much blank. It lists the 4 audio devices, and the input/output groupings, with no other parameters defined. This is where we need help.
Also in the archive: the stock plist from a 10.5.5 AppleHDAPlatformDriver.kext, and alias/shortcuts have been setup to take you straight to the Contents folder and to directly edit the Controller and PlatformDriver plists.
Things you need
The AppleHDA.kext testing pack (zip file)
Property List Editor and/or a good text editor (TextWrangler is a good choice)
What to do
First, you need to remove any previous audio testing files that you may have been playing with, including AppleAzaliaAudio.kext, AppleHDA.kext, ALCinject.kext, and HDAEnabler.kext. Note that HDAEnabler is already provided in this AppleHDA.kext bundle, and no longer needs to be a separate kext.
Next install the provided AppleHDA.kext and reboot. You will see the new devices in System Preferences, and you can put the speaker icon in the menu bar.
Pull up the console and filter the messages to see only those that mention HDA. You will see a series of messages from missing configurations. This is where community effort comes into play.
Use the stock PlatformDriver plist as a reference, and copy configuration values from similar items in stock layouts to the items in our layout. I suggest you do this one value at a time, hence the need for a community effort. Copy a value from a stock Mic item into its corresponding position on our kext, and save the file. Install and reboot.
On reboot, open the console again and take notes on how the error messages changed. Note what you changed and the results, then post them here.
Warning: if you make a bad change, your boot will stall at a blue screen. This is because if the change is not correct, the ACPI service can't load the correct device identifier. Do not panic, leave for a while (can take 5 to 10 minutes) and you will be allowed to login. Be sure to take note of the error messages again. Common culprits that I have found are MuteGPIO and SignalProcessing keys. However, we can't avoid those keys, they are the critical ones we need. So what we are doing is both a community brute-force-trial-and-error effort as well as an effort to perhaps intelligently derive the pattern for correct keys. Clues to the correct values can often be found by scanning over the Intel HD Audio Specification; download the pdf from the Intel website.
Reporting back to the forum with your findings is critical
Repeat until a working configuration is found.