# No se crean los nodos en /dev/dvb con dvb-usb-af9015  (TV)

## esteban_conde

Me ha llegado una tarjeta USB de television como llega casi todo con los drivers para W$ que funcionan

perfectamente en w7 pero me estoy pegando el batacazo con Gentoo.

Voy a pegar la salida de dmesg pues creo que eso ayuda a entender el problema mas que lo que yo diga:

-------------------------

[  278.103352] usb 1-1: new high speed USB device using ehci_hcd and address 4

[  278.236858] usb 1-1: New USB device found, idVendor=1b80, idProduct=d39d

[  278.236864] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[  278.236868] usb 1-1: Product: SVEON STV20

[  278.236871] usb 1-1: Manufacturer: realtek

-----------------------Fin ---

Si todo hubiera ido bien udev deberia cargar el modulo  dvb-usb-af9015 y crear los nodos en /dev/dvb pero no

lo hace.

No lo hace por que idVendor=1b80 y el idProduct=d39d no se corresponde del todo con la declaracion

que se hace de dicha tarjeta en el archivo /usr/src/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h en el cual tiene 

lo siguiente:

#define USB_VID_KWORLD_2                        0x1b80

.

.

.

#define USB_PID_SVEON_STV20                             0xe39d <--esto deberia ser-->0xd39d

En varios sitios que he visto en el tiempo que llevo intentando configurarla aparecen Antti Palosaari e Ignacio de Miguel Diaz

como autores del parche que la incluyen a partir del kernel 2.6.32-git (creo) pero no me han contestado con nada respecto a

a esa diferencia.

Si cambio el #define por el de mi tarjeta entonces si me carga el driver pero me arrula un error tipo Bulk error -22.

Por supuesto bajo el firmware que la corresponde pero hasta ahora no obtengo nada.

En fin si alguno de vosotros se ha visto en un caso parecido (he visto como pcmaster ha resuelto lo suyo asi como algun 

otro caso que aparece en foro de multimedia) pues agradeceria el cable.

Si necesitais alguna cosa mas me lo decis.

----------

## agdg

Hace poco tuve un problema con una sintonizadora basada en el chipset af90515. Tras mucho marear la perdiz, lo solucioné con el último firmware af9015.fw v.5.1. Con esa versión funcionar, funcionaba. Prueba a ver que tal te va.

Por cierto, para ver si todo te va bien...

Antes:

```
[agd@agd-desktop ~]$ dmesg | grep dvb-usb 

dvb-usb: found a 'AverMedia AVerTV Volar Black HD (A850)' in cold state, will try to load a firmware 

usb 2-5.4.1: firmware: requesting dvb-usb-af9015.fw 

dvb-usb: did not find the firmware file. (dvb-usb-af9015.fw) Please see linux/Documentation/dvb/ for more details on firmware-problems. (-2) 
```

Depués:

```
[agd@agd-desktop ~]$ dmesg | grep dvb-usb 

dvb-usb: found a 'AverMedia AVerTV Volar Black HD (A850)' in cold state, will try to load a firmware 

usb 2-5.4.1: firmware: requesting dvb-usb-af9015.fw 

dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw' 

dvb-usb: found a 'AverMedia AVerTV Volar Black HD (A850)' in warm state. 

dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. 

dvb-usb: AverMedia AVerTV Volar Black HD (A850) successfully initialized and connected. 
```

----------

## esteban_conde

Hola agdg el problema puede ser de firmware también aunque he bajado el último a la par que compilaba 

el kernel (ya he probado gentoo-sources git y vanilla 2.6.37).

el caso es que me reconoce la tarjeta cuando la pincho pero no carga el driver ni hace nada por cargar el

firmware.

 *dmesg recien arrancado wrote:*   

> 411.237048] usb 1-1: new high speed USB device using ehci_hcd and address 5
> 
> [  411.289074] ehci_hcd 0000:00:13.5: port 1 high speed
> 
> [  411.289083] ehci_hcd 0000:00:13.5: GetStatus port:1 status 001005 0  ACK POWER sig=se0 PE CONNECT
> ...

 

 *lsusb wrote:*   

> Bus 001 Device 005: ID 1b80:d39d Afatech 
> 
> 

 

 *dmesg despues de modprobe wrote:*   

> 
> 
> localhost esteban # modprobe dvb-usb-af9015
> 
> dmesg:
> ...

 

como ves se limita a cargar el driver del mando a distancia y a registrar el driver

pero no hace nada en /dev ni arroja errores que den pistas.

solamente cuando cambio el #define del archivo dvb-usb-ids.h y recompilo me 

arroja el error -22 que comento en post anterior he comprobado la salida de 

modinfo:

 *Quote:*   

> 
> 
> localhost esteban # modinfo dvb-usb-af9015
> 
> filename:       /lib/modules/2.6.36.2/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko
> ...

 

como ves sigue saliendo E39D en vez de D39D cosa que se puede camiar en el archivo af9015.c del

modulo pero que tampoco arregla nada.

perdonad por el post tan largo pero es la unica manera de decir lo que pasa con la dichosa tarjeta.

----------

## agdg

Vamos a ir por partes.

1.- Kernel

grep -i DVB_USB_AF9015 /usr/src/linux/.config

¿Que resultado da?

2.- Cargando los módulos necesarios

insmod /usr/src/linux/drivers/media/dvb/dvb-core/dvb-core.ko 

insmod /usr/src/linux/drivers/media/dvb/dvb-usb/dvb-usb.ko 

insmod /usr/src/linux/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko 

¿Da algún error al cargar estos módulos?

3.- Firmware

ls -la /lib/firmware/

¿Aparece dvb-usb-af9015.fw?

----------

## esteban_conde

Hola agdg la respuesta a todo lo que preguntas es SI.

He bajado el firmware con /usr/src/linux/Documentacion/dvb/get_dvb_firmware af9015 y lo he copiado 

en /lib/firmware/.

En cuanto a los modulos no es necesario más que hacer modprobe dvb-usb-af9015 y este automaticamente 

llama dvb-usb que asimismo llama a dvb-core.

El problema creo que es que han puesto SVEON STV20  a dos tarjetas parecidas que no iguales, ya digo (creo)

pues no le veo otra explicación.

De hecho el archivo en perl  get_dvb_firmware extrae el firmware de un archivo que se llama AF15BDA.sys que viene 

con los drivers de W$. si quieres verlo edita con nano y busca con ctrl + w sub af9015.

A ver si se nos enciende alguna luz.

Gracias.

----------

## agdg

Como decías que el idProduct no correspondía, busqué una lista de idVendor:idProduct

```
1b80  Afatech

   c810  MC810 [af9015]

   d393  DVB-T receiver [RTL2832U]

   d396  UB396-T [RTL2832U]

   d397  DVB-T receiver [RTL2832U]

   d398  DVB-T receiver [RTL2832U]

   d700  FM Radio SnapMusic Mobile 700 (FM700)

   e383  DVB-T UB383-T [af9015]

   e385  DVB-T UB385-T [af9015]

   e386  DVB-T UB385-T [af9015]

   e39a  DVB-T395U [af9015]

   e39b  DVB-T395U [af9015]

   e409  IT9137FN Dual DVB-T [KWorld UB499-2T]
```

Si te fijas todos los productos e39 montan un chipset af9015 sin embargo los d39 montan un chipset de realtek. Además en tu salida de dmesg como fabricante pone Realtek... A ver si el chipseat de tu sintonizadora no es un af9015 sino un RTL2832U. ¿De donde salió lo de af9015?. Puede que por eso no funcione. A las malas, los stick TDT se abren con facilidad, le echas un vistazo al chipset y lo vuelves a cerrar.

Si al final resulta que tienes un chipset de realtek, creo que te toca parchear el kernel. Por lo que he visto, el parche lo tienes aquí (http://linuxtv.org/hg/~jhoogenraad/rtl2831-r2/), haz un hg clone http..., make y make install.

----------

## esteban_conde

Pues de momento no consigo nada lo primero que que hice fue seguir tu enlace y compiló a la primera

pero el módulo no se levantaba solo al pinchar el stick asi que eche otro vistazo a los drivers de W$ y 

vi que mete dos archivos *.sys en el directorio system32/drivers ahora no los tengo a mano pero creo

al menos uno es BDA2832.SYS  lo que me hizo pensar en que posiblemente debiera buscar por otro lado.

Encotre los archivos fuente de dvb-usb-rtl2832u parchee el clon de hg v4l-dvb siguiendo las indicaciones

de un archivo readme.txt que traian las fuentes y despues de varios problemas logre compilar el módulo

pero de momento parece que no funciona.

En fin seguiré mirando y si alguien se apunta se lo agradeceré.

----------

## esteban_conde

Bueno pues ya funciona y de momento bastante bién, agdg me dio la pista a seguir, para que el driver que comenté en el post anterior funcionase tuve que modificar aparte de los archivos Makefile y Kconfig que comenta el archivo readme.txt el archivo rtl2832u.h y el archivo rtl2832.c de las fuentes que bajé en el archivo  dvb-usb-rtl2832u-2.0.1-6.3.src.rpm para incluir la SVEON_STV20 con iD d39d cambiandola por la que tenia el iD d398 que supuse era la que mas acercaba se supone que a cada tarjeta hay que tratarla igual pero con su nombre y su iD.

Al compilar se interrumpio un poquito para darme el mensaje de que estaba redefiniendo SVEON STV20 que tal como comenté en el primer post está definida en el archivo /usr/src/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h y luego me dio el error que me enseñó a resolver el problema y es que me decia que la KWORD1ST que habia sustituido no estaba definida y me indicaba en que linea del archivo rtl2832.c aparecia asi que vuelta a sustituir KWORD...  por .......SVEON_STV20 y a partir de ahí a tope.

Espero que esto ayude, aunque mis dotes de narrador sean algo torpes.

----------

## agdg

Me alegra que lo consiguieras. Ahora te toca hacer un mini how-to, aunque lo ideal sería que lo hicieses en la wiki de gentoo. Esta algo parada y pocos se animan. 

Por mi parte me encargué de elaborar la entrada de Portage, que a mi modo de ver está bastante completa. Ahora estoy preparando la de KVM; aunque la falta de tiempo hace que lo deje, y lo deje, y lo...

PD: Tal vez, en lugar de modificar la línea sería mejor añadir una línea #DEFINE nueva para la SVEON STV20.

----------

## esteban_conde

 *dmesg wrote:*   

> dvb-usb: found a 'USB DVB-T Device' in warm state.
> 
> dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
> 
> DVB: registering new adapter (USB DVB-T Device)
> ...

 Esta salida es de un ordenador de sobremesa con un procesador amd64 de 759 pines(creo que ese es el numero)

y 1500MB de ram, como veis la salida indica que todo va bién, pero se tira un buen rato escaneando y no encuentra nada sin embargo en W$ rula bastante bien.

El modulo rt2832u lo he instalado igual que en el portatil la diferencia es que el portatil tiene doble nucleo amd64 turion X2 y la tarjeta de video es ati en el de sobremesa me salté decir que tiene un nvidia [GeForce4 MX 440 AGP 8x] aunque como digo esto no deberia ser un problema ya que en el lado obscuro funciona.

----------

## pacomun

Hola esteba_conde:

Tengo una sintonizadora dvb-t, como la que indicas a la que no consigo hacer funcionar. He reproducido tus pasos de principio del post y consigo el mismo error cuando le obligo que cargue el driver afatech.

la salida de lusb coincide con la de tu sintonizadora:

```

Bus 002 Device 004: ID 1b80:d39d Afatech 

```

En el post en el que explicas, finalmente, como queda resuelto me pierdo...

Estoy utilizando Ubuntu, aunque conozco Gentoo, porque la he utilizado mucho y aún la tengo instalada en el portátil (pero no la actualizo desde hace varios meses). Intento hacer que funcione en Ubuntu.

El driver rtl2831u lo tengo instalado, pero creo que me falta modificar la parte que hace que cargue el dvd-usb-rtl2831u al pinchar la tarjeta.

He utilizado hg clone http://linuxtv.org/hg/v4l-dvb, he compilado con make, e instalado con sudo make install, pero no obtengo ningún resultado.

¿que habría que modificar para incluir la tarjeta en el listado que asocia el iD:d39d con el driver rtl2831u?

Un saludo y gracias...

----------

## esteban_conde

 *Quote:*   

> El driver rtl2831u lo tengo instalado, pero creo que me falta modificar la parte que hace que cargue el dvd-usb-rtl2831u al pinchar la tarjeta. 

 

Tienes que editar el archivo rtl3832u.h de las fuentes que despuestienes que recompilar y te tiene que quedar así:

#define USB_VID_KWORLD_1ST                                      0x1B80

#define USB_PID_KWORLD_WARM_4                           0xD394

#define USB_PID_KWORLD_WARM_6                           0xD396

#define USB_PID_KWORLD_WARM_3                           0xD393

#define USB_PID_KWORLD_WARM_7                           0xD397

#define USB_PID_SVEON_STV20                             0xD39D

solamente he sustituido USB_PID_KWORLD_WARM_8 por USB_PID_SVEON_STV20  y 0xD398 por D39D, haz lo mismo si en la salida de lsusv -v encuentras esto:

idVendor           0x1b80 Afatech

  idProduct          0xd39d 

  bcdDevice            1.00

  iManufacturer           1 realtek

  iProduct                2 SVEON STV20

Ten en cuenta que si el nombre SVEON STV20 no se corresponde con tu salida entonces esa recta no valdria para ti y tendrias que adaptar la sintaxis al nombre que se saque el comando lsusb -v (nota que el comando esta ampliado con -v

para que de más datos).

Una vez modificado el archivo de cabecera rtl2832u.h hay que modificar el archivo rtl2832u.c que está en el mismo directorio a saber:(directorio donde clonaste v4l-dvb)/v4l-dvb/linux/media/dvb/dvb-usb para que te quede así:

static struct usb_device_id rtl2832u_usb_table [] = {

        { USB_DEVICE(USB_VID_REALTEK, USB_PID_RTD2832U_WARM) },

        { USB_DEVICE(USB_VID_AZUREWAVE_2, USB_PID_AZUREWAVE_USB_WARM) },

        { USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_WARM_6) },

        { USB_DEVICE(USB_VID_DEXATEK, USB_PID_DEXATEK_USB_WARM) },

        { USB_DEVICE(USB_VID_DEXATEK, USB_PID_DEXATEK_MINIUSB_WARM) },

        { USB_DEVICE(USB_VID_DEXATEK, USB_PID_DEXATEK_5217_WARM) },

        { USB_DEVICE(USB_VID_REALTEK, USB_PID_RTD2832U_2ND_WARM) },

        { USB_DEVICE(USB_VID_GOLDENBRIDGE, USB_PID_GOLDENBRIDGE_WARM) },

        { USB_DEVICE(USB_VID_YUAN, USB_PID_YUAN_WARM) },

        { USB_DEVICE(USB_VID_AZUREWAVE_2, USB_PID_AZUREWAVE_MINI_WARM) },

        { USB_DEVICE(USB_VID_AZUREWAVE_2, USB_PID_AZUREWAVE_GPS_WARM) },

        { USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_WARM_7) },

        { USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_WARM_3) },

        { USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_SVEON_STV20) },

con atencion a sustituir el mismo nombre que sustituiste en el el archivo de cabecera, despues de esto

ejecuta make clean-->make-->su -->make install ....Ah! vuelve a postear si necesitas que te aclare alguna

cosa.

----------

## pacomun

Es la misma tarjeta. La salida de dmesg, que con privilegios es distinta que como usuario, es esta:

```

# lsusb -v -d 1b80:d39d

...

  idVendor           0x1b80 Afatech

  idProduct          0xd39d 

  bcdDevice            1.00

  iManufacturer           1 realtek

  iProduct                2 SVEON STV20

  iSerial                 0 

  bNumConfigurations      1

...

```

Por cierto, esta tarjeta también tiene sintonizador FM radio.

He seguido tus indicaciones y me carga el driver bien...

dmesg:

```

[ 1260.230091] usb 2-1: new high speed USB device using ehci_hcd and address 3

[ 1260.398908] dvb-usb: found a 'USB DVB-T Device' in warm state.

[ 1260.398919] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.

[ 1260.400640] DVB: registering new adapter (USB DVB-T Device)

[ 1260.401398] DVB: registering adapter 0 frontend 0 (Realtek RTL2832 DVB-T)...

[ 1260.401455] dvb-usb: USB DVB-T Device successfully initialized and connected.

```

Resumiendo, todo parece correcto pero no sintoniza ningún canal; he probado con Me TV y Kaffeine, y la salida de scan me arroja esto:

```

scan /usr/share/dvb/dvb-t/es-Malaga

scanning /usr/share/dvb/dvb-t/es-Malaga

using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'

initial transponder 762000000 0 2 9 3 1 3 0

initial transponder 810000000 0 2 9 3 1 3 0

initial transponder 834000000 0 2 9 3 1 3 0

initial transponder 842000000 0 2 9 3 1 3 0

initial transponder 850000000 0 2 9 3 1 3 0

initial transponder 858000000 0 2 9 3 1 3 0

>>> tune to: 762000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE

WARNING: >>> tuning failed!!!

>>> tune to: 762000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE (tuning failed)

WARNING: >>> tuning failed!!!

>>> tune to: 810000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE

...

>>> tune to: 858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE (tuning failed)

WARNING: >>> tuning failed!!!

ERROR: initial tuning failed

dumping lists (0 services)

Done.

```

¿Tu llegas a ver la televisión?

Mi portatil es un Aspire 5738Z  

uname -a: Linux pacomun-laptop 2.6.35-27-generic #47-Ubuntu SMP Fri Feb 11 22:52:49 UTC 2011 x86_64 GNU/Linux

Grafica Intel y procesador:

model name	: Pentium(R) Dual-Core CPU       T4200  @ 2.00GHz

----------

## esteban_conde

 *Quote:*   

> ¿Tu llegas a ver la televisión?
> 
> 

 

En principio creo que has hecho todo bién y antes de nada deberias asegurarte de que tiene buena toma de antena, me refiero a la antena colectiva no a la que trae el stick.

He hecho rular la tarjeta en el portatil un HP Pavilion 2x64bits de 1800Mhz cada uno y en un sobremesa para el que tuve que currarmelo un poco más pues bajé unas fuentes más recientes y me costó bastante compilarlas adecuadamente con lo que te pego a continuación y google creo que te las arrglarás:

 *Quote:*   

> esteban@mimaquina ~/zipos/kernel-38-r5 $ ls
> 
> 20101102_RTL2832_2836_2840_LINUX+RC-Dongle.rar  raros  s2-liplianin
> 
> 

 

el archivo ***Dongle.rar son las fuentes, un poco diferentes a las de rtl2832u.tar.gz pero los nombres de archivo son los mismos y el retoque es exactamente el mismo que has hecho para compilar, raros es el directorio en el que descomprimí el archivo, s2-liplianin es lo mismo que v4l-dvb pero con algun que otro parche, pega el nombre en google y verás la forma de clonarlo.

Aunque insisto que puede ser cosa de la antena.

Suerte.

----------

## pacomun

¡Ya funciona! Sintonizo los canales.

Encontré la versión del driver que me indicabas (20101102_RTL2832_2836_2840_LINUX+RC-Dongle.rar) que no era la misma versión que tenía (tenía algun archivo fuente más), luego baje el repositorio de s2-liplianin, parcheé como hice arriba y compiló bien: pero al cargar el driver me daba un error éste y no se cargaba; era algo de que no encontraba el símbolo dvb-usb-init (lo digo de memoria y no estoy seguro).

Decidí compilar este driver pero con el repositorio v4l de linuxtv.org y éste si funcionó bien.

Estaba seguro de que no era problema de antena porque lo hacía con la toma de la pared (me he sacado un cable para el ordenador) y desde ahí sintonizaba en Windows.

Muchas gracias por vuestra atención y tiempo

----------

## pcmaster

No sé si afectará a la Afatech, pero en al caso de las TDT USB que usan el chip Dib0700 (como la Hauppauge WinTV Nota-T stick) el soporte está roto en el kernel 2.6.33 y todas las versiones posteriores. Yo mantengo todavía la versión 2.6.32 hasta que esté solucionado.

En mi caso, los dispositivos aparecen, pero se produce un NUll Pointer execption al intentar usarla.

----------

## esteban_conde

 *pcmaster wrote:*   

> No sé si afectará a la Afatech, pero en al caso de las TDT USB que usan el chip Dib0700 (como la Hauppauge WinTV Nota-T stick) el soporte está roto en el kernel 2.6.33 y todas las versiones posteriores. Yo mantengo todavía la versión 2.6.32 hasta que esté solucionado.
> 
> 

 Hola pcmaster pues cuando me empezó a dar problemas tal como expongo en un post anterior en el PC de sobremesa empecé a tirar para atras e incluso compile un kernel-2.6.26 pero seguia sin conseguir nada así que me decanté por seguir buscando y con un 2.6.38Git y las fuentes (20101102_RTL2832_2836_2840_LINUX+RC-Dongle.rar) pude lograr que compilara y se viera la tele, prueba con esas fuentes por trastear un poco no pierdes nada.

A proposito del  NULL pointer al que haces mención ¿sabes en que función se utiliza y en que archivos está definida dicha función?,  estóy bastante oxidado y no tengo mucho tiempo pero quizas entre todos.

----------

## pcmaster

Hay un bug sobre el tema: https://bugs.gentoo.org/show_bug.cgi?id=326511

----------

## poka

Hola, yo también tengo el tdt usb SVEON STV20 con chipset RTL2832U pero no tengo ni idea de como instalarlo, podríais explicar paso a paso como se instala? siguiendo el tema me pierdo, mis conocimientos de linux no son tan profundos como los vuestros. Yo tengo instalado el UBUNTU 11.10 (oneiric) con Kernel 3.0.0-17-generic. Muchas gracias de antemano.

----------

## polballesta

 *esteban_conde wrote:*   

>  *Quote:*   El driver rtl2831u lo tengo instalado, pero creo que me falta modificar la parte que hace que cargue el dvd-usb-rtl2831u al pinchar la tarjeta.  
> 
> Tienes que editar el archivo rtl3832u.h de las fuentes que despuestienes que recompilar y te tiene que quedar así:
> 
> #define USB_VID_KWORLD_1ST                                      0x1B80
> ...

 

Hola, soy usuario de ubuntu desde hace poco, y estoy encantado de la vida, excepto porqué no consigo ver la tv. tengo la misma tarjeta que tu, sólo que a mi no me pone:

idVendor           0x1b80 Afatech

  idProduct          0xd39d 

  bcdDevice            1.00

  iManufacturer           1 realtek

  iProduct                2 SVEON STV20

sino:

idVendor           0x1b80 Afatech

  idProduct          0xd39d 

  bcdDevice            1.00

  iManufacturer           1 realtek

  iProduct                2 

entonces no se cómo debería modificar el archivo, si no me sale ningún nombre, tal vez:

define USB_PID_                             0xD39D

a ver si por fin puedo instalar eso, ya que mis conocimientos son bastante limitados, y eso me trae de cabeza ya hace tiempo.

Gracias de antemano

----------

## polballesta

Bien, increíblemente parece que lo conseguí! No he seguido exactamente los pasos de esteban_conde pero más o menos. Mi conocimiento en linux es muy básico, simplemente me baso en buscar en foros y leer principalmente.

Intentaré hacer un mini tutorial de cómo instalarla de forma fácil para gente que como yo no entendemos casi nada y somos nuevos en esto, además no hay mucha información en internet de esta tarjeta:

He seguido los pasos de: https://github.com/ambrosa/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0

hasta donde dice edit Makefile.

Aquí tenéis que ir a vuestra carpeta de usuario, en la carpeta que se ha creado DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0, entrar en la carpeta y abrir el Makefile y canviar la # de lugar segun el kernel que tengáis, en mi caso, tengo instalado ubuntu 12.04 y me queda así:

# Choose here wich include file to use: from kernel 3.0.0 (good for 3.1.0) or from kernel 3.2.0

# kernel 3.0.0 / 3.1.0

#INCLUDE_EXTRA_DVB := include-300

# kernel 3.2.0

INCLUDE_EXTRA_DVB := include-320

Guardar.

Ahora habría que mirar cómo reconoce la tarjeta el sistema, desde el terminal, lsusb -v y os tendría que salir:

 idVendor           0x1b80 Afatech

  idProduct          0xd39d 

  bcdDevice            1.00

  iManufacturer           1 

  iProduct                2 

  iSerial                 0 

  bNumConfigurations      1

el iproduct es el importante, por si aparece un nombre, a mi no me sale ninguno.

Luego tenemos que editar los archivos que ha dicho esteban_conde, es decir, el rtl2832u.h y el rtl2832u.c, que se encuentran en la misma carpeta donde se encuentra el Makefile que hemos editado antes.

Aquí la cosa nos tendría que quedar así en el  rtl3832u.h

#endif

#define	USB_PID_KWORLD_D393						0xD393

#define	USB_PID_KWORLD_D394						0xD394

#define	USB_PID_KWORLD_D395						0xD395

#define	USB_PID_KWORLD_D396						0xD396

#define	USB_PID_KWORLD_D397						0xD397

#define	USB_PID_KWORLD_D398						0xD398

#define	USB_PID_KWORLD_      						0xD39D

#define	USB_PID_KWORLD_D39B						0xD39B

#define	USB_PID_KWORLD_D39C						0xD39C

#define	USB_PID_KWORLD_D39E						0xD39E

#define	USB_PID_KWORLD_E77B						0xE77B

#define	USB_PID_KWORLD_D3A1						0xD3A1

#define	USB_PID_KWORLD_D3A4						0xD3A4

#define	USB_PID_KWORLD_E41D						0xE41D

y así en el  rtl3832u.u

{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_D393) },	// 37

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_D394) },	// 38

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_D395) },	// 39

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_D396) },	// 40

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_D397) },	// 41

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_D398) },	// 42

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_ ) },	// 43

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_D39B) },	// 44

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_D39C) },	// 45

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_D39E) },	// 46

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_E77B) },	// 47

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_D3A1) },	// 48

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_D3A4) },	// 49

	{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_E41D) },	// 50

yo he dejado el espacio en blanco porqué a mi no me salia ningún nombre en el idproduct, si os sale un nombre teneis que sustituirlo por el nombre que os salga, con _ en vez de espacios, si os sale SVEON STV20, ponéis

 #define	USB_PID_KWORLD_SVEON_STV20     						0xD39D                y

{ USB_DEVICE(USB_VID_KWORLD_1ST, USB_PID_KWORLD_SVEON_STV20) },	// 43

luego cuando hayáis editado los tres archivos, el makefile, rtl2832u.h y el rtl2832u.c, continuáis con la instalación donde la habíamos dejado: https://github.com/ambrosa/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0

El último paso, el modprobe, no funciona, debéis reiniciar y ya tendréis la tarjeta funcionando.

Para ver la television yo utilizo Kaffeine, va perfecto, rápido y fácil. En la pestaña televisión, configure television, os saldra DEVICE1, escogéis la opción de autoscan en source y luego vays a channels, y sintonizáis desde ahí, seleccionad los que queráis y add selected y listo!

----------

## poka

hago todos los pasos tal y como describís, pero al hacer make me da errores:

katxarro RTL2832-2.2.2_kernel-3.0.0 # make

make -C /usr/src/linux-headers-`uname -r` SUBDIRS=/root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0 modules

make[1]: se ingresa al directorio `/usr/src/linux-headers-3.2.0-2-amd64'

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/demod_rtl2832.o

In file included from /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/dvbt_demod_base.h:289:0,

                 from /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/demod_rtl2832.h:72,

                 from /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/demod_rtl2832.c:13:

/root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/foundation.h:19:21: fatal error: dvb-usb.h: No existe el fichero o el directorio

compilation terminated.

make[4]: *** [/root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/demod_rtl2832.o] Error 1

make[3]: *** [_module_/root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0] Error 2

make[2]: *** [sub-make] Error 2

make[1]: *** [all] Error 2

make[1]: se sale del directorio `/usr/src/linux-headers-3.2.0-2-amd64'

make: *** [default] Error 2

¿Qué puedo hacer?

----------

## esteban_conde

 *poka wrote:*   

> hago todos los pasos tal y como describís, pero al hacer make me da errores:
> 
> 

 

Primero saber si existe el fichero, para ello: cd /usr/src/linux-headers-3.2.0-2-amd64 luego: find . -iname 'dvb-usb*'

Si encuentra el archivo dvb-usb.h posiblemente tengas que seleccionar en las fuentes:

Device drivers -->

<m> multimedia support -->

<m>video for linux -->

<m>dvb for linux -->

posiblemente alguna otra opcion de dentro de las opciones de arriba, compilar el kernel arrancar con ese kernel  y despues volver a las fuentes RTL2832-2.2.2_kernel-3.0.0 # make  a ver si persiste el error.

Hace ya mucho tiempo que configure el driver y no tome notas pero creo que con lo que hay expuesto en el post deberia ser suficiente.

----------

## poka

 *esteban_conde wrote:*   

> 
> 
> Primero saber si existe el fichero, para ello: cd /usr/src/linux-headers-3.2.0-2-amd64 luego: find . -iname 'dvb-usb*'
> 
> Si encuentra el archivo dvb-usb.h posiblemente tengas que seleccionar en las fuentes:
> ...

 

he encontrado el archivo en el directorio /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/include-320

he copiado el dvb-usb.h y todos los demás archivos de ese mismo directorio al directorio superior, /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0, he vuelto a hacer make y me ha salido esto:

katxarro RTL2832-2.2.2_kernel-3.0.0 # make

make -C /usr/src/linux-headers-`uname -r` SUBDIRS=/root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0 modules

make[1]: se ingresa al directorio `/usr/src/linux-headers-3.2.0-2-amd64'

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/demod_rtl2832.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/dvbt_demod_base.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/dvbt_nim_base.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/foundation.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/math_mpi.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2832_mxl5007t.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2832_fc2580.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2832_mt2266.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/rtl2832u.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/rtl2832u_fe.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/rtl2832u_io.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/tuner_mxl5007t.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/tuner_fc2580.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/tuner_mt2266.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/tuner_tua9001.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2832_tua9001.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/tuner_fc0012.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2832_fc0012.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/demod_rtl2836.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/dtmb_demod_base.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/dtmb_nim_base.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2836_fc2580.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2836_mxl5007t.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/tuner_e4000.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2832_e4000.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/tuner_mt2063.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/demod_rtl2840.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/tuner_max3543.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2832_mt2063.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2832_max3543.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2840_mt2063.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2840_max3543.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/qam_demod_base.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/qam_nim_base.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/tuner_tda18272.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2832_tda18272.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/rtl2832u_ioctl.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/nim_rtl2832_fc0013.o

  CC [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/tuner_fc0013.o

  LD [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/dvb-usb-rtl2832u.o

  Building modules, stage 2.

  MODPOST 1 modules

  CC      /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/dvb-usb-rtl2832u.mod.o

  LD [M]  /root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0/dvb-usb-rtl2832u.ko

make[1]: se sale del directorio `/usr/src/linux-headers-3.2.0-2-amd64'

luego hago el make install y me da esto:

katxarro RTL2832-2.2.2_kernel-3.0.0 # make install

cp dvb-usb-rtl2832u.ko /lib/modules/`uname -r`/kernel/drivers/media/dvb/dvb-usb/ 

depmod -a

reinicio el equipo, pruebo con el kaffeine a ver si va, y me reconoce el dispositivo, lo selecciono, voy a la pestaña de buscar canales, encuentra bastantes canales, pero no se ve ninguno, supongo que ahora el problema será del kaffeine, no? pq si busca canales y los encuentra eso es que el tdt funciona adecuadamente, supongo yo,

----------

## poka

Bueno, por fin estoy viendo la tdt en linux después de varias semanas, la veo con el VLC.

Gracias a todos.

----------

