O que estou perdendo no meu patch de kernel para o ALSA para que o EAPD desligue corretamente esse alto-falante interno? [fechadas]

3

Estou trabalhando com um dispositivo tipo quadro de imagem fabricado pela falecida OpenPeak Inc. conhecida como OpenFrame (ou O2 Joggler no Reino Unido). Ele tem um alto-falante interno e um soquete de saída de linha de 3,5 mm; Nenhuma das outras conexões ao seu chip de codec STAC9202 é exposta ao usuário final. Eu tenho portado o Ubuntu Bionic para o dispositivo e tudo está feito, exceto pelo driver de áudio.

De volta ao kernel 3.18, foi possível usar o seguinte patch de kernel e patch userland ALSA para que essas duas saídas funcionassem corretamente, com a inserção de um plugue na linha saindo corretamente do alto-falante interno.

03-stac9202-audio-pin-tweak .patch

of1-stac9202.patch

No kernel 4.14, o mesmo truque não funciona mais, então eu reescrevi o patch para adicionar mais suporte a esta variante do STAC9202 para o ALSA. Agora parece com isso:

4.14-sigmatel-openframe.patch

Isto parece alinhar as configurações de pino apropriadamente, mas quando um plugue é inserido na saída de linha, embora o áudio do alto-falante interno esteja mudo, o alto-falante emite um som crepitante sempre que o dispositivo está processando. Parece que não está sendo desligado corretamente e está amplificando o ruído geral do circuito. Desconectar o plugue retorna o som para o alto-falante interno e o estalido cessa. Isso é confiável em vários dispositivos.

Aqui está a saída alsa-info do kernel 4.14 e do kernel 3.18.

< p > < href="> Eu não tenho conhecimento suficiente sobre drivers e patches ALSA e tenho trabalhado apenas nas configurações usadas por outros ao longo dos anos, então eu realmente aprecio alguém olhando para a saída alsa-info e o novo patch para determinar onde Eu deveria ir daqui. Eu acredito que isso tudo tem a ver com o controle EAPD, mas quais opções eu tenho para controlar que não são conhecidas por mim agora.

Idealmente, eu quero acabar com o silenciamento de áudio e comutar corretamente quando o conector for inserido. Um bônus seria perder as opções de entrada e saída de áudio não utilizadas (ou pelo menos inacessíveis) no alsamixer e obter controle individual dos níveis de alto-falante interno e saída de linha (que parecem estar emparelhados juntos no momento).

    
por andydvsn 09.09.2018 / 10:27

0 respostas