Jump to content

1 Screenshot

About This File

About:

  • The original Pin Configurator was released back in 2009 by saxmms. The app crashes when running on 10.14.4 and the source was not available so I had to reverse it from the binary which took many hours of work. I've also re-written parts and added some new features (see "Updates from v1.0" section) but the original is by saxmms so big thanks to him.

 

Purpose:

  • Parse pin configs from ConfigData, VoodooHDA and Linux, the program will determine the type of dump itself and select all the necessary ones 
  • Add, delete and edit nodes 
  • "Compile" a new ConfigData with a replaceable Codec address (the first digit of the configs pin) 
  • Attempt to make ApplyFix

 

Updates from v1.0:

  • Added icon / support for Dark Mode / 64-bit
  • Re-written Voodoo / Linux / ConfigData codec dump file parsing
  • Added support for importing / exporting EAPD (70c) verbs
  • Changed the "Apply Fix" method to work the same as verbit (thanks to Signal64 / THe KiNG)
  • Create default node for "Headphone Mic Boost Volume" (insanelyDeepak)
  • Added Import / Export PinConfigs.kext
  • Added Import IORegistry pin configuration
  • Added Export verbs.txt

 

Instructions:

  1. File->Open... your Voodoo, Linux or Config Data (Pin Configurator will detect format)
  2. Select Patch->Apply Verbit Fix menu to sanitize verb data
  3. Select File->Export->PinsConfig.kext to export your pin data to PinConfigs.kext/Contents/Info.plist

 

What Patch->Apply Verbit Fix does now: 

  1. Remove 0x411111f0 / 0x400000f0
  2. Remove CD at INT ATAPI
  3. 71c - Index should always be 0
  4. 71c - Group should be unique
  5. 71d - Set all Misc to 0 (Jack Detect)
  6. 71f - Front Panel change Location from 2 to 1
  7. 71e - Line Out must be set to Speaker for Headphone autodetect to work correctly (Rodion2010)
  8. 71e / 71f - First Microphone Port set to Internal + Jack / Connector set to Unknown (Enables DSP Noise Reduction - Rodion2010)
  9. 71e - Second Microphone Device set to Line In / Connector set to Unknown (Ext Mic doesn't work on Hackintoshes - Rodion2010)
  10. 71e - Remove if Device set to Digital Other Out (HDMI)

 

Additional Information: 

  • The letters G and P (the last two columns) are Group (Default Association) and Position (Index, Sequence), i.e. group and device number of the group. 
  • Switch <Ignore disable devices> excludes from the list of nodes disabled at the level of "iron" (port = 4) 



User Feedback

Recommended Comments



copied this to the new topic ))

some questions and ideas about "Apply Fix"  option

1) Line Output must be renamed to Int Speaker ((014)71E10) to make Headphones Autodetect work correctly

2) First Mic need to have properties (018)71EA0 (018)71F91 internal and unknown to enable DSP Noise Reduction

3) Second Mic - to Line in (019)71E80 because Ext Mic does not work on Hackintoshes

4) AFAIK there is no need to sort groups in order 10 20 30 etc because default G and P numbering work OK

 

1) 2) 3) are really important

Front/Back Location and Color are "cosmetic" and change nothing in the functionality 

Share this comment


Link to comment
Share on other sites
13 minutes ago, JennyDavid said:

Thank you so much @headkaze You've saved thousands of hours with ur tool.  :thumbsup_anim:

Finding it manually was pain in the ass previously :wallbash:

 

Pin Configurator exists long ago, but need to update app arose in 10.14.4

Share this comment


Link to comment
Share on other sites
1 hour ago, Andrey1970 said:

Pin Configurator exists long ago, but need to update app arose in 10.14.4

I've updated the first post with a link back to the original on applelife.ru.

Share this comment


Link to comment
Share on other sites
2 hours ago, JennyDavid said:

Thank you so much @headkaze You've saved thousands of hours with ur tool.  :thumbsup_anim:

Even though it took me many hours of work to reverse engineer the original application was written by saxmms and so most credit and thanks should go to him.

Share this comment


Link to comment
Share on other sites

@headkaze plz change G (default association) to sequential from f (15) , it cosmetic and looks good 

                  found it i need to apply fix , all is good

    

 

 

we should disable nodes that are no in used so it couldn't cause any issue from them 

 

node disable command 

F0 00 00 40

example node 1a 

01a71cf0 01a71d00 01a71e00 01a71f40

 

Edited by insanelyDeepak

Share this comment


Link to comment
Share on other sites
Just now, Andrey1970 said:

Because 2.0.2 it is better. You do app for ctich or for all? Think of it.

How is 2.0.2 better in your opinion? I have added many new features to 2.0.3. There is nothing in 2.0.2 that can't be done in the new version.

Share this comment


Link to comment
Share on other sites
3 minutes ago, headkaze said:

How is 2.0.2 better in your opinion? I have added many new features to 2.0.3. There is nothing in 2.0.2 that can't be done in the new version.

 

You added nothing new, these everything nonsense. It is not necessary to spoil application.

You made adaptation to 64 bits, for this thanks. More it is required nothing.

Share this comment


Link to comment
Share on other sites
2 minutes ago, Andrey1970 said:

You added nothing new, these everything nonsense. It is not necessary to spoil application.

You made adaptation to 64 bits, for this thanks. More it is required nothing.

Don't download the new version if you don't like it. I've had multiple requests to add more features. I will view the feedback and judge for myself what the community wants but I don't think your opinion represents what people want.

Share this comment


Link to comment
Share on other sites
6 minutes ago, headkaze said:

Don't download the new version if you don't like it. I've had multiple requests to add more features. I will view the feedback and judge for myself what the community wants but I don't think your opinion represents what people want.

 

Certainly you in the right not to listen to me.

Share this comment


Link to comment
Share on other sites
Just now, Andrey1970 said:

Certainly you in the right not to listen to me.

I like to listen to all constructive user feedback. The problem is your feedback is not constructive only negative. If I have removed a feature you like then let me know what particular feature it is. As far as I'm aware I have not removed any features. The only major difference between 2.0.2 and 2.0.3 is you now use File->Open to read Linux / Voodoo or ConfigData files (the format is auto-detected). Alternatively you can File->Import->Clipboard if you want to parse that. What else is missing? I have only added new features. You don't have to use the new features.

Share this comment


Link to comment
Share on other sites

new 2.0.3 version

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]

 

so, I can use neither new features nor older 

previous version worked ok

 

Edited by Rodion2010

Share this comment


Link to comment
Share on other sites
13 minutes ago, headkaze said:

I like to listen to all constructive user feedback. The problem is your feedback is not constructive only negative. If I have removed a feature you like then let me know what particular feature it is. As far as I'm aware I have not removed any features. The only major difference between 2.0.2 and 2.0.3 is you now use File->Open to read Linux / Voodoo or ConfigData files (the format is auto-detected). Alternatively you can File->Import->Clipboard if you want to parse that. What else is missing? I have only added new features. You don't have to use the new features.

 

You removed a convenient window of an insertion.
You removed an option ignore disabled devices.

Import from IOReg has doubtful usefulness. There does not contain numbers of Nid. False Nid 0, 1, 3, 4 …. are necessary to nobody.

Share this comment


Link to comment
Share on other sites
50 minutes ago, Andrey1970 said:

You made adaptation to 64 bits, for this thanks. More it is required nothing.

Parsing Voodoo / Linux codec dump files was broken in the original and "Apply Fix" was incomplete so adapting to 64-bits still meant these features were broken from the original.

5 minutes ago, Andrey1970 said:

You removed a convenient window of an insertion.

You can use File->Import. No one will be creating pin configurations manually. You have to import data. Having a text box to paste in the data is pointless.

5 minutes ago, Andrey1970 said:

You removed an option ignore disabled devices.

"Apply Fix" will remove disabled devices

5 minutes ago, Andrey1970 said:

Import from IOReg has doubtful usefulness. There does not contain numbers of Nid. False Nid 0, 1, 3, 4 …. are necessary to nobody.

Nid data is not available in IOReg but you should not be creating a new pin configuration from this data anyway. It is only for verifying data.

Edited by headkaze

Share this comment


Link to comment
Share on other sites
4 minutes ago, headkaze said:

You can use File->Import. No one will be creating pin configurations manually. You have to import data. Having a text box to paste in the data is pointless.

 

But it was convenient to see basic data. And in certain cases manual input happens is necessary.

 

8 minutes ago, headkaze said:

Nid data is not available in IOReg but you should not be creating a new pin configuration from this data anyway. It is only for verifying data.

 

I know. But it can play a bad joke with someone.

16 minutes ago, headkaze said:

"Apply Fix" will remove disabled devices

 

"Apply Fix" and "remove disabled devices" are not equivalent.

Share this comment


Link to comment
Share on other sites
18 minutes ago, Andrey1970 said:

But it was convenient to see basic data. And in certain cases manual input happens is necessary.

Who needs to manually input data? Most users will be parsing Voodoo or Linux dumps and at the very least raw verb data.

18 minutes ago, Andrey1970 said:

I know. But it can play a bad joke with someone.

If you don't know what you're doing it could be a bad joke for anyone. Previous version and any other version.

18 minutes ago, Andrey1970 said:

"Apply Fix" and "remove disabled devices" are not equivalent.

I don't see a particularly big need to separate these into two options. In fact I've seen many entires in PinConfigs.kext that include disabled devices.

Edited by headkaze

Share this comment


Link to comment
Share on other sites
6 minutes ago, headkaze said:

I don't see a particularly big need to separate these into two options. In fact I've seen many entires in PinConfigs.kext that include disabled devices.

 

It is better to remove a functionality "Apply Fix" who is doubtful, and to leave only "remove disabled devices".

Share this comment


Link to comment
Share on other sites
3 minutes ago, Andrey1970 said:

It is better to remove a functionality "Apply Fix" who is doubtful, and to leave only "remove disabled devices".

I will add this feature back in the next version.

Share this comment


Link to comment
Share on other sites
20 minutes ago, Andrey1970 said:

It is better to remove a functionality "Apply Fix" who is doubtful, and to leave only "remove disabled devices".

v2.0.4 has a new Patch menu. You now can do Patch->Remove Disabled / Patch->Apply Verbit Fix

Share this comment


Link to comment
Share on other sites
3 hours ago, headkaze said:

I will add this feature back in the next version.

it is really required to see disable nodes , for me still i have to use disable nodes in pinconfig to fix many codecs , disable fully disable not partially like verbit does , i requested above too you can leave it, it may be for me only 

Share this comment


Link to comment
Share on other sites

×