Edição de placa de áudio ALC3228

0

Eu tenho o Ubuntu 15.10 instalado no meu notebook HP EliteBook 755 G2 que possui 2 placas de áudio:

00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri HDMI/DP Audio Controller
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD] FCH Azalia Controller (rev 01)

Os alto-falantes internos estão funcionando bem, mas os fones de ouvido não estão funcionando. Pesquisando eu encontrei esta configuração para alsa:

$ cat /etc/modprobe.d/snd-hda-intel.conf 
alias char-major-116 snd
alias snd-card-0 snd-hda-intel
alias snd-card-1 snd-hda-intel
options snd-hda-intel id=Generic_1 index=0
options snd-hda-intel id=Generic index=1
options snd-hda-intel model=hp,headset-mic  

Mas isso não resolve o problema no meu caso. Eu atualizei o BIOS para a última versão, mas isso não resolve o problema no meu caso.

Acho que o ALC3228 está associado a fones de ouvido, mas não tenho certeza.

Esta captura de tela alsamixer para meu primeiro dispositivo de áudio

Esta captura de tela alsamixer para meu segundo dispositivo de áudio

    
por Luca 30.12.2015 / 09:11

1 resposta

1

Eu tenho o mesmo notebook e tive o mesmo problema. Eu corrigi-lo, no Ubuntu 15.04 e 16.04-alpha (eu uso o sabor MATE de ambos), incluindo apenas uma linha para model=,headset-mic em /etc/modprobe.d/snd-hda-intel.conf. Ou seja:

$ cat /etc/modprobe.d/snd-hda-intel.conf
options snd-hda-intel model=,headset-mic

O caractere de vírgula faz com que seja aplicado ao segundo dispositivo de áudio que é o Azalia e controla o fone de ouvido interno. O primeiro, o HDMI / DP, será o padrão e não parece precisar do "hp" da configuração ALSA que você encontrou, mas eu não tentei usar o HDMI / DP.

A correção no kernel foi feita recentemente. O problema foi relatado para os desenvolvedores da ALSA e uma correção está agora no kernel 4.5 oficial: link

A correção também foi solicitada para ser incluída no Ubuntu 16.04: link

Eu acho que a correção também foi retornada para algumas das versões mais antigas do kernel.

Com um kernel com a correção, você não precisa do arquivo snd-hda-intel.conf.

Sem um kernel fixo, eu também tenho um ruído de fundo estridente muito chato nos fones de ouvido. Isso também foi corrigido no kernel no mesmo commit, mas com um kernel mais antigo sem ele você pode corrigi-lo manualmente de várias maneiras, dependendo da versão do kernel. Eu não sei qual versão é o limite.

Com o kernel 4.4.0 do Ubuntu 16.04-alpha, corrigi-lo desabilitando o Loopback Mixing como recomendado por um desenvolvedor da ALSA, por exemplo via alsamixer. (Mas se a correção do kernel chegar ao lançamento do Ubuntu 16.04, isso não será necessário.)

Com o kernel mais antigo do Ubuntu 15.04 (e talvez outros) que não possui Loopback Mixing para o nosso dispositivo, você pode usar o script white_noise_fix.py de link , conforme descrito em link e Ruído nos fones de ouvido . Você provavelmente vai querer executá-lo no momento da inicialização, o que eu faço invocando a partir do /etc/rc.local, ou seja, adicione esta linha ao /etc/rc.local: /usr/local/bin/white_noise_fix.py

Com white_noise_fix.py, quando meu notebook sai do modo de repouso, o ruído de fundo volta, então eu manualmente corro sudo /usr/local/bin/white_noise_fix.py . Eu acho que você pode ser capaz de automatizar isso com um script pm-utils em /etc/pm/sleep.d mas eu não tentei isso.

Você também pode querer fazer o que esses artigos vinculados dizem fazer para desativar o modo de economia de energia da placa de áudio para evitar ruídos pop. Eu fiz isso no Ubuntu 15.04, mas não sei se era necessário.

(Eu também encontrei a configuração que você mostrou, e não funcionou para mim também. Era de um usuário do Arch Linux, e eu acho que as outras linhas além da opção do modelo um interferem com o que o Ubuntu já faz para o dispositivo de áudio.)

    
por Derick Eddington 22.02.2016 / 20:05