CHAPTER 2:CALCULATING PINCONFIGURATION AND VERB COMMANDS.
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.
Method 1:: Convert Codec_dump to produce useful information we need in AppleHDA Patching
- Install GraphViz Download Here
- Now Download CodecGraph Here , put this CodecGraph folder to Desktop and Copy and Paste Codec_dump ( we generated in Linux earlier) folder.
- open terminal type cd and drag this folder , after then open folder and drag comandos file to terminal and press enter .(Inside the folder codecgraph are generated 5 files: codec_dump_dec.txt.svg, codec_dump.txt.svg, codec_dump_dec.txt, verbs.txt, verbitdebug.txt. Later we will use the same to fix the AppleHDA.)
Second or Optional Method for Calculating Pinconfigurtion and Verb Commands
Method 2:: Now download Grisnos PinConfigOverride Tools for Windows only
Note :: Using PinConfigOverride Tools is a second method to generating Pinconfig from Windows , its depends upon you to choose it or not .
Fixing or Correcting Pinconfiguration and Verb Commands ::
Verb Commands are part of Pinconfiguration
Look at Codecs Verbs Info Before Starting ::: Codec Verbs info
1.Now open CodecGraph from Desktop and open Verbs.txt like below
NodeID(NID) 0x14 in hex, 20 in decimal:
The default verbs for it: 21471c10 21471d44 21471e01 21471f01
01471c10 = CAd (Codec Adress)
01471c10 = NID (NodeID)
01471c10 = Verb Commands like 71″c” then “d”, “e” ,”f”
01471c10 = Verb Data
And the same for the rest.
now copy whole data from Modified Verbs and save as Pinconfig . ( we use this later in patching AppleHDA kexts )
Fixing Pinconfiguration from Windows :::
Now last text file created will have all pinconfig ..for modify Pinconfig from windows we use a Pinconfigurator App Download Here
Just paste and parse Pinconfig from windows and fix it according to Codec Verbs info
In our ALC887-VD example, there is an EAPD at Node 14 of Speaker. So, we need to calculate the verb command for this EAPD and use in our patch to get sound from speaker.
For EAPD at Node 14: 2 + 14 +70c + 02 = 21470c02
DISABLING THE NODES (PIN COMPLEX) THAT ARE NOT USED:
We should disable the nodes that the codec is not using, so we can avoid any issues from them. Use the following the verb data for disabling those nodes and calculate verb commands.
Verb data for disabled node:
F0 00 00 40
Final codec verb commands are:
<21471c10 21471d40 21471e01 21471f01 21b71c20 21b71d40 21b71e21 21b71f01 21a71c30 21a71d30 21a71e81 21a71f01 21871c50 21871d90 21871ea1 21871f01 21971c60 21971d90 21971ea1 21971f01>