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-dark【防止吃掉】void 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):
Code (Text):
hda【防止吃掉】-verb 0x19 SET_PIN_WIDGET_CONTROL 0x25
- tested headphones... and at that point they were working
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 ha[防吃掉]ving 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.
Yet this codec_dump report label 233 but ID is 235 so I suppose it is 235. With my work around, I stop researching further because:
- layout 3 patch is Mirones' which ha【防止吃掉】ve been working fine since 10.11.4.
- even CodecCommander can not reset the headphone.
So I conclude this is the Sierra internal structure change.
Solved.
帖子:[Solved] Balance control mute headphone AppleALC