Desativar a detecção do fone de ouvido no pulseaudio

19

Eu tenho uma porta de fone de ouvido desonesta no meu laptop que não detecta com segurança quando fones de ouvido / alto-falantes externos estão conectados. Isso significa que a saída está sendo constantemente silenciada / sem som, o que é bastante irritante

Como configurar o pulseaudio para desativar a detecção do conector (ou alternativamente apenas forçar a saída através desse conector)?

Eu suponho que isso envolverá a edição de analog-output-headphones.conf, no entanto, não consigo descobrir como fazê-lo (analog-output.conf.common não ajuda em nada).

Ross
fonte
2
Você já pensou / tentou remover o pulseaudio e acabou de usar o ALSA?
GOLDILOCKS
Sim, mas eu meio que gosto do controle extra que o pulseaudio oferece. Além disso, tenho certeza de que existe uma solução simples - simplesmente não consigo descobrir o que é.
Ross
O uso do ALSA tornaria a solução simples. Então, optar por usar um conector diferente. Evitando esses dois opções que eu iria escolher para reparar o jack escamosa (requer ferro de solda e alguma experiência) :)
Elder Geek

Respostas:

7

Você pode tentar suspender o fone de ouvido. Para encontrar o índice do fone de ouvido:

pactl list short sinks

Depois suspenda a pia:

pactl suspend-sink [SINK] 1|0

Onde "SINK" é o índice do primeiro comando e "1" será suspenso e "0" será suspenso.

Edit: Desculpe, não entendi a situação. Foi encontrado um encadeamento do Arch que possui um método para desativar a alternância automática. Edite /etc/pulse/default.pa(gdamjan sugere a alternativa ~/.config/pulse/default.pa) para remover a seguinte linha:

load-module module-switch-on-port-available

fonte
1
Obrigado, mas eu não quero desativar os fones de ouvido, ao invés produção de força por eles - mesmo quando eles não detectar um cabo conectado.
Ross
Em relação à desativação: módulo de carga módulo-switch-on-port-available - eu tentei isso, mas parece não fazer diferença.
Ross
1
aletrantively tentar ~ / config / pulso / default.pa
gdamjan
Eu estava tentando fazer com que o som chegasse aos alto-falantes quando conecto um microfone (é um microfone para fones de ouvido - mas quero que o microfone capte os sons dos alto-falantes para gravação). Quando tentei remover o comutador, posso obtê-lo (com um comando "pacmd set-sink-port") para emitir apenas para o alto-falante (não sai som nos fones de ouvido), mas o som ainda só sai do alto-falante quando nada está conectado à tomada. Arrrggghhhh ....
anthony
5

Não sei como (ou se) isso pode ser feito diretamente via PulseAudio, mas sei que isso pode ser feito através do controle ALSA chamado "Modo Auto-Mute", desmarcando esse controle (com 'alsamixer', por exemplo) deve impedir que sua saída seja silenciada automaticamente quando algo estiver conectado à tomada frontal.

Mudá-lo dessa maneira funcionará mesmo que seu sistema execute o PulseAudio, desde que ele use o ALSA como back-end (mas acho que esse é o caso na maioria das distribuições Linux por padrão).

Se você usar 'alsamixer' para alterar essa configuração, será necessário selecionar primeiro o dispositivo de hardware correto (pressione F6), pois o dispositivo padrão provavelmente será o dispositivo virtual PulseAudio, que não possui o "Modo Auto-Mute" ao controle.

Para tornar essa configuração permanente, execute como root:

# alsactl store
hnsr
fonte
Obrigado por colocar os detalhes sobre a troca de dispositivo via F6. Passei meia hora no alsa e em outros arquivos de configuração / controle tentando encontrar algo relacionado ao "AutoMute" até ler o seu comentário, não tinha pensado em mudar de dispositivo.
Daniel
1

supondo que pelo menos uma de suas tomadas ainda funcione sem falhas, sugiro que você consulte esta pergunta no askubuntu - em vez de depender da tomada de áudio defeituosa, sugiro que você use o microfone na porta dos fones de ouvido.

Poruri Sai Rahul
fonte
Acho que não expliquei tudo isso claramente. A saída do conector está boa. Por qualquer motivo, há um problema ao detectar se um cabo está conectado ou não. Isso leva ao pulseaudio a silenciar aleatoriamente o fluxo, pois ele acha que o plug foi removido (quando não o foi).
Ross
1

Corra pavucontrol. No menu "Configuração", selecione a opção "Desligado" para a placa de áudio embutida.

iElectric
fonte
1

Caso isso seja útil para alguém, descreverei como resolvi meu problema com os conectores frontais no Ubuntu 14.04

No meu caso, o microfone frontal não estava funcionando corretamente, tentei desativá-lo alsamixere milhares de soluções possíveis mais, mas finalmente o que resolveu foi instalar alsa-toolse usar hdajackretaskpara configurar o microfone frontal como um "microfone interno" e depoisalsamixer eu só silenciou o microfone interno e os canais internos do microfone e ajustou seus valores (53 no meu caso)

lordscales91
fonte
1

Eu tive o problema de a detecção de fone de ouvido desabilitar o alto-falante, que aparentemente está conectado ao meu fone de ouvido no laptop. HDA-intel na Fujitsu Siemens Amilo 1520 aqui.

O que deve lhe dar uma pista é ter o alsamixer aberto na sua placa de som e ver os controles de volume dos alto-falantes e dos fones de ouvido sendo influenciados (na conexão dos fones de ouvido, os silenciamentos dos alto-falantes e os silenciamentos dos fones de ouvido e vice-versa).

depois, usando o hdajackretask que selecionei: fone de ouvido verde (parte traseira) - selecione substituição - e defina como "alto-falante interno"

você pode verificar conectando e retirando os fones de ouvido, se funcionar para sua configuração (a documentação é escassa).

No meu caso, isso funcionou e cliquei no botão "Instalar substituição da inicialização". Reinicie o sistema e tenha som de trabalho ...

(Eu realmente gostaria de saber o que ele criou sob o capô, descobriremos isso mais tarde.)

Tjeerd Pinkert
fonte
1

Meu problema é o jacksense na porta frontal alternando para "fones de ouvido" constantemente (mesmo quando o cabeçalho do painel frontal não está conectado) e uma placa-mãe MSI com defeito em que eles me recusaram a usar o RMA. Mesmo quando o jack sense está desativado na configuração, comentando-o em default.pa. Uma péssima solução foi usar o painel frontal e ficar constantemente estalando. Eu tentei todas as soluções alternativas listadas aqui e em qualquer lugar no google.

Eu tentei o hdajackretask, que não funcionava no Debian Stretch. No entanto, tudo o que era necessário era / lib / firmware para ser criado. Quando isso é feito, o script de instalação de substituição da inicialização, criado em / tmp, copia corretamente o arquivo .fw.

/etc/modprobe.d/hda-jack-retask.conf contém:

# This file was added by the program 'hda-jack-retask'.
# If you want to revert the changes made by this program, you can simply erase this file and reboot your computer.
options snd-hda-intel patch=hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw

(que espera o arquivo em / lib / firmware)

Não tenho certeza se outras opções snd-hda-intel a substituem ou interferem. Tente desativá-las se houver falha.

Meu arquivo de firmware se parece com isso, não tenho certeza se eu poderia usar a estrofe [hint], pois estou feliz em descobrir a coisa:

/lib/firmware/hda-jack-retask.fw

[codec]
0x10ec0892 0x1458a002 2

[pincfg]
0x11 0x99430130
0x12 0x4037c540
0x14 0x01014010
0x15 0x01011012
0x16 0x01016011
0x17 0x411111f0
0x18 0x01a19050
0x19 0x02a19060
0x1a 0x0181305f
0x1b 0x43f1413f
0x1c 0x411111f0
0x1d 0x4045e601
0x1e 0x01452140
0x1f 0x411111f0

[hints]
jack_detect=no

Não posso aprovar essas respostas ou comentar sobre elas. Se você está lendo isso e você tentou todas as outras soluções listadas, tente retask o conector para "não conectado". No meu hdajackretask chamava-se "Headphone verde Front Side"

Russ
fonte
Eu tenho uma porta de áudio no painel frontal que não possui o pino de detecção de conector, portanto sempre aparece como desconectada. Eventualmente, corrigi-lo e esta resposta é a melhor. Não é possível aplicar as configurações porque o pulseaudio provavelmente está usando o cartão e a interrupção do PA é surpreendentemente difícil. Se alguém ativar a substituição avançada, é possível desativar a detecção de conector por porta. Também tenha a prioridade de porta da porta de não detecção no PA mais baixa do que as portas de detecção; caso contrário, sua saída de linha de detecção de jack nunca será usada porque o fone de ouvido quebrado sempre aparece conectado.
precisa saber é o seguinte
0

Aqui está a solução alternativa simples e manual, alternativa que funcionou para mim (Mint Debian Edition with Cinnamon):

  1. Abra as configurações de som (você pode acessá-lo no widget de controle de volume ou nas configurações do sistema)
  2. Na guia Saída padrão, em Dispositivo, clique em "Áudio embutido na saída analógica"

É isso aí. Você está feito.

Passei um dia e meio nisso. Sim, você precisa definir manualmente o dispositivo que deseja usar todas as vezes, mas, para mim, dois segundos é melhor do que outros dias de pesquisa e, na melhor das hipóteses, parece, definindo a saída para um ou outro e alterando apenas com uma reinicialização . Não vi nenhuma correção para o problema principal da detecção de escamosa.

É importante ressaltar que o som de teste sempre funcionou para os heapdphones ou alto-falantes externos; portanto, no meu caso, é uma questão de detecção de falhas. Presumivelmente, esse não é o caso universal. Descrevi os sintomas no meu caso com mais detalhes em outro lugar .

mlncn
fonte
0

Editar /etc/pulse/default.pa

comentário a seguir:

#load-module module-switch-on-port-available
#load-module module-suspend-on-idle

e desmarque as duas últimas linhas:

set-default-sink output
set-default-source input

Agora seus plugues Jack estarão ativos após a inicialização.

linuxmarc
fonte