Jump to content

Patched AppleHDA for IDT92HD87B1/3


TheEnthusiast
 Share

12 posts in this topic

Recommended Posts

As it turns out, I was finally able to get both internal devices working perfectly and I was also able to fix the issue related to the volume slider not changing when using the keyboard or retaining position after sleep/reboot. [/size]
 
This is not a full guide as that I used the guide made by Micky1979. Also, I'm still experimenting so I may make changes. 
 
See: http://www.insanelymac.com/forum/topic/283754-patched-applehdakext-for-codecs-idt-92hd81b1x5-92hd91bxx-and-92hd87b24/
 
Now for the fixes. 
FOR THE MICROPHONE
Does not show up in system preferences, follow the information posted by Zoltankr, but with a modification. 
 

Some info about the internal mic.

My original verbs:
ATAPI Unknown Mic at Int Top 17 0x11 0xd5a30130 01171c30 01171d01 01171ea3 01171fd5

Fixed verbs:
ATAPI Unknown Mic at Int Top 17 0x11 0xd5a30130 01171c30 01171d00 01171ea3 01171fd0

how it looks in ML:
mic.png

verbit does a great job, but it's not perfect.

We need to replace 01171fd0 with 01171f90 to set mic as internal device.

Bits
Hex     76 54 3210
-------------------
71cf01 = 00 00 0001 - Port has a jack - It is External - Rear Location
71cf02 = 00 00 0010 - Port has a jack - It is External - Front Panel Location
71cf59 = 01 01 1001 - No External Port - ATAPI
71cf18 = 00 01 1000 - Port has a jack - External - HDMI
71cf90 = 10 01 0000 - Built In Device - Internal - N/A
         | | ||||
         | | |--------- Location part 2
         | |------------ Location part 1
         |--------------- Port Connectivity

Take a look:
mic2.png

Let's add "Ambient Noise Reduction".

Change 01171ea3 to 01171ea0
3 and 0 => connection type. The value should be 0 "unknown connection" type.

Open layout12.xml then remove:

mic3.jpg

and add Signal Processing.

mic4.png

take a look:
mic5.png
 
The information works to show internal microphone and get ambient noise reduction, but MuteGPIO value is needed. For this codec with VREF=80, the value is: 1342242828*
Note: If this does not work, a codec dump is required to see VREF value. 
 
That's it mic should work after you compress and reinstall, assuming you already have the correct pathmaps in Platform.xml.
 

  • Like 7
Link to comment
Share on other sites

Now for the IntSpeaker and Volume Slider

 

After examining a Macbook Air's layout.xml and platform xml, I realized that there were multiple nodes for internal speakers, rather than the 2 usually used by hackintosh versions of AppleHDA.kext. 
 
See:

HoRTRdW.png


 
Notice how almost everything seems to be connected, either directly or indirectly, to Stereo 27 (Audio Mixer Node), which maps to Stereo 28 (Audio Selector Node). I figured that must have been the determining factor as every patched AppleHDA.kext for IDT only uses two nodes. In my case it would be 13 and 19 for internal speaker. This is probably documented somewhere officially, but I hypothesized that the output connection should include one or both of these nodes. Perhaps this is somehow applies to internal connections as well, but I'm not sure as yet.

 

I haven't tried using one or the other, perhaps that will work too and I'll figure out soon enough, or someone else will.

 

******UPDATE****** At least in my case, both nodes are needed for output connections. Sound assertions errors and no inputs/outputs detected without both nodes. Also, internal connections already have a mixer/selector node and should work as expected. 
 
End result: Just add both nodes between the two previously used. 
 
Like this
kcsryry.png
 
That's it. Compress, install AppleHDA.kext using your usual method, repair permissions/caches. Then reboot. It should work fine, again, assuming pathmaps/nodes are correct. 
 
Extras:
 
-PreAmp/PostDelay are both listed as 100 on three Macbooks I've investigated. I've tried 100, 150, and no string at all. but haven't noticed any differences, More testing required, but this seems to affect amount of power driven towards output with certain audio playback. Probably will be fine with no string at all or use whichever pleases you. 
-Real Macbooks have digital processing under IntSpeaker, but that exact key kills audio for IDT on hackintosh.
-Headphones have "headset_dBV" key on real MacBooks-untested as headphones work completely fine
-MuteGPIO seems to be the most important value as changing it to an incorrect value kills audio entirely, even if it is only changed for one input/output value.
Example: I changed MuteGPIO to 3 for IntSpeaker, like a real Macbook, resulted in no inputs/outputs detected. 
Changed MuteGPIO, for internal mic, to 1, for the same reason, same result. 
DefaultVolume key on real MacBooks-didn't see any effect.
MaximumBootBeepVolume key-I believe this would affect the start up chime. No effect with different values. 
 
Final note: Even though I got the kext to work how it should, I'm interested in general understanding so I'll update with more information as I'm still learning how different configurations function. 
 
Credits: 
Micky1979
ZoltanKR
Kind folks who contributed layout ids and AppleHDA.kexts from genuine MacBooks 
bcc9
THe KiNG(ProjectOSX Guide for AppleHDA), Signal 64, and Munky
ages sabres18
Samantha(R.I.P)
Andy Vandijck
Master Chief

  • Like 5
Link to comment
Share on other sites

I can confirm that it works for me too (IDT 92HD81B1X5), the volume bar now adjust the volume properly and the volume settings do not reset...

 

While I implemented the 1. tweak (by ZoltanKR) a while ago and the "ambient noise reduction" works fine I never got the volume bar setting to appear. Today I noticed that in the layput12.xml under Mic, I do not have the MuteGPIO... So i was wondering if that might be the issue and also wanted to ask you how do I calculare it?

 

PS: attached the codec dump, thx

codec_dump_dec.txt

Link to comment
Share on other sites

Are you sure that you modified the right pinconfig for internal mic? That (fd0 with f90) would make the mic show up as internal. MuteGPIO is calculated by VREF value in code dump and is specific for each node, some don't even need it or need it to be 0. Your internal mic has nothing so exclude it. If that doesn't work, try MuteGPIO=0.

 

VREF(50,80,100)=HEX(32,50,64). Then you have to add (0100) and the NodeID(hex)

Ex. for random Node 18: VREF=80 for node 18; 0x50010018.

 

Saves the time: http://quad.hostilezone.net/Temp/DSDT/MuteGPIO_Table%20Sheet1.pdf

Link to comment
Share on other sites

Are you sure that you modified the right pinconfig for internal mic? That (fd0 with f90) would make the mic show up as internal. MuteGPIO is calculated by VREF value in code dump and is specific for each node, some don't even need it or need it to be 0. Your internal mic has nothing so exclude it. If that doesn't work, try MuteGPIO=0.

 

VREF(50,80,100)=HEX(32,50,64). Then you have to add (0100) and the NodeID(hex)

Ex. for random Node 18: VREF=80 for node 18; 0x50010018.

 

Saves the time: http://quad.hostilezone.net/Temp/DSDT/MuteGPIO_Table%20Sheet1.pdf

00C71C20 00C71D10 00C71EA1 00C71F00 00D71C50 00D71D00 00D71E17 00D71F90 01171C40 01171D00 01171EA0 01171F90

As you can see, I have it set right....

As I said before the Mic works fine, I just dont have the volume controls... anyways thx for sharing this "trick".

sound.tiff

Link to comment
Share on other sites

  • 5 months later...
  • 4 weeks later...
  • 3 months later...
  • 3 weeks later...
  • 8 months later...
  • 10 months later...

Now for the IntSpeaker and Volume Slider

 

After examining a Macbook Air's layout.xml and platform xml, I realized that there were multiple nodes for internal speakers, rather than the 2 usually used by hackintosh versions of AppleHDA.kext. 

 

That's it. Compress, install AppleHDA.kext using your usual method, repair permissions/caches. Then reboot. It should work fine, again, assuming pathmaps/nodes are correct. 

 

I might take the layout and platform xml for Macbookpro 11,1 (one used here )and change that portion to match patched one should get it? Not sure where to find the one for that smbios... in the original applehda has all models?

 

Having the issue of volume key/menu bar volume resetting to full when touching and upon wake/restart.

 

Better to find who the patch came from? A connexent cx20755

Link to comment
Share on other sites

 Share

×
×
  • Create New...