sábado, 5 de noviembre de 2011

Alsamixer: No se pueden cargar los controles del mezclador

Situación:

Ordenador ajeno. Windows va un poco lento y tengo un DVD de Molinux 6.0 "Zoraida", la distro del Gobierno de la Comunidad de Castilla-La Mancha, basada en ubuntu 10.04.

Lo usaré en modo Live. Unos minutos después... Oh NOOO! ¡No funciona el sonido!

Abro una terminal y ejecuto:

$ alsamixer

Con la esperanza de que todo sea cosa de subir algún nivel o de activar algún canal. Pero aparece este mensaje:
no se pueden cargar los controles del mezclador: Argumento inválido

Lo primero que hago es mirar si realmente tengo una tarjeta de sonido:

$ lspci |grep -i audio

Que me devuelve:

00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)

También echo un vistazo a /proc/asound/...

$ cat /proc/asound/cards /proc/asound/modules

0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xfdff8000 irq 16
0 snd_hda_intel

¿Entonces, qué es lo que falla? La verdad es que snd-hda-intel soporta muchas tarjetas de audio parecidas pero diferentes. Voy a buscar el codec:

$ cat /proc/asound/card0/codec* |grep -i codec

Que me da:

Codec: Realtek ALC887

Y encuentro dos sitios donde se da la solución:

https://answers.launchpad.net/ubuntu/+source/alsa-driver/+question/150750 (comentario #2)
https://lists.ubuntu.com/archives/ubuntu-es/2011-March/046654.html

que consiste en agregar la línea

options snd-hda-intel model=generic

en el archivo /etc/modprobe.d/alsa-base.conf

Genial, pero ¿Qué hago yo con un Live CD? No puedo guardar ese archivo. ¿Cómo pasar esa opción al módulo snd-hda-intel sin reiniciar?

Pues lo primero es descargarlo:

$ sudo rmmod snd-hda-intel

Y ahora lo volvemos a cargar con la opción añadida al final:

$ sudo modprobe snd-hda-intel model=generic

Pulseaudio se queda medio-atontado con la operación: Si vamos a las preferencias de sonido nos aparece un dispositivo de salida bobo ("dummy").

Debido a la característica de "autospawn" de pulseaudio, matarlo es como reiniciarlo. Con k de kill:

$ pulseaudio -k

Y ahora sí:

$ speaker-test -c 2 -t wav

front left... front right... front left... front right... música para mis oídos.

6 comentarios:

  1. Enhorabuena por el post amigo Pablo, es una verdadera ayuda, y bien explicado, paso a paso. Toda una lección de un gran profesional y mejor maestro.l

    Un placer, como siempre, leer tus ayudas compañero.

    Gracias por todo.

    Salut

    ResponderEliminar
  2. "Debido a la característica de "autospawn" de pulseaudio, matarlo es como reiniciarlo"

    Es de lo mejor en enseñanza estimado Pablo, de lo mejor.

    Salut, amigo y reitero mis gracias por tu tiempo invertido en arreglar problemas de los demás.
    Esto no se puede pagar.

    Un abrazo.

    ResponderEliminar
  3. Muchas gracias por tu trabajo y por tu ayuda siempre Pablo.

    ResponderEliminar
  4. que consiste en agregar la línea

    options snd-hda-intel model=generic

    en el archivo /etc/modprobe.d/alsa-base.conf


    explica como hago eso solo explicas lo q haces con el live cd :/. Gracias

    ResponderEliminar
    Respuestas
    1. Encontre la solucion al problema de la resaca, no mentira a lo de editar el archivo

      sudo gedit /etc/modprobe.d/alsa-base.conf (poner eso q abre el archivo automaticamente)
      luego si son como yo que mucho no entienden poner options snd-hda-intel model=generic dentro del archivo (yo lo puse en donde estan las lineas que dicen options en la parte de arriba de esas lineas(reinicia la pc y anda, si no reinicias no anda repito)

      Gracias Pablo llevaba tiempo con este problema!!! sos un capo

      Eliminar
    2. perdón pero si no me equivoco debes entrar desde terminal a aplicaciones gráficas con gksudo

      Bueno espero aun revises este blog y me puedas contestar lo mas rápido posible gracias.

      Bueno estoy usando Ubuntu 12.04 Lts en un dvd live y tengo el mismo problema, aunque son versiones distintas e probado ya con muchos tutos y nada. En fin, cai en este blog y lo segui, iba todo bien hasta que en
      $ sudo rmmod snd-hda-intel
      Me da esto y no se que hacer:
      ERROR: Module snd_hda_intel is in use
      te lo agradecería si me puedes ayudar.

      Eliminar