External Microphone via 3.5mm Jack (Librem 14)

Hey all, I have been working on this and got a little bit more information, but not much, and no improvement so far unfortunately.

Setting the 0x4a coefficient to 0xe (the guessed verb that seems to enable mic input) does not work reliably for me. It does sometimes enable mic input (with hiss), but sometimes I have to run it several times before there is any change, so I do not think this change is anything we can ship in firmware. This doesn’t appear to be an ordinary register (if you read it back, the value is not constant), so as far as I can tell, it’s not a set of bit flags we can try to whittle down.

The hiss on my device is not awful, I think I could use this for a voice call, but it’s certainly not great. I expect we could wipe it out with EQ parameters. There are a few boards (not many) in coreboot using ALC256 that have EQ parameters, like this one: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/src/mainboard/starlabs/starbook/variants/cml/hda_verb.c#88 Those params (according to comments, which could be wrong) look like they might eliminate hiss, but they had no effect for me. It’s possible that the 0x4a=0xe coefficient could be resetting them anyway, etc.

It is possible there could still be something wrong with the librem-ec jack detect, and we’re looking into it. However this will probably not affect the audio quality.

For those of you that have tried the guessed verbs and got mic input, how is the hiss? Could you use that audio for a voice call?

2 Likes