Mic. input broken on an Acer 1410

Thanks to Mathieu Bouffard, he helped me to to workaround the issue with my mic in Acer Aspire One 1410.

Issue:

Somehow the ALSA driver is trying to pass to PulseAudio an stereo output that PulseAudio doesn’t understand.

Solution:

Use jackd as a “proxy” between ALSA and PulseAudio, jackd will capture the input in mono from the ALSA driver, and pass it to PulseAudio.

Download his module for PulseAudio:

# yum install pulseaudio-module-jack

Configure PulseAudio to no auto respawn when killed.

echo "autospawn = no" > ~/.pulse/client.conf

Create a file in our home directory ~/jackd.pa

#!/usr/bin/pulseaudio -nF

###
# these modules will connect to JACK
load-module module-jack-sink
load-module module-jack-source

###
#add-autoload-sink output module-jack-sink channels=2
#add-autoload-source input module-jack-source channels=2
#load-module module-esound-protocol-unix
load-module module-native-protocol-unix
load-module module-volume-restore
#load-module module-stream-restore
load-module module-rescue-streams
.nofail


###
load-module module-x11-publish
load-module module-gconf

###
# Load LIRC for Pulse
# load-module module-lirc sink=jack_out config=/home/mbouffard/.lircrc

Create the config file for ALSA: ~/.asoundrc

# .asoundrc

pcm.!default {
type pulse
hint.description "Default Audio Device"
}
ctl.!default {
type pulse
}

and last but not least, create a mini-script to launch PulseAudio using this configuration. I called it ~/pulsejack:

killall jackd ; pulseaudio --kill
/usr/bin/jackd -S -v -r -dalsa -dhw:0 -r48000 -p1024 -n2 &
pulseaudio -n -F jackd.pa
while [ $? -eq 137 ]; do
sleep 5; #sometimes after get started pulseaudio got killed somehow
pulseaudio -n -F jackd.pa
done

We run our script:

chmod +x ~/pulsejack
~/pulsejack

A patch was submitted to the alsa devel team to fix this problem at ALSA level.

Español

Gracias a Mathieu Bouffard, él me ayudo a a configurar mi micrófono en mi Acer Aspire One 1410.

Problema:

De algún modo el driver de ALSA esta tratando de pasarle a PulseAudio una salida stereo que PulseAudio no entiende.

Solución:

Usando jackd como un “proxy” entre ALSA y PulseAudio. Jackd va a capturar la entrada mono desde el driver de ALSA y se lo va a pasar a PulseAudio

Descargamos el siguiente modulo de PulseAudio:

# yum install pulseaudio-module-jack

Configuramos PulseAUdio para no auto-reiniciarse cuando lo matamos.

echo "autospawn = no" > ~/.pulse/client.conf

Creamos el siguiente archivo en nuestro home: ~/jackd.pa

#!/usr/bin/pulseaudio -nF

###
# these modules will connect to JACK
load-module module-jack-sink
load-module module-jack-source

###
#add-autoload-sink output module-jack-sink channels=2
#add-autoload-source input module-jack-source channels=2
#load-module module-esound-protocol-unix
load-module module-native-protocol-unix
load-module module-volume-restore
#load-module module-stream-restore
load-module module-rescue-streams
.nofail


###
load-module module-x11-publish
load-module module-gconf

###
# Load LIRC for Pulse
# load-module module-lirc sink=jack_out config=/home/mbouffard/.lircrc

Creamos el archivo de configuración para ALSA: ~/.asoundrc

# .asoundrc

pcm.!default {
type pulse
hint.description "Default Audio Device"
}
ctl.!default {
type pulse
}

Y por ultimo, creamos un mini-script para lanzar PulseAudio usando esta configuración. Yo lo llame ~/pulsejack:

killall jackd ; pulseaudio --kill
/usr/bin/jackd -S -v -r -dalsa -dhw:0 -r48000 -p1024 -n2 &
pulseaudio -n -F jackd.pa
while [ $? -eq 137 ]; do
sleep 5; # a veces despues de iniciar alguien o algo mata a pulseaudio
pulseaudio -n -F jackd.pa
done

Ejecutamos nuestro script:

chmod +x ~/pulsejack
~/pulsejack

Un patch fue enviado al team de ALSA para solucionar este problema desde el driver.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s