Ver la TDT en linux (af9015/af9016) | Algo de Linux

sábado, 14 de junio de 2008

Ver la TDT en linux (af9015/af9016)

No hace mucho tiempo compré un sintonizador TDT usb de la marca TVISTO y por más que busqué no encontré soporte para hacerlo funcionar en linux. Estos últimos días he estado buscando información y he conseguido hacerlo funcionar.

Este dispositivo TDT tiene un chipset af9016. Pues bien, no sólo me he llevado la sorpresa de que funcionase en linux, sino que además, lo están incorporando muchos sintonizadores de diferentes marcas.

Es una buena opción por resultar bastante económico. Eso sí, si os animáis a comprar uno, tened en cuenta que la antena que incorporan es insuficiente para recibir la señal de tdt dentro de casa y tendréis que conectarlo a la toma de antena de vuestra vivienda. Por lo que he podido comprobar, la antenita sirve, pero sólo para exterior.

Pues bien, vamos a ver como hacer funcionar un sintonizador TDT TVISTO o de otro fabricante, que incorpore el chipset af9015 o el af9016.

El TVISTO tiene el chipset af9016, que es compatible con el af9015, por lo que utilizaremos el mismo firmware tanto si tenemos un chipset como si tenemos el otro.

Lo primero a la hora de instalar nuestro dispositivo, es ver qué chipset tiene, para lo que conectamos el dispositivo en un puerto usb y ejecutamos el siguiente comando en un terminal:

# lsusb

Y nos mostrará en pantalla el chipset de nuestro dispositivo. En el caso de nuestro sintonizador TVISTO nos mostrará algo parecido a lo siguiente:

Bus 005 Device 004: ID 15a4:9016

Si tuviéramos un sintonizador con el chipset af9015, la salida del comando sería:

Bus 005 Device 004: ID 15a4:9015

Fijándonos en la salida, vemos que nuestro chipset es el 9016.

Una vez que hemos comprobado que tenemos el chipset necesario, instalaremos las herramientas necesarias para compilar el módulo que haga funcionar nuestro dispositivo:

# apt-get install build-essential gcc make

Si ya hemos compilado software en alguna otra ocasión, las tendremos instaladas.

Además, tendremos que instalar mercurial:

# apt-get install mercurial

Y las cabeceras del núcleo:

# apt-get install linux-headers-$(uname -r)

Una vez que tenemos las herramientas, descargamos el firmware. Yo lo descargué desde el siguiente sitio:

http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/

Una vez descargado, lo copiamos al directorio donde se guarda el firmware:

# cp dvb-usb-af9015.fw /lib/firmware/$(uname -r)/

Ahora que ya tenemos el firmware, vamos a descargar los drivers:

# hg clone http://linuxtv.org/hg/~anttip/af9015/archive/tip.tar.gz

Al ejecutar el comando comenzará un proceso mediante el cual se comenzará a instalar en nuestro ordenador una serie de archivos que nos servirán para construir los drivers.

Una vez terminado el proceso, se nos habrá creado un directorio. Entramos dentro de él:

# cd tip.tar.gz

Ahora compilamos los drivers:

# make

Y los instalamos:

# make install

Una vez instalado, es interesante hacer que los drivers se carguen al iniciar la máquina. Para ello, no tenemos más que añadir dvb-usb-af9015 al fichero /etc/modules:

# echo dvb-usb-af9015 >> /etc/modules

Y listo. Podemos reiniciar el sistema para comprobar que el módulo se carga en el inicio.
Una vez reiniciado, hacemos:

# lsmod|grep af9015

Y comprobaremos que el módulo se ha cargado.

Yo no he tenido problemas para que funcione el sonido ni la imagen, pero hay gente que comenta que sí. Podría ser por la versión del firmware, quizás. Así que, si no os funciona, descargad el firmware de otro sitio y probad de nuevo.

Para comprobar que el módulo se carga correctamente o si da algún error, podéis ejecutar el siguiente comando en un terminal:

# dmesg|grep af9015

Una vez instalado el dispositivo, os faltaría el software para ver la tdt. Lo más cómodo es kaffeine, que podéis instalar con apt-get install kaffeine si se encuentra en vuestros repositorios, aunque a mí me parpadea un poco la imagen, como si no recibiera buena señal...
En cambio, con mplayer no me ha pasado eso.
La verdad es que no he tenido tiempo de volver a probarlo. Pero cuando pueda intentaré descubrir por qué.

Una cosilla: Para comprobar si hay cobertura TDT en la zona donde queréis probar vuestro dispositivo, podéis entrar en:

http://www.tdt.es

15 comentarios:

ALF... dijo...

Estupendo tutorial. Creo que le sobra un espacio en la descarga de drivers antes de antiip.

enavas dijo...

Es cierto. Mil gracias. Fui tomando nota conforme iba instalando mi sintonizador TDT: Un TVISTO y al escribirlo en el blog se me coló la errata. Ya está modificado.

Anónimo dijo...

Hola ! Soy principiante y me resulta dificil compilar los drivers. Sería posible descargarlos ya listos para instalar.
Estoy utilizando Linpus el OS del mini Acer Aspire One que deriva de Fedora 8 y no sé si los drivers valen para todas las distribuciones de Linux. Saludos Francisone

Esteban M. Navas Martín dijo...

Una de las cuestiones por las que me puse a compilarlos fue que no encontré ningún paquete que me lo diera ya hecho.

Intenta compilarlos. No es difícil.

Anónimo dijo...

Uhhh !

Es la primera vez que logro instalar drivers ! Gracias gracias gracias

Anónimo dijo...

gracias, gracias,gracias.agradecer no cuesta nada
Tengo inslado unbutu 8.10 y utilizo kaffeine para ver TDT. perfecto

Jordi Mercader dijo...

Gracias a este tutorial he podido configurar mi TDT USB TVISTO. De todas maneras no lo he configurado en Ubuntu ni ninguna distribucion Debian sino en openSUSE 11.1 con lo que hay diferencias entre este tutorial y lo que yo he tenido que hacer. Paso a explicar las diferencias.

- He tenido que instalar via YaST: gcc, make, linux-kernel-headers y kernel-sources.
- El make install lo he tenido que hacer con sudo. No me dejaba escribir un archivo.
- Para cargar el modulo hay que ir al YaST, Sistema, Editor /etc/sysconfig y dentro del editor ir a System, Kernel, MODULES_LOADED_ON_BOOT y en la casilla de la derecha escribir "dvb-usb-af9015" (sin comillas).

Estas son las diferencias entre el tutorial y mi procedimiento en openSUSE 11.1

Saludos!

Jordi Mercader dijo...

Por cierto, en el tutorial hay un error tipografico.
# echo dbv-usb-af9015 >> /etc/modules deberia ser # echo dvb-usb-af9015 >> /etc/modules

Esteban M. Navas dijo...

Gracias. Queda corregido el error tipográfico.

Sayonara dijo...

no me funciona este comando me aborta la orden: # hg clone http://linuxtv.org/hg/~anttip/af9015/archive/tip.tar.gz
saludos

barbate dijo...

Sayonara, puedes descargarte el archivo desde el explorador, luego los descomprimes y los pasos son los mismos.

un saludo y gracias por el tuto.

ohrizonte dijo...

gracias por tu tutorial, es sencillo y facil de seguir, segun lo que leo a casi todos les funcion pero a mi me da un error al dar la orden make dentro del directorio, cuando compila archivos relativos a fireware 1384 despues sigue y termina, ordeno make install segun dices y no da error pero despues termino el proceso y reinicio y na de na, no funciona, se te ocurree que puede ser.,

saludos

Esteban M. Navas dijo...

Cuando haces el make estás compilando la aplicación, y si te tira algún error es porque te falta algo. Fíjate bien en los errores que te da para ver lo que te falta e instalarlo.
Lógicamente, si la compilación no se ha efectuado completamente, la instalación (make install) no funcionará.

Anónimo dijo...

Excelentísimo tutorial sobre el tema, mejor imposible, estaba buscando precisamente esta información y aquí está detallada de forma bien detallada.
Infinidad de gracias por tomarte el tiempo de crear este blog.

Unknown dijo...

Este tema es antiguo pero mi problema persiste... Resulta que el driver ya no está alojado en http://linuxtv.org/hg/~anttip/af9015/archive/tip.tar.gz. Conoceis algun sitio alternativo?