Desactivar la detección de conector de auriculares en pulseaudio

19

Tengo un puerto de auriculares dudoso en mi computadora portátil que no detecta de manera confiable cuando los auriculares / parlantes externos están enchufados. Esto significa que la salida se silencia / silencia constantemente, lo cual es bastante molesto

¿Cómo puedo configurar pulseaudio para deshabilitar la detección de jack (o, alternativamente, simplemente forzar la salida a través de este jack)?

Supongo que implicará la edición de auriculares de salida analógica.conf, sin embargo, no puedo entender cómo hacerlo (analog-output.conf.common no es de ayuda).

Ross
fuente
2
¿Has considerado / intentado eliminar pulseaudio y solo usar ALSA?
Ricitos
Sí, pero me gusta el control adicional que le da pulseaudio. Además, estoy seguro de que hay una solución simple: simplemente no puedo resolver cuál es.
Ross
Usar ALSA simplificaría la solución. Entonces elegiría usar un conector diferente. Evitando ambas opciones, elegiría reparar el gato escamoso (requiere soldador y algo de experiencia) :)
Elder Geek

Respuestas:

7

Puedes intentar suspender la toma de auriculares. Para encontrar el índice de la toma de auriculares:

pactl list short sinks

Luego suspender ese fregadero:

pactl suspend-sink [SINK] 1|0

Donde "SINK" es el índice del primer comando, y "1" se suspenderá y "0" se suspenderá.

Editar: Lo siento, entendí mal la situación. Encontró un hilo Arch que tiene un método para deshabilitar la conmutación automática. Editar /etc/pulse/default.pa(gdamjan sugiere la alternativa ~/.config/pulse/default.pa) para eliminar la siguiente línea:

load-module module-switch-on-port-available
pie
fuente
1
Gracias, pero no quiero desactivar los auriculares, sino forzar la salida a través de ellos, incluso cuando no detectan un cable enchufado.
Ross
Con respecto a la desactivación: módulo de carga módulo-interruptor-en-puerto-disponible - Lo he intentado pero parece que no hay diferencia.
Ross
1
intente por todos los medios ~ / .config / pulse / default.pa
gdamjan
Estaba tratando de hacer que el sonido llegara a través de los altavoces cuando conecto un micrófono (es un micrófono de auriculares, pero quiero que el micrófono capte los sonidos de los altavoces para la grabación). Cuando intenté quitar el interruptor, puedo hacer que (con un comando "pacmd set-sink-port") se emita solo al altavoz (no sale sonido en los auriculares), pero el sonido solo saldrá del altavoz cuando nada está enchufado al jack. Arrrggghhhh ....
anthony
5

No sé cómo (o si) esto se puede hacer directamente a través de PulseAudio en sí, pero sé que esto se puede hacer a través del control ALSA llamado "Modo de silencio automático", alternando este control (con 'alsamixer' por ejemplo) debe evitar que su salida se silencie automáticamente cuando hay algo enchufado en el conector frontal.

Cambiarlo de esta manera funcionará incluso si su sistema ejecuta PulseAudio, siempre que use ALSA como back-end (pero creo que este es el caso en la mayoría de las distribuciones de Linux por defecto).

Si usa 'alsamixer' para cambiar esta configuración, primero deberá seleccionar el dispositivo de hardware correcto (presione F6), ya que el dispositivo predeterminado probablemente será el dispositivo virtual PulseAudio, que no tiene el "Modo de silencio automático" controlar.

Para hacer esta configuración permanente, ejecutar como root:

# alsactl store
hnsr
fuente
Gracias por detallar el cambio de dispositivo a través de F6. Pasé media hora en alsa y otros archivos de configuración / control tratando de encontrar algo relacionado con "AutoMute" hasta que leí tu comentario, no había pensado en cambiar el dispositivo.
Daniel
1

suponiendo que al menos uno de sus conectores funcione sin fallas, le sugiero que consulte esta pregunta en askubuntu ; en lugar de depender del conector de audio defectuoso, sugiero que use el puerto de entrada de micrófono para los auriculares.

Poruri Sai Rahul
fuente
Supongo que no lo expliqué todo tan claramente. La salida del jack está bien. Por alguna razón, hay un problema al detectar si un cable está enchufado o no. Esto lleva a pulseaudio a silenciar aleatoriamente la transmisión, ya que cree que el enchufe se ha eliminado (cuando no se ha eliminado).
Ross
1

Ejecutar pavucontrol. En el menú "Configuración", seleccione la opción "Desactivado" para la tarjeta de audio incorporada.

iElectric
fuente
1

En caso de que esto sea útil para alguien, describiré cómo resolví mi problema con los conectores frontales en Ubuntu 14.04

En mi caso, el micrófono frontal no funcionaba correctamente, intenté desactivarlo alsamixery mil soluciones posibles más, pero finalmente lo que resolvió fue instalarlo alsa-toolsy usarlo hdajackretaskpara configurar el micrófono frontal como un "micrófono interno", luego alsamixersimplemente desactivó el micrófono interno y los canales de refuerzo de micrófono interno y ajustó sus valores (53 en ambos en mi caso)

lordscales91
fuente
1

Tuve el problema de que la detección de auriculares deshabilitó el altavoz, que aparentemente está conectado a la toma de auriculares de mi computadora portátil. Intel HDA en Fujitsu Siemens Amilo 1520 aquí.

Lo que debería darle una pista es tener el alsamixer abierto en su tarjeta de sonido y ver los controles de volumen para el altavoz y los auriculares influenciados (al enchufar los auriculares, silenciar los altavoces y silenciar los auriculares, y viceversa).

luego, usando la hdajackretask que seleccioné: auriculares verdes (parte posterior) - seleccione anulación - y configúrelo como "altavoz interno"

luego puede verificar conectando y desconectando los auriculares si funciona para su configuración (la documentación es escasa).

En mi caso, esto funcionó, e hice clic en el botón "Instalar anulación de arranque". Reinicie el sistema y tenga un sonido de trabajo ...

(Realmente me gustaría saber qué se ha configurado debajo del capó, lo descubriré más adelante).

Tjeerd Pinkert
fuente
1

Mi problema es el jacksense en el puerto frontal cambiando constantemente a "auriculares" (incluso cuando el encabezado del panel frontal no está conectado) y una placa madre MSI defectuosa me rechazaron RMA. Incluso cuando jack sense está desactivado en la configuración al comentarlo en default.pa. Un trabajo terrible fue usar el panel frontal y obtener un crujido constante. Intenté todas las soluciones enumeradas aquí y en todas partes en google.

Intenté hdajackretask, que no funcionaba en Debian Stretch, sin embargo, todo lo que necesitaba era crear / lib / firmware. Una vez hecho esto, el script de instalación de anulación de arranque que crea en / tmp copia correctamente el archivo .fw allí.

/etc/modprobe.d/hda-jack-retask.conf contiene:

# 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 el archivo bajo / lib / firmware,)

No estoy seguro de si otras opciones snd-hda-intel lo anula o interfiere, así que intente deshabilitarlas si falla.

Mi archivo de firmware se ve así, no estoy seguro si podría haber usado la estrofa [pista], ya que estoy feliz de destruirlo:

/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

No puedo votar esas respuestas o comentar sobre ellas. Si estás leyendo esto y has intentado todas las demás soluciones enumeradas como lo he hecho, intenta volver a asignar la tarea a "no conectado". En mi hdajackretask se llamaba "Frontal de auriculares verde"

Russ
fuente
Tengo un puerto de audio en el panel frontal que no tiene el pin de detección de jack, por lo que siempre se muestra como desconectado. Finalmente lo arregló y esta respuesta es la mejor. Uno no puede aplicar la configuración porque pulseaudio probablemente esté usando la tarjeta y detener PA es sorprendentemente difícil. Si se habilita la anulación avanzada, es posible desactivar la detección de jack por puerto. También tenga la prioridad de puerto del puerto de no detección en PA menor que los puertos de detección, de lo contrario su línea de detección de jack nunca se usará porque los auriculares rotos siempre parecen estar conectados.
TrentP
0

Aquí está la solución simple, manual de anulación, que funcionó para mí (Mint Debian Edition con Cinnamon):

  1. Abra la configuración de sonido (puede acceder desde el widget de control de volumen o la Configuración del sistema)
  2. En la pestaña Salida predeterminada, en Dispositivo, haga clic en "Audio incorporado de salida analógica"

Eso es. Ya terminaste

Pasé un día y medio en esto. Sí, debe configurar manualmente el dispositivo que desea usar cada vez, pero para mí dos segundos es mejor que otros varios días de búsqueda y, en el mejor de los casos, parece, configurar la salida en uno u otro y cambiar solo con un reinicio . No he visto ninguna solución para el problema raíz de la detección escamosa.

Es importante destacar que el sonido de prueba siempre funcionó para los teléfonos de pila o el altavoz externo, por lo que en mi caso es una cuestión de detección escamosa. Probablemente ese no sea el caso universal. Describí los síntomas en mi caso con mayor detalle en otra parte .

mlncn
fuente
0

Editar /etc/pulse/default.pa

comentario siguiente:

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

y descomente las dos últimas líneas:

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

Ahora sus enchufes Jack estarán activos después del arranque.

linuxmarc
fuente