Too Cool for Internet Explorer

Avermedia AverTV Go 007 FM 4

Hora y Fecha: Enero 4, 2006 @ 8:13 pm Autor: Moisés Maciá
Categorías:
924 views

Ese nombrajo corresponde a una tarjeta sintonizadora de TV que me ha traido por la calle de la amargura durante los ultimos dias ya que no se dejaba instalar en Linux, pero para cabezota yo. He conseguido hacerla funcionar en Linux.

Antes de desvelar los mágicos arcanos que nos permitiran ver la tele, un poco de culturilla:

Lleva un chip decodificador SAA7131e y un chip sintonizador TDA8275, ambos del fabricante Philips.

En Linux hay soporte completo para estos dispositivos a partir del kernel 2.6.15, como hace unas horas que acaba de salir tenemos un pequeño problema: Ubuntu Breezy Badger incluye el kernel 2.6.10 y la tarjeta es detectada pero no reconocida.

La soluciones esperar a que los de Ubuntu empaqueten el kernel 2.6.15 o superior y actualizar a golpe de apt-get (cosa que puede demorar varios meses) o compilar nosotros mismos el modulo v4l2 del kernel, que contiene toda la recopilación de drivers para un buen puñado de tarjetas de TV analógica y Digital Terrestre.

Las instrucciones necesarias para realizar esta labor se comentan en el Wiki de V4L, pero como estan en ingles haremos un somero repaso por aquello de quedar bien.

Primero necesitamos todas las herramientas de compilación y las cabeceras de nuestro kernel. Normalmente este tipo de cosas no se instalan por defecto:

apt-get install build-essential
apt-get install linux-kernel-headers

Entramos al repositorio CVS:

cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/video4linux login

Cuando pida el password, presiona la tecla enter para continuar.

Bajamos el contenido del repositorio con todo el codigo de los drivers actualizados:

cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/video4linux co v4l-dvb 

Cambiamos al directorio v4l2-dvb:

cd v4l-dvb

Compilamos todas las fuentes:

make

Instalamos los nuevos módulos en el sistema (como root):

make install

Reiniciamos y Linux automaticamente detectará el hardware y cargará los módulos adecuados.

Pero eso no es todo, ahora tenemos imagen en la TV pero no sonido. Resulta que hay un conflicto en la carga de los módulos y el sistema de sonido del kernel 2.6 (ALSA). Los desarrolladores de V4L le han pasado la pelota a los desarrolladores del kernel y parece que todavia no hay una solución.

Hay un pequeño hack que me ha funcionado mientras se soluciona el problema:

modprobe saa7134-oss
sox -t ossdsp -w -c2 -r 32000 /dev/dsp1 -t ossdsp /dev/dsp

Con la primera instrucción cargamos el modulo de compatibilidad con OSS (el antiguo sistema de sonido de Linux) y se crean dos nuevos dispositivos de sonido: /dev/dsp1 y /dev/mixer1 correspondientes a la tarjeta de tv.

La segunda instrucción “redirige” todo lo que salga del dispositivo de la tarjeta de TV a la tarjeta de sonido: /dev/dsp.

De momento hay que hacer todo esto cada vez para tener la TV funcionando, próximamente cuando todos los parches esten aplicados en el kernel, el sistema hotplug de Linux se encargará de todo.

linux, hardware, tech




Bad Behavior has blocked 374 access attempts in the last 7 days.