O hdajackretask é uma ferramenta para reatribuir a função de suas tomadas para diferentes entradas, saídas ou desativações - por exemplo, transforme sua tomada de microfone em um fone de ouvido extra, ou por que não fazer as duas saídas de linha e conectá-las ao seu receptor surround?
Instale alsa-tools-gui
sudo apt-get update
sudo apt-get install alsa-tools-gui
Execute hdajackretask
Then Para substituir um dos seus conectores:
- Selecione um codec
- Clique na caixa de seleção "Substituir" desse pino e selecione a nova função desejada
- Clique em "Apply now" (Aplicar agora).
Nota: Se o fone de ouvido tiver um comutador de hardware embutido que redirecione o áudio, você estará SOL (Desculpe, por azar). No entanto, se o sistema operacional detectar quando uma linha é conectada ao fone de ouvido, o áudio provavelmente não será alternado mecanicamente.
Descobri que substituir os fones de ouvido e os alto-falantes ao mesmo tempo funciona melhor.
Captura de tela do hdajackretask para alternar o fone de ouvido para os alto-falantes:
Após clicar em "Aplicar agora", um script de shell é criado para fazer as alterações e solicitar a execução da senha do superusuário. O script também é salvo, no /tmp
qual pode ser copiado e posteriormente executado com o sudo na linha de comando.
Execução da linha de comando
Como mencionado anteriormente, hdajackretask
cria um script, script.sh
em /tmp
semelhante ao /tmp/hda-jack-retask-QW1EEZ/
para as funções de jack que você deseja:
#!/bin/sh
echo "0x12 0x90a60140" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x14 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x17 0x40000000" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x18 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x19 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1a 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1b 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1d 0x40700001" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1e 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x21 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
Copie esse script em outro lugar do seu sistema (exceto / tmp)
cd /tmp/hda-jack-retask-QW1EEZ
cp script.sh ~username/speaker.sh
Depois edite speaker.sh
cd ~username
nano speaker.sh
Adicione a linha killall pulseaudio &
na parte superior do arquivo. Isso é necessário porque a função jack não pode ser alterada enquanto pulseaudio
estiver em execução. Por padrão pulseaudio
, reaparecerá. Altere também o caminho do errors.log
arquivo para /tmp
ou onde quiser:
#!/bin/sh
killall pulseaudio &
echo "0x12 0x90a60140" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x14 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x17 0x40000000" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x18 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x19 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1a 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1b 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1d 0x40700001" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1e 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x21 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/tmp/errors.log
Para executar o script:
sudo ./speaker.sh
Na documentação alsa-tools-1.1.5 / hdajackretask / README :
Documentação para hdajackretask
A maioria das placas de som Intel HDA é, até certo ponto, retroskable, ou seja, pode ser usada para mais de uma coisa. Essa ferramenta é uma interface gráfica para facilitar a retificação das tomadas - por exemplo, transforme a tomada do microfone em um fone de ouvido extra, ou por que não fazer as duas saídas de linha e conectá-las ao receptor surround?
Começo rápido
Inicie o aplicativo "hdajackretask" na linha de comando. Selecione um codec na barra superior; algumas pessoas têm apenas um - se você tiver mais de um, um é o "principal" e o restante provavelmente são codecs HDMI.
Todas as tomadas (e outras entradas / saídas) são mostradas em "Configuração dos pinos". Para substituir uma das tomadas, clique na caixa de seleção "Substituir" desse pino e selecione a função desejada. Nota: Se você selecionar uma substituição de "Saída de linha (traseira)", também deverá ter uma substituição de "Saída de linha (frontal)". Uma substituição de "Saída de linha (centro / LFE)" funcionará apenas com as duas substituições anteriores e assim por diante.
Você pode experimentar sua nova configuração clicando em "Aplicar agora". Para tornar sua nova configuração o padrão de inicialização, clique em "Instalar substituição de inicialização". Para executar uma dessas ações, é necessário ter privilégios de root; portanto, você provavelmente precisará da sua senha.
Quickend
Você estragou? Clique no botão "Remover substituição da inicialização" e, depois que o processo estiver concluído, desligue o computador, aguarde um pouco e ligue-o novamente. Agora você deve estar de volta onde começou.
Funcionou?
Se assim for, seja feliz, compartilhe sua alegria, faça algo de bom!
Caso contrário, aqui estão algumas coisas para tentar:
Entre no alsamixer e veja se há novos controles de volume e veja se não estão emudecidos e configurados com um valor razoável.
Às vezes, o driver não desliga os pinos desconectados (se estiverem desconectados, por que se preocupar?). Você pode consertar isso desligando o computador completamente por um tempo.
Veja a opção "model = auto" abaixo
Se isso não ajudar, são grandes as chances de você encontrar um driver ou uma limitação de hardware. Você pode encontrar bugs de driver (talvez ninguém nunca tenha testado quatro fones de ouvido antes!). Se o fizer, sinta-se à vontade para denunciá-los na lista de discussão alsa-devel: no entanto, devido à falta de mão-de-obra, é provável que isso seja tratado com uma prioridade muito baixa (ter um som funcionando imediatamente para uma configuração padrão, é mais importante do que suportar configurações estranhas). No entanto, se você é um hacker de kernel e cria um patch que resolve seu problema sem estragar nada, as chances são muito altas de que ele seja mesclado.
Se você suspeitar que o problema está no aplicativo GUI, e não no driver do kernel, sinta-se à vontade para me escrever um e-mail (e, se desejar, inclua um patch!). Se sim, escreva para diwic@ubuntu.com.
Opções
Mostrar pinos não conectados Seu BIOS é responsável por configurar quais pinos no codec estão realmente conectados a algo e quais não estão. Às vezes, o BIOS está com erros e não mostra todas as suas tomadas. Se você possui uma tomada que seu BIOS diz que não, tente ativar pinos aleatórios e veja se funciona.
Definir modelo = auto Alguns codecs, especialmente os mais antigos e nos kernels 3.8 e abaixo, são codificados para usar um modelo específico e, portanto, não se importam com suas substituições. Em muitos casos e com um kernel razoavelmente novo, o analisador automático agora também funciona bem para esses codecs. Você pode forçar o analisador automático a ser usado marcando esta caixa. Em alguns casos, porém, o modelo explícito existe por um motivo; se assim for, você está preso.
Substituição avançada Isso é apenas para especialistas. Faz você selecionar cada campo de configuração individualmente, em vez de apenas alguns valores predefinidos que fazem sentido. Observe que a maioria das combinações aqui são inválidas de uma maneira ou de outra, portanto você provavelmente não deve mexer com isso, a menos que tenha lido e entendido a seção "Padrão de configuração" da especificação HD Audio. (Que, no momento da redação deste documento, está disponível aqui:
http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/high-definition-audio-specification. pdf )
Dicas do analisador Permite enviar "dicas" especiais ao driver que faz com que a análise se comporte de maneira diferente. Deixe-os na configuração "padrão", a menos que você tenha lido a documentação do driver. (Que, no momento da redação deste documento, está disponível aqui: https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt - consulte a seção "Hint strings".)