Instalar drivers rtl2831u para el receptor TDT Zaapa en Ubuntu 10.04

En este post que escribí hace unos meses explicaba como instalar los drivers rtl2831u  en ubuntu-linux  compilando el código fuente del kernel. Sin embargo al intentar compilarlo para el kernel que trae Ubuntu 10.10, se produce un error en el código del drivers. Tenemos dos opciones utilizar el kernel antiguo (la cual no recomiendo) o utilizar los repositorios de Mercurial un VCS.

Primero vamos a conectar el receptor y a comprobar que nuestro ordenador lo detecta, vamos a la Terminal y escribimos:

# lsusb

Uno de las entradas deberá ser:

[…]
Bus 004 Device 003: ID 0bda:2831 Realtek Semiconductor Corp. 2831U Device
[…]

Vamos a instalar primero el source del kernel linux, este paso no se si del todo necesario pero por si acaso no esta de sobre hacerlo.

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

Instalamos también el software de Mercurial y seguimos los siguientes pasos

# sudo apt-get install mercurial
# hg clone http://linuxtv.org/hg/~jhoogenraad/rtl2831-r2
# cd rtl2831-r2/

Ahora podemos hacer dos cosas: una es compilar directamente el código descargado y otra descartar aquello que no vamos a necesitar y así también nos quitamos de errores al compilar.

# sudo make menuconfig

En Multimedia support podemos quitar (pulsando N):

  • Customize analog and hybrid tuner modules to build
  • Video capture adapters
  • Radio Adapters
  • DAB adapters

En DVB/ATSC adapters podríamos quitar casi todos, en mi caso solo eliminé FireDTV and FloppyDTV porque me daba error al compilarlo. Guardamos y cerramos el menuconfig. Después:

# sudo make clean
# sudo make
# sudo make install

Si todo ha ido bien y no nos ha devuelto ningún error ya debería estar todo correcto. Desconectamos y volvemos a conectar el adaptador y comprobamos que este se ha instalado correctamente

# lsmod | grep dvb

Y aparecerá algo así:

dvb_usb_rtl2831u      118735  1
dvb_usb_dibusb_common     8370  1 dvb_usb_rtl2831u
dvb_usb                19779  2 dvb_usb_rtl2831u,dvb_usb_dibusb_common
dvb_core              102255  1 dvb_usb
dib3000mc              12926  1 dvb_usb_dibusb_common

Ahora podemos instalar cualquier programa para ver el tv en linux como kaffeine y todo debería de funcionar bien.

42 Responses to Instalar drivers rtl2831u para el receptor TDT Zaapa en Ubuntu 10.04

  1. Juan dice:

    Ok funciono!!!
    Al igual que tu tuve que quitar FireDTV and FloppyDTV. intente compilarlo sin quitarselo, pero me dio un problema, se lo quite y a funcionar.

    Muchas gracias, por mantener un hilo tan activo.

  2. Garcialinux dice:

    Gracias.
    Ya puedo ver la TDT con esta tarjeta sintonizadora en Ubuntu 10.04.
    Creo que para poder usar make menuconfig necesitaremos instalar previamente las librerías Ncurses (sudo apt-get install libncurses-dev)

  3. pepe dice:

    Muchísimas gráficas. Nunca conseguí hacer funcionar mi tdt usb TVISTO (que lleva los mismos drivers), y ahora con tu receta ha sido espectacular.
    Junto con kaffeine (en Ubuntu 10.10) se ve mejor que con mi defenestrado güindos 7.
    Una pregunta, cuando compruebo la lista de controladores adicionales me aparece como novedad:
    Firmware para tarjetas DVB
    This package provides non-free firmware used by Linux kernel drivers.
    Most of the firmware in this package is for television tuner cards. However,non-free firmware for other classes of devices are provided as well.
    No me atrevo a activarlo vaya que me fastidie la configuración de la tdt.
    Que me aconsejas?
    salu2 y gracias de nuevo

  4. amanec dice:

    Buenas las indicaciones. A mí me funcionó a la primera y muy bien pero después de actualizar el sistema dejó de funcionar. ¿Eso ha de ser así? ¿Hay que reinstalar el driver tras ciertas actualizaciones? De hecho yo hice de nuevo un “sudo make install” reinicié el equipo y ya funciona de nuevo. No se si eso será apropiado.

    Agradecería alguna aclaración al respecto. Muchas gracias.

  5. metalzonix dice:

    Si, así es cada vez que actualices el kernel es necesario reinstalarlo, has hecho lo correcto. Si la actualización no incluye un kernel nuevo, entonces no hace falta que hagas nada.

  6. Paco dice:

    Muchas gracias por tu post, funcionó todo a la primera después de seguir tus indicaciones, tendré en cuenta cada que ves actualize un kernel a un nuevo,llevaba casi un año sin ver la tele en linux.

    Curioso tenia instalada ME TV y no funciono con el hasta que reinicie el sistema en cambio kaffeine que lo instalé después de haber instalado los drivers si funcionó, en fin debe ser cosas de los archivos de configuración del ME TV al estar instalado.

    Repito nuevamente M U C H A S G R A C I A S por compartir con nosotros.

  7. Paco dice:

    Hola despues de una actualizacion en la que aparecia un nuevo kernel, no funciono el programa incluso despues de reinstalar todo de nuevo, el problema esta en que no carga el modulo dvb pues no aparece con lsmod ni lsmod | grep dvb , alguna idea ME LAS PROMETIA MUY FELICES pero no he conseguido hacerlo funcionar de nuevo

    Gracias por la posible respuesta.

  8. metalzonix dice:

    Hola Paco, yo no tengo ahora el receptor instalado por lo que no se decirte si ese fallo es general o no. Lo único que se me ocurre es que pruebes a instalarlo compilando todo el kernel como se explica aquí https://metalzonix.wordpress.com/2009/11/05/instalar-drivers-rtl2831u-zt-dvbtstusb-compilando-el-kernel-en-ubuntu-karmic/ , vas a tardar un poco más pero seguramente te funcione.

  9. Oscar dice:

    Desde hace unos días no me funciona y he probado a instalarlo un montón de veces y nada. ¿Os pasa a vosotros?

  10. pepe dice:

    Hola otra vez.
    Tu método siempre me ha funcionado en ubuntu 10.10 y con todas las actualizaciones del kernel.
    Acabo de instalar desde cero ubuntu 11.04 ¿crees que servirá de nuevo?
    Un saludo y gracias

  11. metalzonix dice:

    Hola.
    Yo creo si te ha estado funcionando hasta ahora, no debería darte ningún problema. Instalado de nuevo.

  12. ppsalama dice:

    Bueno, pues por ahora, haciendo exáctamente todos los pasos, en el make sale este error:

    CC [M] /home/ppsalama/rtl2831-r2/v4l/flexcop-i2c.o
    /home/ppsalama/rtl2831-r2/v4l/flexcop-i2c.c: In function ‘flexcop_i2c_init’:
    /home/ppsalama/rtl2831-r2/v4l/flexcop-i2c.c:253:39: error: ‘I2C_CLASS_TV_DIGITAL’ undeclared (first use in this function)
    /home/ppsalama/rtl2831-r2/v4l/flexcop-i2c.c:253:39: note: each undeclared identifier is reported only once for each function it appears in
    make[3]: *** [/home/ppsalama/rtl2831-r2/v4l/flexcop-i2c.o] Error 1
    make[2]: *** [_module_/home/ppsalama/rtl2831-r2/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-headers-2.6.38-8-generic’
    make[1]: *** [default] Error 2
    make[1]: se sale del directorio «/home/ppsalama/rtl2831-r2/v4l»
    make: *** [all] Error 2

    lamentablemente no entiendo estas cosas, quizas haya que deshabilitar algo en el menuconfig, pero no sé qué.

    Agradecería tu ayuda.
    saludos

  13. metalzonix dice:

    Vamos a probar una cosa, entra en el menuconfig y en DVB/ATSC adapters deshabilita también la entrada Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters. Por el nombre parece que este módulo es el problemático.

  14. ppsalama dice:

    Gracias por tu pronta respuesta.
    Eso pensaba yo. Acabo de hacer eso que me dices y me da ahora el siguiente error
    CC [M] /home/ppsalama/rtl2831-r2/v4l/dmxdev.o
    /home/ppsalama/rtl2831-r2/v4l/dmxdev.c: In function ‘dvb_dmxdev_start_feed’:
    /home/ppsalama/rtl2831-r2/v4l/dmxdev.c:583:13: warning: comparison between ‘enum dmx_ts_pes’ and ‘enum ‘
    /home/ppsalama/rtl2831-r2/v4l/dmxdev.c: At top level:
    /home/ppsalama/rtl2831-r2/v4l/dmxdev.c:1142:2: error: unknown field ‘ioctl’ specified in initializer
    /home/ppsalama/rtl2831-r2/v4l/dmxdev.c:1142:2: warning: initialization from incompatible pointer type
    /home/ppsalama/rtl2831-r2/v4l/dmxdev.c:1211:2: error: unknown field ‘ioctl’ specified in initializer
    /home/ppsalama/rtl2831-r2/v4l/dmxdev.c:1211:2: warning: initialization from incompatible pointer type
    make[3]: *** [/home/ppsalama/rtl2831-r2/v4l/dmxdev.o] Error 1
    make[2]: *** [_module_/home/ppsalama/rtl2831-r2/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-headers-2.6.38-8-generic’
    make[1]: *** [default] Error 2
    make[1]: se sale del directorio «/home/ppsalama/rtl2831-r2/v4l»
    make: *** [all] Error 2

    ¿que harías tu?
    gracias de nuevo

  15. metalzonix dice:

    Usando “/” para buscar dentro de menuconfig he encontrado un módulo que se llama DM646x EVM Video Display y se encuentra dentro de ->Video capture adapters, pero no consigo verlo entrando por el menú. Si lo encuentras prueba a deshabilitarlo

  16. ppsalama dice:

    Ok… mañana lo pruebo… y dejo el comentario…. Muchísimas gracias
    salu2

  17. ppsalama dice:

    Hola de nuevo… Nada.
    No encuentro en el menuconfig nada parecido a dmxdev o dm646
    He probado a hacer el make sin modificar nada (salvo el flexcop), deshabilitando casi todo menos el RTL2831u, y no se cuantas deshabilitaciones más, y siempre da el error que te puse antes (dmxdev).
    Salu2

  18. metalzonix dice:

    Para el kernel 2.6.35 (no se si será el mismo que trae Ubuntu 11.04), he deshabilitado en Multimedia support las entradas Video captura adapters, Radio adapters y DAB adapters, además del módulo Technisat/B2C2 FlexCopII(b) and FlexCopIII; y se ha compilado sin problemas. Una cosa, ¿ estás utilizando el código actualizado de los repositorios de mercurial?

  19. ppsalama dice:

    Hola.
    El kernel es el 2.6.38-8 generic.
    En cuanto a lo de los repositorios de mercurial, lo único que he hecho es ejecutar en terminal lo de
    sudo apt-get install mercurial
    Lo acabo de hacer de nuevo y me devuelve
    mercurial ya está en su versión más reciente.
    0 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados.

  20. metalzonix dice:

    Me refería al código que se descarga al ejecutar hg clone http://linuxtv.org/hg/~jhoogenraad/rtl2831-r2 , pero si lo has instalado ahora estará actualizado.

  21. ppsalama dice:

    efectivamente. no tengo referencias sobre otro código que no sea ese

  22. ppsalama dice:

    Por cierto, la pagina de zaapa proporciona un driver linux
    http://www.zaapa.co.uk/Public/ficha_producto.asp?CPRO=752
    ¿es posible hacer algo con él? (el driver viene al final de la página)
    al descargarlo firefox lo identifica como un archivo bin, aunque luego, ya en el equipo, lo identifica como un rar. Si lo descomprimo crea una carpeta en la que, entre otros, hay un readme con instrucciones.
    ¿qué opinas?

  23. metalzonix dice:

    En este otro post https://metalzonix.wordpress.com/2009/11/05/instalar-drivers-rtl2831u-zt-dvbtstusb-compilando-el-kernel-en-ubuntu-karmic/ explico que hacer con esos drivers. Puede probar, vas a tardar un poco más pero no es nada difícil.

  24. metalzonix dice:

    Por cierto, ese es otro adaptador y el chip que tiene es rtd2831u diferente al nuestro.

  25. ppsalama dice:

    cierto lo del rtd…
    no me atrevo a compilar el kernel.
    como sabes mi tdt no es zaapa, es tvisto, pero tiene el chip rtl2861u.
    En la página de tvisto, proporcionan un driver, pero no hace referencia a este chip, sino, creo, al AF9015_MT2060

  26. metalzonix dice:

    No pasa nada, estás compilando el código fuente del kernel descargado, no del que estás usando. Además si tras compilarlo e instalarlo no funcionase puede seguir entrando con el kernel antiguo.

  27. ppsalama dice:

    ¿como compruebo que tengo el build-essential?

  28. ppsalama dice:

    pufff…. estoy sopesando compilar… tengo el cerebro ahora que no da para más… si cuando el kernel se actualice hay que compilar otra vez…
    habrá que seguir investigando
    Graciasssssssssssss

  29. ppsalama dice:

    Hola de nuevo.
    ¿crees que habría alguna posibilidad de descargar los “drivers” de jhoogenraad (rtl2831-r2) y, antes de hacer el make y el make install, “eliminar” de la carpeta o modificar algo para que solo queden los de rtl2831u?
    los errores me dan antes de llegar a los rtl2831u, “eliminando” lo superfluo igual se podría instalar. No entiendo mucho de esto y no se si se puede hacer
    Gracias

  30. metalzonix dice:

    Hola.
    Eso mismo intente hacer el otro día, eliminando todo lo innecesario, pero siempre me salia el mismo error que tu me comentaste. Luego ya por probar más que otra cosa, eliminé las líneas de código fuente que daban error. Por ejemplo:
    /home/ppsalama/rtl2831-r2/v4l/dmxdev.c:1142:2: error: unknown field ‘ioctl’ specified in initializer
    /home/ppsalama/rtl2831-r2/v4l/dmxdev.c:1142:2: warning: initialization from incompatible pointer type

    SI te das cuenta en la línea 1142 del archivo dmxdev.c es donde se produce el error, así eliminé varias lineas casi siempre con el mismo error. Al final conseguí instalarlo, pero luego no llegaba a detectar del todo el usb…

  31. metalzonix dice:

    He estado investigando un poco, parece que la el uso de ‘ioctl’ está obsoleto en el nuevo kernel y hasta que no lo actualicen seguirá dando problemas. http://forums.opensuse.org/english/get-technical-help-here/pre-release-beta/445511-virtualbox-kernel-modules-2-6-36rc3.html en esta web explica como solucionar ese problema pero en la instalación de virtualbox. Le echaré un vistazo haber que se puede hacer.

  32. ppsalama dice:

    Muchísimas gracias… estaré atento a este hilo.
    salu2

  33. ppsalama dice:

    Hola de nuevo…. googleando he visto que el Freecom dvbt usb tiene el mismo chip rtl2831u… googleando más encontré esto http://lists.debian.org/debian-arm/2011/04/msg00062.html que me llevó a esto
    http://www.ryanlothian.com/projects/linux/freecom-dvb-t-stick
    ¿Qué opinas?
    salu2

  34. oscarh dice:

    Hola,
    a mi me pasaba lo mismo, así que decidí poner fin al problema😀 Aquí tienes un parche para compilar en un kernel 2.6.38 (Ubuntu 11.04): DVB-T Realtek 2831U on Debian
    Un saludo y espero que te sirva.

  35. ppsalama dice:

    Hola de nuevo.
    No llego a entender como combinar el proceso que se describe en este post con el parche que menciona oscarth.
    Si me indicáis cómo lo pruebo y os cuento.
    Saludos y gracias

  36. metalzonix dice:

    Hola.
    Ahora estoy un poco liado y no he podido probar el parche, si todo va bien la próxima semana tendré aul rato para probarlo. Si funciona todo prometo hacer un nuevo post🙂.

  37. ppsalama dice:

    SSSStupendooooooo… Muy agradecido y salu2

  38. Samuel dice:

    Ya lo he intentado todo, hasta los nuevos parches, instalo todos los nucleos posibles, pero en 11.04 no consigo ver la tdt…
    El parche da un fallo de otro v4l common.

  39. ppsalama dice:

    ¡¡¡ Lo conseguí !!! he combinado las instrucciones de este post con el parche http://crysol.org/es/node/1082#comment-5014

    No soy experto en esto… en un probar por probar hice lo siguiente (trataré de recordarlo todo, no tomé notas porque no creía que funcionaría):

    # sudo apt-get install linux-source linux-headers-$(uname -r)
    # sudo apt-get install mercurial
    # hg clone http://linuxtv.org/hg/~jhoogenraad/rtl2831-r2
    # cd rtl2831-r2/

    hasta aquí como en este post…. ahora el parche tal y como dice

    # rtl2831-r2$ wget http://arco.esi.uclm.es/~oscar.acena/crysol/rtl2831/kernel_2.6.38.patch
    # rtl2831-r2$ patch -p1 < kernel_2.6.38.patch

    Dado que el post que habla del parche también habla de un archivo config… yo añado su descarga (aunque no se si hice algo con él, de hecho no se si vale o no)

    # rtl2831-r2$ wget http://arco.esi.uclm.es/~oscar.acena/crysol/rtl2831/config

    Ahora continúo como en este post

    # sudo make menuconfig

    Y aquí viene, creo, lo importante… deshabilité todo (salvo el apartado audio, quité las marcas a todo) y solo dejé lo que hacía referencia a RTL2831u

    # sudo make clean
    # sudo make
    # sudo make install

    Algún error por medio creo que dió, pero dió la sensación que la instalación finalizó correctamente así que… desconecté y volví a conectar el tdt usb stick zappa y…

    # lsmod | grep dvb

    bingooooooooooo !!! me apareció esto…

    dvb_usb_rtl2831u 93776 0
    dvb_usb 19240 1 dvb_usb_rtl2831u
    dvb_core 90137 1 dvb_usb

    Abrí VLC, desempolvé mi archivo channels.conf y…. viendo la tdt en Ubuntu 11.04.

    Rogaría a metalzonix, que tú si que sabes, que depurara o diera sentido a lo que he escrito en este comentario, con el fin de ver si he recordado algo mal o he hecho algo de más o de menos.

    GRACIAS.

  40. metalzonix dice:

    Muchas Gracias por la info, he estado muy liado y no tenido tiempo para ponerme manos a la obra que esto, pero si funciona así perfecto. Si me permites voy a escribir un post con estos pasos para que estén más visibles. Muchas gracias de nuevo.

  41. Pingback: Instalar drivers rtl2831u en Ubuntu 11.04 « Metalzonix

  42. Ezequiel dice:

    Antes de # sudo make menuconfig

    poner esto antes # sudo apt-get install ncurses-dev

    Para los que tienen errores al meter # sudo make menuconfig
    y les aparece :

    Unable to find the ncurses libraries or the *** required header files. *** ‘make menuconfig’ requires the ncurses libraries. *** *** Install ncurses (ncurses-devel) and try again. *** make[3]: *** [scripts/kconfig/dochecklxdialog] Error 1 make[2]: *** [v4l-mconf] Error 2

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: