jueves, 11 de febrero de 2010

Actualizar Drivers Alsa en Ubuntu 9.04

En mi computadora me funcionaba re mal. Al final me di cuenta que ese podia ser los drivers de sonido. Busque en una página de descargas en la categoría linux y encontre el siguiente tutorial que me resolvió el problema.



CONSEJO


Antes de rompernos la cabeza con Alsa y llegar casi a la desesperación, es muy recomendable verificar que no es debido a una mala configuración ya que esto es muy habitual.
Para verificar la configuración pincha aquí

BUENO, AHORA PODEMOS VER AL TEMA QUE NOS TRATA:
Esta entrega de ALSA 1.0.20 tiene muchos cambios, pero algunos destacables son los que afectan al driver C-Media Oxygen, HDA Codec y HDA Intel. Sin embargo, los usuarios de Creative X-Fi tendrán que seguir esperando.
El driver de Oxygen es el que soporta tarjetas de la gama alta del segmento “gaming/consumer” como son la Razer Barracuda AC-1 y la Asus Xonar. Hace un par de años este driver fue reescrito debido a que no había tenido una buena fundación. En ALSA 1.0.20 ahora el driver Oxygen tiene soporte para la tarjeta de sonido Xonar Essence STX, soporte para salida de audífonos en las tarjetas Claro entre otras mejoras

Nota: Esto es para las personas que quieran probar la nueva versión de Alsa, o quienes tengan problema con su tarjeta de sonido. Tened en cuenta que estamos tocando archivos muy importantes (el kernel) y podeis liarla, por lo que conlleva cierto riesgo, mucho cuidado.

PREINSTALACION

Para no tener problemas en la instalación y actualización del driver, nos debemos de cerciorar que tenemos instalados los siguientes paquetes de los últimos headers del kernel:


module-assistant
build-essential
fakeroot
dh-make
debhelper
debconf
libstdc++5
linux-headers-generic


Vamos a Aplicaciones - Accesorios - Terminal y ponemos:

sudo aptitude install module-assistant build-essential fakeroot dh-make debhelper debconf libstdc++5 linux-headers-generic


Nos instalará los que no tengamos instalados y sus dependencias. Nos preguntará si queremos seguir, le damos a Enter y se instalará.

También instalamos las dependencias requeridas para la compilación, con el siguiente comando:

sudo apt-get -y install build-essential ncurses-dev gettext xmlto linux-headers-`uname -r`


Necesitamos también instalar "libncurses5-dev" para poder compilar las librerías con el siguiente comando:


sudo aptitude install libncurses5-dev


Necesitamos los últimos drivers de Alsa, y para ello nos descargamos de la página oficial de Alsa los siguientes paquetes:
(Están arriba a la derecha de su página).


http://www.alsa-project.org/main/index.php/Main_Page



Nosotros lo vamos a descargar en nuestra carpeta personal: /home/usuario/


alsa-driver-1.0.20.tar.bz2
alsa-lib-1.0.20.tar.bz2
alsa-utils-1.0.20.tar.bz2
alsa-oss-1.0.17.tar.bz2



Este último paquete (alsa-oss-1.0.17) es opcional y contiene una librería para la compatibilidad con OSS (antecesor de ALSA y hoy en día en desuso) siendo utilizada por programas antiguos que usan la interfaz de sonido OSS de ALSA.

Nos descargará 4 paquetes .tar.bz2 que tenemos que descomprimir dando con el botón derecho del ratón sobre ellos y seleccionando "extraer aquí". Nos descomprimirá los siguientes paquetes:


alsa-driver-1.0.20
alsa-lib-1.0.20
alsa-utils-1.0.20
alsa-oss-1.0.17



Una vez extraídos borramos los paquetes .tar.bz2 o los guardamos en otro lugar si los queremos conservar para no liarnos.

Ahora nos cercioramos de que Ubuntu viene con soundcore compilado cómo módulo, para ello en una terminal ponemos el siguiente comando:


modinfo soundcore


Y nos deberá devolver algo parecido a:


filename: /lib/modules/2.6.28-13-generic/kernel/sound/soundcore.ko
alias: char-major-14-*
license: GPL
author: Alan Cox
description: Core sound module
srcversion: 73D4C7B18BCDAF17EE3F9B5
depends:
vermagic: 2.6.28-13-generic SMP mod_unload modversions 586


En algunos sitios he leído que hay que detener el proceso Alsa Utilities, para la instalación de los drivers, en una terminal con el siguiente comando:

sudo /etc/init.d/alsa-utils stop

Personalmente no veo la necesidad de esto, pero aquí os lo dejo para vuestro conocimiento.

Bueno pues ya tenemos todo listo para compilar e instalar los drivers.

NOTA: PARA VOLVER AL DRIVER ANTERIOR por si metemos la pata o simplemente no nos funciona este, ponemos los siguientes comandos en una terminal (uno a uno):

sudo aptitude install module-assistant build-essential


sudo module-assistant prepare,update


sudo aptitude install alsa-source


sudo module-assistant build,install alsa


sudo depmod


INSTALACION

He encontrado 2 maneras de hacerlo, donde la única diferencia es que uno crea la carpeta donde trabajaremos, que llamaremos "alsa", en el sistema de archivos /etc/src/ y el otro en nuestra carpeta personal /home/usuario/.

OPCION 1: en /usr/src/

Creamos una carpeta nueva, que llamaremos "alsa" en "/usr/src/".

Para editar esta carpeta debemos de acceder a ella en modo root. Para ello en una terminal ponemos el siguiente comando:


sudo nautilus /usr/src/


Se nos abrirá una ventana y dando clic con el botón derecho del ratón seleccionamos "crear una carpeta" y le ponemos el nombre de "alsa". La abrimos y pegamos las 4 carpetas que descomprimimos antes para su compilación y cerramos la carpeta y el terminal:

Compilamos uno a uno los 4 paquetes:

1. alsa-driver-1.0.20

Abrimos una terminal y nos situamos dentro de esta carpeta con el siguiente comando:

cd /usr/src/alsa/alsa-driver-1.0.20


Configuramos los drivers:
Para ver que tipo de tarjeta tenemos ponemos en una terminal:

lspci | grep -i audio

En mi caso me dá que mi tarjeta es hda-intel por lo que pongo el siguiente comando:

sudo ./configure --with-cards=hda-intel --with-kernel=/usr/src/linux-headers-$(uname -r) --with-oss=yes

En caso de que no lo sepan o no estemos seguros de qué poner, no hay problema, ponemos el siguiente comando:

sudo ./configure --with-kernel=/usr/src/linux-headers-$(uname -r) --with-oss=yes


Nota: Si hemos decidido no instalar alsa-oss, omitimos --with-oss=yes de los anteriores comandos.

Y ahora instalamos con:

sudo make


sudo make install


2. alsa-lib-1.0.20


Nos situamos dentro de esta carpeta con el siguiente comando:

cd /usr/src/alsa/alsa-lib-1.0.20


Configuramos e instalamos con:

sudo ./configure


sudo make


sudo make install


3. alsa-utils-1.0.20

Nos situamos dentro de esta carpeta con el siguiente comando:

cd /usr/src/alsa/alsa-utils-1.0.20


Configuramos e instalamos con:

sudo ./configure


sudo make


sudo make install


4. alsa-oss-1.0.17. Si hemos decidido no instalarlo omitimos esto.

Nos situamos dentro de esta carpeta con el siguiente comando:

cd /usr/src/alsa/alsa-oss-1.0.17


Configuramos e instalamos con:

sudo ./configure


sudo make


sudo make install


Terminado esto, solo hace falta reiniciar el equipo y Alsa estará actualizado, puedes verificarlo escribiendo en la terminal:

cat /proc/asound/version

Te saldrá:
Advanced Linux Sound Architecture Driver Version 1.0.20.

Nos vamos a el menú Sistema > Preferencias > Sonido

Por defecto estará en Autodetectar, probamos el sonido y si no nos funciona vamos probando los drivers que nos salgan en el desplegable.

Revisa los niveles de sonido con alsamixer (en una terminal pones alsamixer y para salir le das a la tecla Esc).


OPCION 2: en /home/usuario/.

Aquí trabajamos en la carpeta /home/usuario/ y aquí, creamos una carpeta con el nombre alsa.

Con las 4 carpetas descomprimidas en nuestro /home/usuario/ las colocamos en la carpeta recién creada "kaos" y uno a uno vamos a compilar los 4 paquetes.

1. alsa-driver-1.0.20

Abrimos una terminal y nos situamos dentro de esta carpeta con el siguiente comando:

cd /home/usuario/alsa/alsa-driver-1.0.20


Nota: donde pone "usuario" ponemos el nombre de nuestro usuario.

Configuramos los drivers:
Para ver que tipo de tarjeta tenemos ponemos en una terminal:

lspci | grep -i audio

En mi caso me dá que mi tarjeta es hda-intel por lo que pongo el siguiente comando:

sudo ./configure --with-cards=hda-intel --with-kernel=/usr/src/linux-headers-$(uname -r) --with-oss=yes

En caso de que no lo sepan o no estemos seguros de qué poner, no hay problema, ponemos el siguiente comando:

sudo ./configure --with-kernel=/usr/src/linux-headers-$(uname -r) --with-oss=yes


Nota: Si hemos decidido no instalar alsa-oss, omitimos --with-oss=yes de los anteriores comandos.

Y ahora instalamos con:

sudo make


sudo make install


2. alsa-lib-1.0.20

Nos situamos dentro de esta carpeta con el siguiente comando:

cd /home/usuario/alsa/alsa-lib-1.0.20


Nota: donde pone "usuario" ponemos el nombre de nuestro usuario.

Configuramos e instalamos con:

sudo ./configure


sudo make


sudo make install


3. alsa-utils-1.0.20.

Nos situamos dentro de esta carpeta con el siguiente comando:

cd /home/usuario/alsa/alsa-utils-1.0.20


Nota: donde pone "usuario" ponemos el nombre de nuestro usuario.

Configuramos e instalamos con:

sudo ./configure


sudo make


sudo make install


4. alsa-oss-1.0.17. Si hemos decidido no instalarlo omitimos esto.

Nos situamos dentro de esta carpeta con el siguiente comando:

cd /home/usuario/alsa/alsa-oss-1.0.17


Nota: donde pone "usuario" ponemos el nombre de nuestro usuario.

Configuramos e instalamos con:

sudo ./configure


sudo make


sudo make install


Terminado esto, solo hace falta reiniciar el equipo y Alsa estará actualizado, puedes verificarlo escribiendo en la terminal:

cat /proc/asound/version

Te saldrá:
Advanced Linux Sound Architecture Driver Version 1.0.20.

Nos vamos a el menú Sistema > Preferencias > Sonido

Por defecto estará en Autodetectar, probamos el sonido y si no nos funciona vamos probando los drivers que nos salgan en el desplegable.

Revisa los niveles de sonido con alsamixer (en una terminal pones alsamixer y para salir le das a la tecla Esc) y súbelos a tope todos.


Posibles soluciónes a posibles problemas de audio o sonido en Ubuntu 9.04:

1. Si el problema es que el icono de sonido del panel superior te sale tachado y al pinchar en él te sale el siguiente mensaje:

El control de volumen no encontró ningún elemento y/o dispositivo que controlar. Eso significa que no tiene los complementos correctos de GStreamer instalados o que no tiene una tarjeta de sonido configurada.

La solución está en el blog en "Alsa no reconoce la tarjeta de sonido en Ubuntu 9.04"

2. Una vez instalados los driver y si tenemos problemas, echad un vistazo en el blog a: "problemas tarjeta audio hda intel en ubuntu 9.04" Para hacer lo siguiente:

Tenemos que decir a ALSA el modelo de tarjeta que tenemos editando como administrador el archivo alsa-base.conf con
sudo gedit /etc/modprobe.d/alsa-base.conf
Introducimos la contraseña y se nos abre el archivo.

Nota: Yo voy a poner "hda-intel" y "auto" porque lo he sacado con el post "problemas tarjeta audio hda intel en ubuntu 9.04" mencionado antes.

Agregamos a la última fila:
#Añadido por mi
options snd-hda-intel model=auto
El comentario #... es opcional y no funciona, yo siempre que añado lineas lo pongo para recordar por si pasa algo raro.

3. He encontrado por la red algunos problemas con tarjetas Intel que se quedaban mudas al actualizar Alsa y que solucionaban con la instalación de este paquete:
sudo aptitude install linux-backports-modules-jaunty



http://www.taringa.net/posts/linux/3402349/Instalar-y-Actualizar-Drivers-Alsa-en-Ubuntu-9_04.html

No hay comentarios:

Publicar un comentario