On 10 Oct 2018, at 10:29, Andy Davison wrote:
That said, we need a "good-working" example of the whole routings, then adjust knobs to achieve this with the auto-parser.
Do you mean the physical connections of the STAC9202 chip on the board?
So far as I can see, 0x0a is handling all of the audio output - HP/LO and the stereo internal speakers - into an amplifier circuit on the board. There’s a connection to what appears to be an unpopulated area from 0x0d which may well be for an DECT circuit that’s not present on this unit. Pin 0x07 has some involvement with the switching off of the internal speakers, as that is what was forced in the original patch for the 3.10 kernel (old patch below).
https://github.com/andydvsn/OpenFrame-Kernel/blob/master/patches/03-stac9202...
The jack detection is working just fine, so my guess is that some sort of trigger on 0x07 is what’s required to shut down the speakers and prevent the crackling.
I’ve now compiled the latest 3.16 kernel with the original patch and that still works perfectly. For comparison, here are the alsa-info outputs for the vanilla 4.14 and the patched 3.16.
This is kernel 4.14.74 with no ALSA patches applied. It ignores
…it ignores the insertion of the HP/LO jack and continues to play through internal speakers.
http://www.alsa-project.org/db/?f=2f10f0f25c2e2b6ff9c4d0b312675e05f7e9e634
This is kernel 3.16.59 working perfectly with the old kernel patch from GitHub above and the pin settings applied in of1-stac9202.conf:
http://www.alsa-project.org/db/?f=fb7cf7400691d60f2d3c5c30ba825516d4d4cf6d
In case it is of use, I’ve also gone back to the earliest supported kernel where the crackling issue first appeared - kernel 4.4.
Following loading of the pin patch file, jack detection started working, though with the crackling present on the internal speakers.
http://www.alsa-project.org/db/?f=f1522128d5383be42130ca2492e94959a75c553e
This alsa-info output is very similar to 3.16, but showing stream=0 on 0x05 instead of stream=4 in the working 3.16 config. Also, EAPD 0x0 on 0x07 in the working 3.16 config has become EAPD 0x2: EAPD for 4.4. I’ve searched, but can’t see how to adjust these in userland - can it be done?
Thanks,
Andy.