- Joined
- Mar 10, 2012
- Messages
- 204
- Motherboard
- ASUS ROG Strix B760-I
- CPU
- i5-13500
- Graphics
- RX 6600 XT
- Mac
- Mobile Phone
Are you building from source?
No, I downloaded the compiled one from http://sourceforge.net/projects/voodoohda/
Are you building from source?
No, I downloaded the compiled one from http://sourceforge.net/projects/voodoohda/
I see... so without a working voodoohda headphone, its almost impossible to fix the applehda is what you are saying...
Ill poke around and make sure I have the latest build
76543210
ALC283:
0x19 707 25 -> 00100101 -> In Enable, VrefEn, EPT = 1
0x21 707 C0 -> 11000000 -> Headphone Enable, Out Enable
ALC292:
0x1A 707 24 -> 00100100 -> In Enable, VrefEn
ALC668:
0x1B 707 20 -> 00100000 -> In Enable
Sofar the only change that I have seen required is in enable / vref-in.
See Intel HDA Specification, 7.3.3.13.
I never had a working configuration to compare with my Dell, so I just went over the specification to understand it in great detail.
In Rehabman's latest CodecCommander build there are the following combinations:
Code:76543210 ALC283: 0x19 707 25 -> 00100101 -> In Enable, VrefEn, EPT = 1 0x21 707 C0 -> 11000000 -> Headphone Enable, Out Enable ALC292: 0x1A 707 24 -> 00100100 -> In Enable, VrefEn ALC668: 0x1B 707 20 -> 00100000 -> In Enable
Just check your path to see which nodes are on the headphone path, check their output with hda-verb.
After that you should be able to determine which one requires to be enabled.
Sofar the only change that I have seen required is in enable / vref-in.
See Intel HDA Specification, 7.3.3.13.
I never had a working configuration to compare with my Dell, so I just went over the specification to understand it in great detail.
In Rehabman's latest CodecCommander build there are the following combinations:
Code:76543210 ALC283: 0x19 707 25 -> 00100101 -> In Enable, VrefEn, EPT = 1 0x21 707 C0 -> 11000000 -> Headphone Enable, Out Enable ALC292: 0x1A 707 24 -> 00100100 -> In Enable, VrefEn ALC668: 0x1B 707 20 -> 00100000 -> In Enable
Just check your path to see which nodes are on the headphone path, check their output with hda-verb.
After that you should be able to determine which one requires to be enabled.
You first need to determine which widget nodes need modification. You use CodecCommanderClient (installed as hda-verb with 'make install') to determine what needs to change. After you determine the widget node that needs to be set after sleep, you can make the necessary Info.plist changes.
I added some scripts to the repo today based on stuff that the-darkvoid provided. They are simple scripts that run hda-verb for all nodes...
Check out the repo: https://github.com/RehabMan/EAPD-Codec-Commander
Here's an overview of what I did:
- installed and got VoodooHDA to work (built from latest sources, fixed bugs, etc.)
- noticed that no headphone problem with VoodooHDA
- used widget_dump.sh to look at the widget values
- set everything back for patched AppleHDA
- verified headphones still a problem
- used widget_dump.sh to look at widget values
- compared the two dumps (VoodooHDA vs. AppleHDA dump)
- started poking around with hda-verb to set the pini widgets control
- for example, I noticed that pin widget for node 0x19 was 0 with AppleHDA, but 0x25 with VoodooHDA, so with AppleHDA (headphone problematic):
- tested headphones... and at that point they were workingCode:hda-verb 0x19 SET_PIN_WIDGET_CONTROL 0x25
And all that led to what is now in the checked in Info.plist for CodecCommander, Realtek ALC283 profile.
I'm not sure how you'd stumble into the right setup without having a working configuration (in my case, VoodooHDA) that you can read the HDA configuration from. It would take a lot of trial/error (or reading the HDA spec) to figure out that node 0x19 needs to be 0x25.
Maybe there is a way to read HDA pin widget control (or other settings) in Linux?
Note: I did a fair bit of reading of the Intel HDA spec.... That way I knew what an HDA verb was, what a node was, etc.
Check them where....I'm confused, I have a different codec than all three of the ones you posted, how would codec commander know to look for my build?
whats the node?
Check them where....I'm confused, I have a different codec than all three of the ones you posted, how would codec commander know to look for my build?
whats the node?