Micky1979 Posted October 19, 2012 Share Posted October 19, 2012 10.7.x, 10.8.x AppleHDA.kext codec IDT 92HD91BXX, 92HD81B1X5 and 92HD87B2/4 specified for HP DV 6xxx, DV 7xxx and ProBook 45xx IDT 92HD91BXX = 111d:76e0IDT 92HD81B1X5 = 111d:7605IDT 92HD87B2/4 = 111d76d9 by zoltankr IDT 92HD87B1/3 = 111d76d1 by TheEnthusiast IDT 92HD87XX = 111d76dF by TUX FIRE I admit I've created this kext for *native audio on Laptop HP DV6/7 6000 and the new 7000 series, but below there are minimal instructions of how to change the pinconfig, if you need to adapt it to other configurations.Credits for this work to the respective topic that I followed:bcc9THe KiNG Signal 64, and Munkyages_sabres18Samantha (R.I.P)Andy VandijckMaster ChiefIntel® HD Audio* Of course, the "native" is a kext that works without modification on your hardware, but call it for convenience, mostly because we can work with the same kext version of the Os (no more Roll Back)! 12 Link to comment Share on other sites More sharing options...
Micky1979 Posted October 20, 2012 Author Share Posted October 20, 2012 Stuff needed: - Ubuntu live cd - Codec_Dump (made by you ) - patch_hda (thanks bcc9 for adding 111d76e0 codec) - graphviz (download according to your osx version) - codecgraph-20120114.tar (see for update version, and rename it to "codecgraph" for convenience) - convert_hex_to_dec.rb.zip - verbit.zip - Plist Editor (search for free on Google) - zlib.pl.zip by Samantha - layout12.xml.zlib and Platforms.xml.zlib (You can take in AppleHDA.kext, and edit it) all rights to their respective creators, as in the above Topic 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted October 20, 2012 Author Share Posted October 20, 2012 Find a codec id: Simply, If you have done the codec dump with Ubuntu, find into it... written in Hex. In Windows, go to "Device Manager" and look for "Sound, Video and game" Under, choice "codec" (not the controller) and see for hardware vendor ID in the tab. something like this: Now you know your codec audio! Mine is vendor ID/111d (IDT) Product ID/76e0 (codec id product ) complete=111d76e0 Usage of codec id: the codec id is repeatedly used in several places in AppleHDA.kext, but in different ways like Hex byte flipped and decimal Normal Hex__________11 1d 76 e0 decimal_____________287143648 Hex byte flipped_______e0 76 1d 11 easy do the conversion with Calculator.app included in Osx 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted October 20, 2012 Author Share Posted October 20, 2012 AppleHDA structure: kext, is a package container, if you change or remove extension, he becomes a folder. To display the contents, click with the right mouse button and then "show package contents", or as mentioned above. structure is as follows: Contents: AppleHDA.kext: Contents ./Contents: Info.plist PlugIns _CodeSignature MacOS Resources version.plist ./Contents/MacOS: AppleHDA ./Contents/PlugIns: AppleHDAController.kext AppleMikeyDriver.kext AppleHDAHALPlugIn.bundle DspFuncLib.kext AppleHDAHardwareConfigDriver.kext IOHDAFamily.kext ./Contents/PlugIns/AppleHDAController.kext: Contents ./Contents/PlugIns/AppleHDAController.kext/Contents: Info.plist MacOS _CodeSignature version.plist ./Contents/PlugIns/AppleHDAController.kext/Contents/MacOS: AppleHDAController ./Contents/PlugIns/AppleHDAController.kext/Contents/_CodeSignature: CodeDirectory CodeResources CodeRequirements CodeSignature ./Contents/PlugIns/AppleHDAHALPlugIn.bundle: Contents ./Contents/PlugIns/AppleHDAHALPlugIn.bundle/Contents: Info.plist MacOS _CodeSignature version.plist ./Contents/PlugIns/AppleHDAHALPlugIn.bundle/Contents/MacOS: AppleHDAHALPlugIn ./Contents/PlugIns/AppleHDAHALPlugIn.bundle/Contents/_CodeSignature: CodeResources ./Contents/PlugIns/AppleHDAHardwareConfigDriver.kext: Contents ./Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents: Info.plist MacOS _CodeSignature version.plist ./Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/MacOS: AppleHDAHardwareConfigDriver ./Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/_CodeSignature: CodeDirectory CodeResources CodeRequirements CodeSignature ./Contents/PlugIns/AppleMikeyDriver.kext: Contents ./Contents/PlugIns/AppleMikeyDriver.kext/Contents: Info.plist MacOS _CodeSignature version.plist ./Contents/PlugIns/AppleMikeyDriver.kext/Contents/MacOS: AppleMikeyDriver ./Contents/PlugIns/AppleMikeyDriver.kext/Contents/_CodeSignature: CodeDirectory CodeResources CodeRequirements CodeSignature ./Contents/PlugIns/DspFuncLib.kext: Contents ./Contents/PlugIns/DspFuncLib.kext/Contents: Info.plist MacOS _CodeSignature version.plist ./Contents/PlugIns/DspFuncLib.kext/Contents/MacOS: DspFuncLib ./Contents/PlugIns/DspFuncLib.kext/Contents/_CodeSignature: CodeDirectory CodeResources CodeRequirements CodeSignature ./Contents/PlugIns/IOHDAFamily.kext: Contents ./Contents/PlugIns/IOHDAFamily.kext/Contents: Info.plist MacOS _CodeSignature version.plist ./Contents/PlugIns/IOHDAFamily.kext/Contents/MacOS: IOHDAFamily ./Contents/PlugIns/IOHDAFamily.kext/Contents/_CodeSignature: CodeDirectory CodeResources CodeRequirements CodeSignature ./Contents/Resources: Dutch.lproj layout29.xml.zlib layout75.xml.zlib English.lproj layout3.xml.zlib layout76.xml.zlib French.lproj layout31.xml.zlib layout77.xml.zlib German.lproj layout32.xml.zlib layout78.xml.zlib Italian.lproj layout33.xml.zlib layout79.xml.zlib Japanese.lproj layout35.xml.zlib layout80.xml.zlib Platforms.xml.zlib layout36.xml.zlib layout81.xml.zlib Spanish.lproj layout38.xml.zlib layout82.xml.zlib ar.lproj layout39.xml.zlib layout83.xml.zlib ca.lproj layout4.xml.zlib l ayout84.xml.zlib cs.lproj layout40.xml.zlib layout85.xml.zlib da.lproj layout42.xml.zlib layout86.xml.zlib el.lproj layout44.xml.zlib layout88.xml.zlib fi.lproj layout46.xml.zlib layout9.xml.zlib he.lproj layout48.xml.zlib layout90.xml.zlib hr.lproj layout5.xml.zlib layout91.xml.zlib hu.lproj layout50.xml.zlib layout92.xml.zlib ko.lproj layout53.xml.zlib layout95.xml.zlib layout0.xml.zlib layout56.xml.zlib layout98.xml.zlib layout1.xml.zlib layout58.xml.zlib layout99.xml.zlib layout10.xml.zlib layout59.xml.zlib no.lproj layout11.xml.zlib layout60.xml.zlib pl.lproj layout12.xml.zlib layout61.xml.zlib pt.lproj layout13.xml.zlib layout62.xml.zlib pt_PT.lproj layout16392.xml.zlib layout63.xml.zlib ro.lproj layout16394.xml.zlib layout64.xml.zlib ru.lproj layout17.xml.zlib layout65.xml.zlib sk.lproj layout18.xml.zlib layout66.xml.zlib sv.lproj layout19.xml.zlib layout67.xml.zlib th.lproj layout2.xml.zlib layout69.xml.zlib tr.lproj layout20.xml.zlib layout70.xml.zlib uk.lproj layout21.xml.zlib layout71.xml.zlib zh_CN.lproj layout24.xml.zlib layout72.xml.zlib zh_TW.lproj layout27.xml.zlib layout73.xml.zlib layout28.xml.zlib layout74.xml.zlib ./Contents/Resources/Dutch.lproj: Localizable.strings ./Contents/Resources/English.lproj: Localizable.strings ./Contents/Resources/French.lproj: Localizable.strings ./Contents/Resources/German.lproj: Localizable.strings ./Contents/Resources/Italian.lproj: Localizable.strings ./Contents/Resources/Japanese.lproj: Localizable.strings ./Contents/Resources/Spanish.lproj: Localizable.strings ./Contents/Resources/ar.lproj: Localizable.strings ./Contents/Resources/ca.lproj: Localizable.strings ./Contents/Resources/cs.lproj: Localizable.strings ./Contents/Resources/da.lproj: Localizable.strings ./Contents/Resources/el.lproj: Localizable.strings ./Contents/Resources/fi.lproj: Localizable.strings ./Contents/Resources/he.lproj: Localizable.strings ./Contents/Resources/hr.lproj: Localizable.strings ./Contents/Resources/hu.lproj: Localizable.strings ./Contents/Resources/ko.lproj: Localizable.strings ./Contents/Resources/no.lproj: Localizable.strings ./Contents/Resources/pl.lproj: Localizable.strings ./Contents/Resources/pt.lproj: Localizable.strings ./Contents/Resources/pt_PT.lproj: Localizable.strings ./Contents/Resources/ro.lproj: Localizable.strings ./Contents/Resources/ru.lproj: Localizable.strings ./Contents/Resources/sk.lproj: Localizable.strings ./Contents/Resources/sv.lproj: Localizable.strings ./Contents/Resources/th.lproj: Localizable.strings ./Contents/Resources/tr.lproj: Localizable.strings ./Contents/Resources/uk.lproj: Localizable.strings ./Contents/Resources/zh_CN.lproj: Localizable.strings ./Contents/Resources/zh_TW.lproj: Localizable.strings ./Contents/_CodeSignature: CodeDirectory CodeResources CodeRequirementsCodeSignature Marked in red color our Target files!! Targhet files: AppleHDA.kext/Contents/MacOS/AppleHDA AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist AppleHDA.kext/Contents/Resources/layout12.xml.zlib AppleHDA.kext/Contents/Resources/Platforms.xml.zlib Link to comment Share on other sites More sharing options...
Micky1979 Posted October 20, 2012 Author Share Posted October 20, 2012 Discover our pinconfig OK, now we have everything we need, so let's start: Boot with Ubuntu, and seek the Terminal and give these commands: sudo -s then cat /proc/asound/card0/codec#1 > ~/Desktop/codec_dump.txt if it does not work, you probably need to have to get the codec "0", as follows: cat /proc/asound/card0/codec#0 > ~/Desktop/codec_dump.txt (This happens if your codec is not 1 but is 0, otherwise it is not found, and generates an empty codec_dump.txt, so check it out!) On the Ubuntu desktop you will find the codec_dump.txt, save on a USB Stick or send it to you by email.... if Ubuntu is attached to your network! Let's go back in OSX, and put the folder "codecgraph" on the desktop and copy into these things: - codec_dump.txt - convert_hex_to_dec.rb - verbit Now install graphviz.pkg (which you have previously chosen for your OS) Reopen Terminal.app, and now take possession of the folder "codecgraph", first decompressed/renamed and placed on the desktop: (you can copy/paste the blu lines) cd ~/Desktop/codecgraph then ./codecgraph codec_dump.txt then chmod +x ./convert_hex_to_dec.rb then ./convert_hex_to_dec.rb codec_dump.txt > ~/Desktop/codecgraph/codec_dump_dec.txt then ./convert_hex_to_dec.rb codec_dump.txt.svg > ~/Desktop/codecgraph/codec_dump_dec.txt.svg then *(wait trouble!!!....plese check this first) ./verbit codec_dump.txt > verbs.txt Note * open codec_dump.txt (into codecgraph folder), and if you find on the first three lines this invalid like "AFG Function Id: 0x1 (unsol 1)", please delete, verbit else fails!! Well, now we have the necessary, take the generated files and set aside: - codec_dump.txt //original codec dump from Linux in Hex - codec_dump_dec.txt //codec dump from Linux in decimal, this will be useful for Platforms.xml - codec_dump.txt.svg //Graphical rappresentation in Hex - codec_dump_dec.txt.svg //Graphical rappresentation in decimal, this will be useful for Platforms.xml - verbitdebug.txt //debugging the verbs.... see what verbit has changed - verbs.txt //fixed verbs, here we will find our fixed pinconfig text files and graphics svg files are now "human readable", in Hex and decimal, this will help us to compile layoutXX.xml and Platforms.xml..... Credit @THe KiNG, Signal64 and Munky Link to comment Share on other sites More sharing options...
Micky1979 Posted October 21, 2012 Author Share Posted October 21, 2012 verbs? what's that? look the explanation on http://www.projectos...wtopic=465&st=0 "Verb Data" are part of pinconfig: pinconfig is the means by which the audio codec tells our Intel controller, uniquely, the presence of the inputs and outputs audio, whether headphones, speakers, microphones etc.. To do this they must be arranged according to specific of Intel Higth Definition Audio. If desired, the Pinconfig, can also be extracted from Windows in this way: open regedit.exe, and then open the search-box from the menu "Edit=>Find" and type "pinconfig"... well found the key "PinConfigOverrideVerbs", now we can extract it from "File => Export" save as "pinconfig.reg" thanks to @simconti for the photos opening the file .reg in Osx looks like this: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\PinConfigOverrideVerbs] "0000"=hex:20,1c,a7,00 "0001"=hex:10,1d,a7,00 "0002"=hex:a1,1e,a7,00 "0003"=hex:04,1f,a7,00 "0004"=hex:1f,1c,b7,00 "0005"=hex:10,1d,b7,00 "0006"=hex:21,1e,b7,00 "0007"=hex:04,1f,b7,00 "0008"=hex:f0,1c,c7,00 "0009"=hex:00,1d,c7,00 "0010"=hex:f0,1e,c7,00 "0011"=hex:40,1f,c7,00 "0012"=hex:10,1c,d7,00 "0013"=hex:01,1d,d7,00 "0014"=hex:17,1e,d7,00 "0015"=hex:92,1f,d7,00 "0016"=hex:f0,1c,e7,00 "0017"=hex:00,1d,e7,00 "0018"=hex:f0,1e,e7,00 "0019"=hex:40,1f,e7,00 "0020"=hex:f0,1c,f7,00 "0021"=hex:00,1d,f7,00 "0022"=hex:f0,1e,f7,00 "0023"=hex:40,1f,f7,00 "0024"=hex:f0,1c,07,01 "0025"=hex:00,1d,07,01 "0026"=hex:f0,1e,07,01 "0027"=hex:40,1f,07,01 "0028"=hex:30,1c,17,01 "0029"=hex:01,1d,17,01 "0030"=hex:a3,1e,17,01 "0031"=hex:d5,1f,17,01 "0032"=hex:f0,1c,f7,01 "0033"=hex:00,1d,f7,01 "0034"=hex:f0,1e,f7,01 "0035"=hex:40,1f,f7,01 "0036"=hex:f0,1c,07,02 "0037"=hex:00,1d,07,02 "0038"=hex:f0,1e,07,02 "0039"=hex:40,1f,07,02 "NumVerbs"=hex:28,00,00,00 in practice Windows uses the value inverted, so now they have to be converted in this way: 20,1c,a7,00 must be 00a71c20 so for all verbs. To save time, select all the verbs from the log file in Windows, and copy/paste here: http://www.ipwn.me/HDA/ the result now looks like: 00A71C20 00A71D10 00A71EA1 00A71F04 00B71C1F 00B71D10 00B71E21 00B71F04 00C71CF0 00C71D00 00C71EF0 00C71F40 00D71C10 00D71D01 00D71E17 00D71F92 00E71CF0 00E71D00 00E71EF0 00E71F40 00F71CF0 00F71D00 00F71EF0 00F71F40 01071CF0 01071D00 01071EF0 01071F40 01171C30 01171D01 01171EA3 01171FD5 01F71CF0 01F71D00 01F71EF0 01F71F40 02071CF0 02071D00 02071EF0 02071F40 But, the pinconfig just converted is the same you can find in "verbit.txt" in its original condition, except that you now need to interpret and modify: Custom pinconfig pratically in verb.txt you can find the work already done and fixed, according to what is actually used by our codec, and how it should be used by Osx. See the difference between the original and fixed verbs: Verbs from Linux Codec Dump File: codec_dump.txt Codec: IDT 92HD91BXX Address: 0 DevID: 287143648 (0x111d76e0) Jack Color Description Node PinDefault Original Verbs -------------------------------------------------------------------------------------------------------- Mic at Ext Right 0x0a 0x0a 77664288 00a71c20 00a71d10 00a71ea1 00a71f04 1/8 Black HP Out at Ext Right 11 0x0b 0x0421101f 00b71c1f 00b71d10 00b71e21 00b71f04 Unknown Unknown Other at Ext N/A 12 0x0c 0x40f000f0 00c71cf0 00c71d00 00c71ef0 00c71f40 Analog Unknown Speaker at Int Front 13 0x0d 0x92170110 00d71c10 00d71d01 00d71e17 00d71f92 Unknown Unknown Other at Ext N/A 14 0x0e 0x40f000f0 00e71cf0 00e71d00 00e71ef0 00e71f40 Unknown Unknown Other at Ext N/A 15 0x0f 0x40f000f0 00f71cf0 00f71d00 00f71ef0 00f71f40 Unknown Unknown Other at Ext N/A 16 0x10 0x40f000f0 01071cf0 01071d00 01071ef0 01071f40 ATAPI Unknown Mic at Int Top 17 0x11 0xd5a30130 01171c30 01171d01 01171ea3 01171fd5 Unknown Unknown Other at Ext N/A 31 0x1f 0x40f000f0 01f71cf0 01f71d00 01f71ef0 01f71f40 Unknown Unknown Other at Ext N/A 32 0x20 0x40f000f0 02071cf0 02071d00 02071ef0 02071f40 -------------------------------------------------------------------------------------------------------- Jack Color Description Node PinDefault Modified Verbs -------------------------------------------------------------------------------------------------------- Mic at Ext Right 0x0a 0x0a 77664288 00a71c20 00a71d10 00a71ea1 00a71f00 1/8 Black HP Out at Ext Right 11 0x0b 0x0421101f 00b71c10 00b71d10 00b71e21 00b71f00 Unknown Unknown Other at Ext N/A 12 0x0c 0x40f000f0 00c71cf0 00c71d00 00c71ef0 00c71f40 Analog Unknown Speaker at Int Front 13 0x0d 0x92170110 00d71c40 00d71d00 00d71e17 00d71f91 Unknown Unknown Other at Ext N/A 14 0x0e 0x40f000f0 00e71c50 00e71d00 00e71ef0 00e71f40 Unknown Unknown Other at Ext N/A 15 0x0f 0x40f000f0 00f71c60 00f71d00 00f71ef0 00f71f40 Unknown Unknown Other at Ext N/A 16 0x10 0x40f000f0 01071c70 01071d00 01071ef0 01071f40 ATAPI Unknown Mic at Int Top 17 0x11 0xd5a30130 01171c30 01171d00 01171ea3 01171fd0 Unknown Unknown Other at Ext N/A 31 0x1f 0x40f000f0 01f71c80 01f71d00 01f71ef0 01f71f40 Unknown Unknown Other at Ext N/A 32 0x20 0x40f000f0 02071c90 02071d00 02071ef0 02071f40 Better using verbit!!!! However, for educational purposes, here the representation of a verb: 00a71c20 0 = Connection Port 0 = Address a = Default Device 7 = Connection type 1 = Port Colour (unknown in my laptop, because no color exist) c = other function 2 = Default Association 0 = Sequence Credit @THe KiNG, Signal64 and Munky, Master Chief See the speaker at Node 13 111d76e0 example Legend of symbols: 4 Link to comment Share on other sites More sharing options...
Micky1979 Posted October 22, 2012 Author Share Posted October 22, 2012 Kext patching: AppleHDA.kext/Contents/MacOS/AppleHDA Patching the binary with bcc9' script Open the folder "patch-hda" and again click "patch-hda" the terminal will pop up asking for our codec, showing an example of what we write (codec in Hex or name), then go ahead and ask us our password, we give! Last login: Tue Oct 30 14:08:36 on ttys000 localhost:~ micky1979$ /Users/micky1979/Desktop/patch-hda/patch-hda ; exit; Codec-id or codec-name to patch (eg 111d7675 or IDT 7675)? Once finished, recommend taking AppleHDA.kext, just modified and copy it to the desktop for convenience, to continue with the other patch! Credit to @bcc9 AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist Ok, find an array, and delete all other (not really necessary, just to have only one), and edit with our data, which are: - our codec ID in decimal - Our pinconfig (ConfigData) - FuncGrup set to 1 (as we shall see later, in the same xml files) - LayoutID set to 12 (you can have a different, but must comply with xml files, and dsdt): example with codec ITD 111d76e0 = 287143648, then change to 287143429 for IDT 111d7605, also the pinconfig Layout12.xml and Platforms.xlm (zlib) AppleHDA.kext/Contents/Resources/layout12.xml.zlib I state that the files I'm talking about, they contain a lot of information that I do not speak, simply because I do not have full knowledge, but that does not stop me from having the sound on my speakers. Only trust you now have some insight on what to do. In Snow Leopard, these two files are located within a single plist, by Lion onwards are divided into two distinct files, and are placed at this path: AppleHDA.kext/Contents/Resources the difference between Lion and Moutain Lion, is that in 10.8 are zlib compressed, for which the method of patching these files is almost identical, with the only difference that in Lion files are decompressed (Layoutxx.xml and Platforms.xlm), while in Mountain Lion are compressed (Layoutxx.xml.zlib and Platforms.xml . zlib)....so if you have a working 10.7 AppleHDA.kext, most likely you can recover these files, compress it and use them to Mountain Lion! From this, then comes the need to decompress these files in Mountain Lion, and thanks to the script "zlib.pl" by Samantha, we are able to compress and decompress those files. Decompress/Compress These the instructions for zlib.pl: place the zlib.pl script into AppleHDA.kext/Contents/Resources for convenience (we can leave here throughout the course of all our test). Now open the Terminal.app and write cd (followed by a space) then drag the Resource folder into the Terminal window, like this: Last login: Fri Oct 26 17:18:47 on ttys000 localhost:~ micky1979$ cd /Users/micky1979/Desktop/AppleHDA.kext/Contents/Resources localhost:Resources micky1979$ layoutxx: decompress perl zlib.pl inflate layout12.xml.zlib > layout12.xml compress perl zlib.pl deflate layout12.xml > layout12.xml.zlib Platforms: decompress perl zlib.pl inflate Platforms.xml.zlib > Platforms.xml compress perl zlib.pl deflate Platforms.xml > Platforms.xml.zlib Credit to: Samantha AKA Revogirl Layout12.xml Layoutxx files, seems to be an inventory of audio inputs and outputs, we declare that we have, and how they are arranged. Platforms.xml obviously, there are the paths of the nodes, for all that we have in the Layout12.xml. Failure to comply with what you wrote in one, generates assertions (will not be only reason). Example of names: Mic=Internal microphone ExtMic=External microphone IntSpeaker=Internal Speaker Headphone=Headphone LineIn=input line etc... You can use the names you think? IMHO No! I'm sure this has to get along with our pin config, where we have already stated what type of inputs and outputs have. That said, we can do differently: if "ExtMic" do not like for external mic, you can get him as "LineIn", but now you have to change the "Default Association" around the node that want to modify in pinconfig. 00a71c20 0 = Connection Port 0 = Address a = Default Device 7 = Connection type 1 = Port Colour c = other function 2 = Default Association 0 = Sequence In help to do this, @Andy Vandijck has created a tool to check well the changes we make to our pinconfig (just put it in a file as plain text to debug it): AnalyseVerbs Platforms.xml AppleHDA.kext/Contents/Resources/Platforms.xml.zlib Looking at the graph above, we have to decide how to build/modify our Platforms.xml. How to do it? I think first you need the PinComplex we are interested in, such as headphones, microphone and speaker, and then see which path to follow: the Pathmaps so I have to bring to work Node 11 (Headphones), Node 17 (Microphone) and Node 13 ( Internal Speaker (in 111d76e0 codec)), all in decimal, this is also according with verbs.txt. So now to clean up the plist, and we take what we do not need (optional), and we set the "PathMapID" as in Layout12.xml, ie 1 oops...missing external port for microphone........I do not have an external microphone to be tested,....... I never do Karaoke! (No one will stop you if you want to add it...22-24-10) Fortunately for Speaker and headphone, no audio mixer or selector in the middle... direct, but there may be in other configurations. As already mentioned "how to edit AppleHDA.kext" is very similar for both 10.7 and 10.8, so now you can use the Layout12.xml and Platforms.xml "as they are" for Lion, or compress in zlib for Mountain Lion! DSDT Editing: is required, in order to activate AppleHDA in a Hackintosh, the addition of the layout-id into the DSDT.aml. In practice, if we decided to use the layout12.xml, the layout-id must match the dsdt written in Hex: 12 in decimal = C in Hex in DSDT should be 0x0C 0x00 0x00 0x00 if you want to call your file layout885.xml: 885 in decimal = 375 in the DSDT must be 0x75 0x03 0x00 0x00 in Hex bytes flipped "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, example of complete section in my case: Device (HDEF) { Name (_ADR, 0x001B0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x0A) { "built-in", Buffer (One) { 0x01 }, "device-type", Buffer (0x0F) { "IDT 92HD91BXX" }, "hda-gfx", Buffer (0x0A) { "onboard-1" }, "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Course is required as a global method DTGP (most likely you will already have put, to use other patches), and then you have to insert the patch under your Audio device. Enclosed, is a small example (AUDIO.dsl), from where you can copy the patch and put it on vs dsdt. Obviously this is an example, and must be deepened, if you have HDMI audio to other audio devices, as often happens on NVIDIA cards (HDAU section), but try this on your own. AUDIO.dsl.zip Link to comment Share on other sites More sharing options...
Micky1979 Posted October 31, 2012 Author Share Posted October 31, 2012 Download kit with internal speaker, internal microphone and headphone. Sorry, no complete AppleHDA.kext here, only. xml files and pinconfig! It makes no sense, especially since AppleUpdate seem to get frequent, then have fun with the patches! I apologize if everything is not perfect, and if I said the wrong things, but we are here to discuss... if anyone gets better results, I'd be happy to hang here the work of others (as long as they tried). Micky DV6:7 6XXX.zip codec 111d 7605 DV6:7 7XXX.zip codec 111d 760e0 Kit IDT 111d76d9.zip for HP Probook Ivy Bridge by zoltankr Link to comment Share on other sites More sharing options...
plsh2me Posted November 2, 2012 Share Posted November 2, 2012 Thank you for your nice post. Trying to do it my self now . I am stuck on decompress command of layout12. Otherhands platform decompress command seems ok. Link to comment Share on other sites More sharing options...
Micky1979 Posted November 2, 2012 Author Share Posted November 2, 2012 user palash? Now I remember you in another place .... the problem I'm not sure I understand: "Can not create a inflation stream", ......the script, seems to invoke the zlib library ....... You are in Mountain Lion? For me it's all right trying the script. Have you tried the latest AppleHDA which I had posted on the other topic? Micky Link to comment Share on other sites More sharing options...
plsh2me Posted November 3, 2012 Share Posted November 3, 2012 user palash? Now I remember you in another place .... the problem I'm not sure I understand: "Can not create a inflation stream", ......the script, seems to invoke the zlib library ....... You are in Mountain Lion? For me it's all right trying the script. Have you tried the latest AppleHDA which I had posted on the other topic? Micky Yes... You remember me? Using mountain lion 10.8.2. Somehow, I am looking for a solution of IDT. able to patch graphics kexts - http://www.insanelym...n/#entry1862310 . Changed wifi . All device working nice except audio. Waited long time for a proper guide to patch IDT. Hope will find a solution & you people let me this . N.B.-Tested your both kexts,output ok input not working . Don't know what's going wrong. Link to comment Share on other sites More sharing options...
Micky1979 Posted November 4, 2012 Author Share Posted November 4, 2012 Yes... You remember me? Using mountain lion 10.8.2. Somehow, I am looking for a solution of IDT. able to patch graphics kexts - http://www.insanelym...n/#entry1862310 . Changed wifi . All device working nice except audio. Waited long time for a proper guide to patch IDT. Hope will find a solution & you people let me this . N.B.-Tested your both kexts not working . Don't know what's going wrong. Then, ... same codecs operate differently in different Pc. This seems to be normal, because, for example, IDT provides a product to manufacturers of motherboards, with different options in Laptop and Desktop. Your audio work, with pinconfig of my old Pavilion DV7-6190sl that has a pinconfig certainly different from yours (HDA with your not working), which therefore have different nodes for some things. My advice is to make the pin config manually, following the guidance of Master Chief (see the 1st post). In this case, you can decide what to do and decide which verbs, what they are, how they are recognized and what are associated etc. From what I understand the problem is on your microphone, so you can work around this and keep what works for you. Micky Micky Link to comment Share on other sites More sharing options...
plsh2me Posted November 5, 2012 Share Posted November 5, 2012 Finally its time to give up , caz don't have more options left before me. 1st: Prepared pinconfig from win.7, verbs are same as previous verbs from linux codec_dump, added pincinfig data on your AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/info.plist Got sound working ... and changed pathmap of int.mic as follows - 22>24>12 :Result-device found, no input. - 21>23>12:Result-device found, no input. tried ext.mic as follows - 22>24>10 :Result-device not found. - 21>23>10:Result-device not found. 2nd: As from OS X 10.8.2 can't decompress layout12, so back to OS X 10.7.5 for searching progress. And got such(on pic) errors. Seems it is more difficult than patch graphics kexts for me . Anyway if you got something for me, please feel free . Thank you. Link to comment Share on other sites More sharing options...
Micky1979 Posted November 5, 2012 Author Share Posted November 5, 2012 Finally its time to give up , caz don't have more options left before me. 1st: Prepared pinconfig from win.7, verbs are same as previous verbs from linux codec_dump, added pincinfig data on your AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/info.plist Got sound working ... and changed pathmap of int.mic as follows - 22>24>12 :Result-device found, no input. - 21>23>12:Result-device found, no input. tried ext.mic as follows - 22>24>10 :Result-device not found. - 21>23>10:Result-device not found. 2nd: As from OS X 10.8.2 can't decompress layout12, so back to OS X 10.7.5 for searching progress. And got such(on pic) errors. Seems it is more difficult than patch graphics kexts for me . Anyway if you got something for me, please feel free . Thank you. I do not see very well, but your "IntMic" is the node 12, input Node is 23, I do not see what's just above on your photo .... 21 23 12 or 22 24 12 patched binary for your codec? you can take one of those that I posted on the topic (10.8.2 version) Micky EDIT Have you tried if it works after sleep? Link to comment Share on other sites More sharing options...
plsh2me Posted November 8, 2012 Share Posted November 8, 2012 My advice is to make the pin config manually, following the guidance of Master Chief (see the 1st post). In this case, you can decide what to do and decide which verbs, what they are, how they are recognized and what are associated etc. From what I understand the problem is on your microphone, so you can work around this and keep what works for you. Micky Micky patched binary for your codec? you can take one of those that I posted on the topic (10.8.2 version) Micky EDIT Have you tried if it works after sleep? To patch IDT i think you have presented a nice and easy method (including your quote). As your suggestion i have tried to make pin config manually as the guidance of Master Chief, Which is same as make from windows 7 and the verbs from command output of codec_dump. Take one patched HDA of yours (one of Lion's). And worked around this. Got audio working but no input/mic. Every time stuck on one stop. So guess in my case need some extra additional edit (don't know what ) . Thank you Palash Link to comment Share on other sites More sharing options...
Micky1979 Posted November 9, 2012 Author Share Posted November 9, 2012 To patch IDT i think you have presented a nice and easy method (including your quote). As your suggestion i have tried to make pin config manually as the guidance of Master Chief, Which is same as make from windows 7 and the verbs from command output of codec_dump. Take one patched HDA of yours (one of Lion's). And worked around this. Got audio working but no input/mic. Every time stuck on one stop. So guess in my case need some extra additional edit (don't know what ) . Thank you Palash Ok, but I'm encouraged to try to change ExtMic as LineIn (in Layout.xlm), to do this I think you should manually edit also the nodes around what is now ExtMic. if pinconfig says that this is a ExtMic, and you want to become LineIn, you must change verbs (Default Association), .......looks like he did here for example: http://www.insanelym...-inspiron-1464/ Micky Link to comment Share on other sites More sharing options...
TUX FIRE Posted November 9, 2012 Share Posted November 9, 2012 Thanks Mickey1979 for this tutorial too much clear for beginners Link to comment Share on other sites More sharing options...
plsh2me Posted November 9, 2012 Share Posted November 9, 2012 Ok, but I'm encouraged to try to change ExtMic as LineIn (in Layout.xlm), to do this I think you should manually edit also the nodes around what is now ExtMic. if pinconfig says that this is a ExtMic, and you want to become LineIn, you must change verbs (Default Association), .......looks like he did here for example: http://www.insanelym...-inspiron-1464/ Micky As i understand I tried to find out muteGPIO, in addition don't know to which have to change.What I have to put in replace of that (Checked without change verbs result same, no mic). Hope you can give me a solution of this ;D . After words if put the MuteGPIO values corresponding place (on pic.), is that ok? Thank you Palash Link to comment Share on other sites More sharing options...
Micky1979 Posted November 9, 2012 Author Share Posted November 9, 2012 Thanks Mickey1979 for this tutorial too much clear for beginners thanks Link to comment Share on other sites More sharing options...
Micky1979 Posted November 10, 2012 Author Share Posted November 10, 2012 As i understand I tried to find out muteGPIO, in addition don't know to which have to change.What I have to put in replace of that (Checked without change verbs result same, no mic). Hope you can give me a solution of this ;D . After words if put the MuteGPIO values corresponding place (on pic.), is that ok? Thank you Palash verbs may be as follows: 00a71c20 00a71d10 00a71e81 00a71f03 ??? muteGPIO? if you are using in Platforms 22 24 10 Pin complex ExtMic IN VREF_80, according to your codec_dump: 80 + 0100 + NID 10 in Hex: 50 + 0100 + 0a = 5001000a in decimal= muteGPIO 1342242826 ...seem Micky EDIT when/if "VREF _HIZ" is present MuteGPIO must be 0 Link to comment Share on other sites More sharing options...
plsh2me Posted November 10, 2012 Share Posted November 10, 2012 Ok... Thank you So, 00A71C(2)0 00A71D10 00A71EA1 00A71F00 convert to 00A71C20 00A71D10 00A71E81 00A71F03 00b71C10 00B71D10 00B71E21 00B71F03 00C71C30 00C71D01 00C71EA7 00C71F90 00D71C40 00D71D01 00D71E17 00D71F90 Do I have to add a new verb- 00C70C02 (where as 0x0C is int. speaker node) ? Layouts -> PathmapRef ExtMic MuteGPIO=1342242826 IntMic MuteGPIP=1342242828 Is that ok if I put the values on indicated places? Link to comment Share on other sites More sharing options...
Micky1979 Posted November 10, 2012 Author Share Posted November 10, 2012 see my last post (I was still writing), for muteGPIO.... ok, ok I did not see that you have already seen! EDIT use this tool for debugging your modification: Andy Vandijck Link to comment Share on other sites More sharing options...
plsh2me Posted November 10, 2012 Share Posted November 10, 2012 verbs may be as follows: 00a71c20 00a71d10 00a71e81 00a71f03 ??? muteGPIO? if you are using in Platforms 22 24 10 Pin complex ExtMic IN VREF_80, according to your codec_dump: 80 + 0100 + NID 10 in Hex: 50 + 0100 + 0a = 5001000a in decimal= muteGPIO 1342242826 ...seem Micky Where to put the muteGPIO value? Under Headphone or IntSpeaker ... ? and Do I have to add a new verb- 00C70C020. Ok, Done!!!!! Device found, but no input controls Link to comment Share on other sites More sharing options...
Micky1979 Posted November 16, 2012 Author Share Posted November 16, 2012 What's the mean of "boom device"? .................sorry I'm Italian Link to comment Share on other sites More sharing options...
plsh2me Posted November 18, 2012 Share Posted November 18, 2012 What's the mean of "boom device"? .................sorry I'm Italian Sound boaster soft for mac. http://www.globaldelight.com/boom/ Lo so che sei un Italiano . Grazie !!! Palash 1 Link to comment Share on other sites More sharing options...
Recommended Posts