Drivers rtl2831u Zaapa TDT USB (ZT-DVBTSTUSB) en Ubuntu 9.10 (Karmic)

manuales - Linux

Quien se haya pasado a ubuntu karmic o haya actualizado a un kernel superior a la versión 2.6.28-11 habrá comprobado que siguiendo el post donde explicaba la instalación de estos drivers en la compilación habrá tenido problemas. A continuación voy a explicar la forma de instalar estos drivers en cualquier kernel utilizando ubuntu, lo que vamos a hacer es compilar todo el kernel.

fuente -> http://metalzonix.wordpress.com/2009/11/05/instalar-drivers-rtl2831u-zt-dvbtstusb-compilando-el-kernel-en-ubuntu-karmic/

### EDITADO - Gracias a jimmykruspe por su comentario :) ###


Por un lado necesitamos el codigo fuente del kernel parcheado por ubuntu y por otro los drivers que vienen en el cd de la tarjeta DVB

Para descargar el codigo fuente del kernel

& sudo apt-get install linux-source

Tambien necesitaremos descargar otros paquetes, por ejemplo la libreria ncurses para modificar el kernel y a el paquete kernel-package

& sudo apt-get install libncurses5-dev kernel-package build-essential


Ahora vamos con los drivers. Podemos descargarlos de aquí o bien los cogemos de nuestro cd  y en los dos casos copiamos la carpeta 080821_rtd2831u_linux_driver en el escritorio. Ahora viene algo muy importante, si son los drivers del cd tenemos que hacerle una modificación, es muy importante este paso,  sino no funcionarán. Si los drivers son los descargados, obviamos este paso. La modificación que hay que hacer es la siguiente:

* Entramos en la carpeta 080821_rtd2831u_linux_driver y abrimos el archivo tuner_base_2831u.h
* En la línea 16 del archivo donde pone #include “foundation.h” debemos cambiarlo #include “foundation_2831u.h”
* Guardamos los cambios y listo.

Bien, ahora tenemos que copiar los drivers en el codigo fuente del kernel que hemos descargado para compilarlo, para ello en terminal escribimos:

& cd /usr/src

En mi caso el codigo fuente descargado correspondia con la versión 2.6.31, para ver que versión hemos descargado, ls, mostrará el archivo .tar.bz2 que tenemos.

& sudo tar xvjf linux-source-2.6.31.tar.bz2

Para crear un enlace simbólico al kernel

& sudo ln -s linux-source-2.6.31 linux& cd /home/nombre-usuario/Escritorio/080821_rtd2831u_linux_driver

Copia los dirvers en el kernel

& sudo cp -f *.* /usr/src/linux/drivers/media/dvb/dvb-usb

Abrimos el Makefile y el Kconfig que se encuentran en el directorio /usr/src/linux/drivers/media/dvb/dvb-usb.

& sudo gedit /usr/src/linux/drivers/media/dvb/dvb-usb/Makefile

Y añadimos las siguientes lineas:

dvb-usb-rtl2831u-objs = math_mpi.o foundation_2831u.o demod_rtl2830.o tuner_demod_io.o tuner_mxl5005s.o mt_spuravoid.o mt_userdef.o mt2060_basic.o tuner_ah.o MT2060Tuner.o rtd2830.o rtd2830u.o
obj-$(CONFIG_DVB_USB_RTL2831U) += dvb-usb-rtl2831u.o

Guardamos y hacemos lo mismo con el kconfig

& sudo gedit /usr/src/linux/drivers/media/dvb/dvb-usb/Kconfig

config DVB_USB_RTL2831U
tristate "Realtek RTL2831U DVB-T USB2.0 support"
depends on DVB_USB
help
Realtek RTL2831U DVB-T driver.

Ahora vamos a configurar el kernel para que compile los drivers.

& cd /usr/src/linux

& sudo make menuconfig


Y se nos abrerá un menú, tenemos que ir a:

Device Drivers  —> Multimedia support  —> DVB/ATSC adapters —> Realtek RTL2831U DVB-T USB2.0 support  y pulsamos M para habilitar este modulo, guardamos los cambios y cerramos el menú.

Ya solo no queda compilar el kernel e instalarlo. En el mismo directorio /usr/src/linux/

& sudo make-kpkg --initrd kernel_image kernel_headers

La compilación va a tardar un buen rato, asi que te puedes armar de paciencia y esperar. Cuando finalice vamos a la carpeta /usr/src/ ya sea mediante la terminal o de forma gráfica y ejecutamos los dos .deb para instalar el nuevo kernel. Mediante terminal sería así:

& dpkg -i kernel-image-2.6.31.4_10.00.Custom_amd64.deb

& dpkg -i kernel-headers-2.6.31.4_10.00.Custom_amd64.deb

Si queremos podemos guardarnos los dos paquetes .deb para instalarlos en otra ocasión.

Espero que os sea de gran ayuda.

Más información sobre el compilado del Kernel aquí