Freecom DV3 TDT en Ubuntu

7 09 2007

Llevaba tiempo queriendo conectar mi pequeño portatil a la TDT (televisión digital terrestre) así que me agencié una tarjeta usb híbrida. En los foros a mucha gente le funcionaba, e incluso desde Feisty se la reconocía con sólo enchufarla.

Pero cuán caprichoso es el destino, cuando conecto la mía y no funciona. Tras un pequeño estudio, llego a la conclusión de que los amigos de Freecom se les ha ocurrido la idea de cambiar el chip de la tarjeta. Ahora trae un Realtek.

¿Cómo instalar los drivers?

Para comprobarlo hice un:

lsusb

y el resultado fué:
lsusb

 14aa:0160 Avermedia (again) or C&E

Pues nada, tendremos que trabajar (qué pena;-)

Lo primero que deberemos hacer es activar los repositorios Universe-Multiverse de nuestra Ubuntu, para tener disponible todo el software necesario durante la instalación de apt-get.

Ahora instalamos los paquetes necesarios:

sudo apt-get install build-essential
sudo apt-get install mercurial
sudo apt-get install linux-headers-$(uname -r)

Ahora vamos a utilizar la ayuda de los señores de linuxtv. Nos descargaremos un directorio completo de su web. Desde nuestra carpeta de usuario, tecleamos:

hg clone http://linuxtv.org/hg/v4l-dvb

Este comando creará una carpeta llamada v4l-dvb en nuestra carpeta de usuario.

Hasta aquí todo bien. El problema está en que aunque v4linux tiene un montón de drivers, el nuestro no aparece, por lo que tendremos que modificar algunas cosas:

Descargamos el archivo con los drivers de:

RTL2831

lo descomprimimos y los archivos de la carpeta los copiamos en:

~/v4l-dvb/linux/drivers/media/dvd/dvd-usb

Ya tenemos los drivers añadidos l listado de v4linux, ahora hay que explicarselo al config, para que los tenga en cuenta, editando Makefile:

sudo gedit ~/v4l-dvb/linux/drivers/media/dvd/dvd-us/Makefile

y añadimos estas líneas, al principio:

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

luego hacemos lo mismo con el Kconfig:

sudo gedit ~/v4l-dvb/linux/drivers/media/dvd/dvd-us/Kconfig 

En donde añadiremos:

 config DVB_USB_RTL2831U
 tristate "Realtek RTL2831U DVB-T USB2.0 support"


 depends on DVB_USB


 help


 Realtek RTL2831U DVB-T driver.

Ahora volvemos a la carpeta del kernel de v4l:

cd ~/v4l-dvb

y hacemos un config:

sudo make config

Tras contestar un montón de preguntas:

[v4l-dvb] sudo make config
make -C /home/cbrman/v4l-dvb/v4l config
make[1]: se ingresa al directorio `/home/cbrman/v4l-dvb/v4l’
/lib/modules/2.6.22-14-generic/build/scripts/kconfig/conf ./Kconfig
*
* Linux Kernel Configuration
*
Enable drivers not supported by this kernel (VIDEO_KERNEL_VERSION) [Y/n/?] y
*
* Multimedia devices
*
Video For Linux (VIDEO_DEV) [M/n/y/?] y
Enable Video For Linux API 1 (DEPRECATED) (VIDEO_V4L1) [N/y/?] y
Enable Video For Linux API 1 compatible Layer (VIDEO_V4L1_COMPAT) [Y/?] y
*
* Video capture adapters
*
Video capture adapters (VIDEO_CAPTURE_DRIVERS) [N/y/?] y
Enable advanced debug functionality (VIDEO_ADV_DEBUG) [N/y/?] (NEW) y
Autoselect pertinent encoders/decoders and other helper chips (VIDEO_HELPER_CHIPS_AUTO) [Y/n/?] (NEW) n
*
* Encoders/decoders and other helper chips
*
*
* Audio decoders
*
Simple audio decoder chips (VIDEO_TVAUDIO) [N/m/?] (NEW) n
Philips TDA7432 audio processor (VIDEO_TDA7432) [N/m/?] (NEW) n
Philips TDA9840 audio processor (VIDEO_TDA9840) [N/m/?] (NEW) n
Philips TDA9875 audio processor (VIDEO_TDA9875) [N/m/?] (NEW) n
Philips TEA6415C audio processor (VIDEO_TEA6415C) [N/m/?] (NEW) n
Philips TEA6420 audio processor (VIDEO_TEA6420) [N/m/?] (NEW) n
Micronas MSP34xx audio decoders (VIDEO_MSP3400) [N/m/?] (NEW) n
Cirrus Logic CS5345 audio ADC (VIDEO_CS5345) [N/m/?] (NEW) n
Cirrus Logic CS53L32A audio ADC (VIDEO_CS53L32A) [N/m/?] (NEW) n
Mitsubishi M52790 A/V switch (VIDEO_M52790) [N/m/?] (NEW) n
Texas Instruments TLV320AIC23B audio codec (VIDEO_TLV320AIC23B) [N/m/?] (NEW) n
Wolfson Microelectronics WM8775 audio ADC with input mixer (VIDEO_WM8775) [N/m/?] (NEW) n
Wolfson Microelectronics WM8739 stereo audio ADC (VIDEO_WM8739) [N/m/?] (NEW) n
Panasonic VP27s internal MPX (VIDEO_VP27SMPX) [N/m/?] (NEW) n
*
* Video decoders
*
BT819A VideoStream decoder (VIDEO_BT819) [N/m/?] (NEW) n
BT856 VideoStream decoder (VIDEO_BT856) [N/m/?] (NEW) n
BT866 VideoStream decoder (VIDEO_BT866) [N/m/?] (NEW) n
KS0127 video decoder (VIDEO_KS0127) [N/m/?] (NEW) n
OmniVision OV7670 sensor support (VIDEO_OV7670) [N/m/?] (NEW) n
TCM825x camera sensor support (VIDEO_TCM825X) [N/m/?] (NEW) n
Philips SAA7110 video decoder (VIDEO_SAA7110) [N/m/?] (NEW) n
Philips SAA7111 video decoder (VIDEO_SAA7111) [N/m/?] (NEW) n
Philips SAA7114 video decoder (VIDEO_SAA7114) [N/m/?] (NEW) n
Philips SAA7113/4/5 video decoders (VIDEO_SAA711X) [N/m/?] (NEW) n
Philips SAA7191 video decoder (VIDEO_SAA7191) [N/m/?] (NEW) n
Texas Instruments TVP5150 video decoder (VIDEO_TVP5150) [N/m/?] (NEW) n
vpx3220a, vpx3216b & vpx3214c video decoders (VIDEO_VPX3220) [N/m/?] (NEW) n
*
* Video and audio decoders
*
Conexant CX2584x audio/video decoders (VIDEO_CX25840) [N/m/?] (NEW) n
*
* MPEG video encoders
*
Conexant CX2341x MPEG encoders (VIDEO_CX2341X) [N/m/y/?] (NEW) n
*
* Video encoders
*
Philips SAA7127/9 digital video encoders (VIDEO_SAA7127) [N/m/?] (NEW) n
Philips SAA7185 video encoder (VIDEO_SAA7185) [N/m/?] (NEW) n
Analog Devices ADV7170 video encoder (VIDEO_ADV7170) [N/m/?] (NEW) n
Analog Devices ADV7175 video encoder (VIDEO_ADV7175) [N/m/?] (NEW) n
*
* Video improvement chips
*
NEC Electronics uPD64031A Ghost Reduction (VIDEO_UPD64031A) [N/m/?] (NEW) n
NEC Electronics uPD64083 3-Dimensional Y/C separation (VIDEO_UPD64083) [N/m/?] (NEW) n
Virtual Video Driver (VIDEO_VIVI) [N/m/y/?] (NEW) n
BT848 Video For Linux (VIDEO_BT848) [N/m/?] (NEW) n
Mediavision Pro Movie Studio Video For Linux (VIDEO_PMS) [N/m/y/?] (NEW) n
Quickcam BW Video For Linux (VIDEO_BWQCAM) [N/m/?] (NEW) n
QuickCam Colour Video For Linux (EXPERIMENTAL) (VIDEO_CQCAM) [N/m/?] (NEW) n
W9966CF Webcam (FlyCam Supra and others) Video For Linux (VIDEO_W9966) [N/m/?] (NEW) n
CPiA Video For Linux (VIDEO_CPIA) [N/m/y/?] (NEW) n
CPiA2 Video For Linux (VIDEO_CPIA2) [N/m/?] (NEW) n
SAA5246A, SAA5281 Teletext processor (VIDEO_SAA5246A) [N/m/?] (NEW) n
SAA5249 Teletext processor (VIDEO_SAA5249) [N/m/?] (NEW) n
SAB3036 tuner (TUNER_3036) [N/m/?] (NEW) n
Stradis 4:2:2 MPEG-2 video driver (EXPERIMENTAL) (VIDEO_STRADIS) [N/m/y/?] (NEW) n
Zoran ZR36057/36067 Video For Linux (VIDEO_ZORAN) [N/m/?] (NEW) n
Sony Vaio Picturebook Motion Eye Video For Linux (VIDEO_MEYE) [N/m/?] (NEW) n
Philips SAA7134 support (VIDEO_SAA7134) [N/m/?] (NEW) n
Siemens-Nixdorf ‘Multimedia eXtension Board’ (VIDEO_MXB) [N/m/?] (NEW) n
Philips-Semiconductors ‘dpc7146 demonstration board’ (VIDEO_DPC) [N/m/?] (NEW) n
Hexium HV-PCI6 and Orion frame grabber (VIDEO_HEXIUM_ORION) [N/m/?] (NEW) n
Hexium Gemini frame grabber (VIDEO_HEXIUM_GEMINI) [N/m/?] (NEW) n
Conexant 2388x (bt878 successor) support (VIDEO_CX88) [N/m/?] (NEW) n
Conexant cx23885 (2388x successor) support (VIDEO_CX23885) [N/m/?] (NEW) n
Conexant cx23416/cx23415 MPEG encoder/decoder support (VIDEO_IVTV) [N/m/?] (NEW) n
Marvell 88ALP01 (Cafe) CMOS Camera Controller support (VIDEO_CAFE_CCIC) [N/m/?] (NEW) n
*
* V4L USB devices
*
V4L USB devices (V4L_USB_DRIVERS) [Y/n] (NEW) y
Hauppauge WinTV-PVR USB2 support (VIDEO_PVRUSB2) [N/m/?] (NEW) n
Empia EM2800/2820/2840 USB video capture support (VIDEO_EM28XX) [N/m/?] (NEW) n
USB video devices based on Nogatech NT1003/1004/1005 (VIDEO_USBVISION) [N/m/?] (NEW) n
USB 3com HomeConnect (aka vicam) support (EXPERIMENTAL) (USB_VICAM) [N/m/?] (NEW) n
USB IBM (Xirlink) C-it Camera support (USB_IBMCAM) [N/m/?] (NEW) n
USB Konica Webcam support (USB_KONICAWC) [N/m/?] (NEW) n
USB Logitech Quickcam Messenger (USB_QUICKCAM_MESSENGER) [N/m/?] (NEW) n
USB ET61X[12]51 PC Camera Controller support (USB_ET61X251) [N/m/?] (NEW) n
OmniVision Camera Chip support (VIDEO_OVCAMCHIP) [N/m/?] (NEW) n
USB W996[87]CF JPEG Dual Mode Camera support (USB_W9968CF) [N/m/?] (NEW) n
USB OV511 Camera support (USB_OV511) [N/m/?] (NEW) n
USB SE401 Camera support (USB_SE401) [N/m/?] (NEW) n
USB SN9C1xx PC Camera Controller support (USB_SN9C102) [N/m/?] (NEW) n
USB STV680 (Pencam) Camera support (USB_STV680) [N/m/?] (NEW) n
USB ZC0301[P] Image Processor and Control Chip support (USB_ZC0301) [N/m/?] (NEW) n
USB Philips Cameras (USB_PWC) [N/m/?] (NEW) n
USB ZR364XX Camera support (USB_ZR364XX) [N/m/?] (NEW) n
USB Syntek DC1125 Camera support (USB_STKWEBCAM) [N/m/?] (NEW) n
*
* Radio Adapters
*
Radio Adapters (RADIO_ADAPTERS) [N/y/?] n
DVB for Linux (DVB_CORE) [M/n/y/?] m
Load and attach frontend modules as needed (DVB_CORE_ATTACH) [Y/n/?] y
*
* DVB/ATSC adapters
*
DVB/ATSC adapters (DVB_CAPTURE_DRIVERS) [Y/n/?] y
*
* Supported SAA7146 based PCI Adapters
*
AV7110 cards (DVB_AV7110) [N/m/?] n
SAA7146 DVB cards (aka Budget, Nova-PCI) (DVB_BUDGET_CORE) [N/m/?] n
*
* Supported USB Adapters
*
Support for various USB DVB devices (DVB_USB) [M/n/?] m
Enable extended debug support for all DVB-USB devices (DVB_USB_DEBUG) [Y/n/?] y
AVerMedia AverTV DVB-T USB 2.0 (A800) (DVB_USB_A800) [N/m/?] n
DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list) (DVB_USB_DIBUSB_MB) [N/m/?] n
DiBcom USB DVB-T devices (based on the DiB3000M-C/P) (see help for device list) (DVB_USB_DIBUSB_MC) [N/m/?] n
DiBcom DiB0700 USB DVB devices (see help for supported devices) (DVB_USB_DIB0700) [N/m/?] n
HanfTek UMT-010 DVB-T USB2.0 support (DVB_USB_UMT_010) [N/m/?] n
Conexant USB2.0 hybrid reference design support (DVB_USB_CXUSB) [N/m/?] n
Uli m920x DVB-T USB2.0 support (DVB_USB_M920X) [N/m/?] n
Genesys Logic GL861 USB2.0 support (DVB_USB_GL861) [N/m/?] n
Alcor Micro AU6610 USB2.0 support (DVB_USB_AU6610) [N/m/?] n
Nebula Electronics uDigiTV DVB-T USB2.0 support (DVB_USB_DIGITV) [N/m/?] n
TwinhanDTV Alpha/MagicBoxII, DNTV tinyUSB2, Beetle USB2.0 support (DVB_USB_VP7045) [N/m/?] n
TwinhanDTV StarBox and clones DVB-S USB2.0 support (DVB_USB_VP702X) [N/m/?] n
GENPIX 8PSK->USB module support (DVB_USB_GP8PSK) [N/m/?] n
Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support (DVB_USB_NOVA_T_USB2) [N/m/?] n
Pinnacle 400e DVB-S USB2.0 support (DVB_USB_TTUSB2) [N/m/?] n
WideView WT-200U and WT-220U (pen) DVB-T USB2.0 support (Yakumo/Hama/Typhoon/Yuan) (DVB_USB_DTT200U) [N/m/?] n
Opera1 DVB-S USB2.0 receiver (DVB_USB_OPERA1) [N/m/?] n
Afatech AF9005 DVB-T USB1.1 support (DVB_USB_AF9005) [N/m/?] n
Realtek RTL2831U DVB-T USB2.0 support (DVB_USB_RTL2831U) [M/n/?] m
Technotrend/Hauppauge Nova-USB devices (DVB_TTUSB_BUDGET) [N/m/?] n
Technotrend/Hauppauge USB DEC devices (DVB_TTUSB_DEC) [N/m/?] n
Terratec CinergyT2/qanu USB2 DVB-T receiver (DVB_CINERGYT2) [N/m/?] n
*
* Supported FlexCopII (B2C2) Adapters
*
Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters (DVB_B2C2_FLEXCOP) [N/m/?] n
*
* Supported BT878 Adapters
*
*
* Supported Pluto2 Adapters
*
Pluto2 cards (DVB_PLUTO2) [N/m/?] n
*
* Supported DVB Frontends
*
*
* Customise DVB Frontends
*
Customise the frontend modules to build (DVB_FE_CUSTOMISE) [N/y/?] n
*
* DVB-S (satellite) frontends
*
ST STV0299 based (DVB_STV0299) [N/m/?] n
Conexant CX24110 based (DVB_CX24110) [N/m/?] n
Conexant CX24123 based (DVB_CX24123) [N/m/?] n
Philips TDA8083 based (DVB_TDA8083) [N/m/?] n
Zarlink VP310/MT312 based (DVB_MT312) [N/m/?] n
VLSI VES1893 or VES1993 based (DVB_VES1X93) [N/m/?] n
Samsung S5H1420 based (DVB_S5H1420) [N/m/?] n
Philips TDA10086 based (DVB_TDA10086) [N/m/?] n
*
* DVB-T (terrestrial) frontends
*
Spase sp8870 based (DVB_SP8870) [N/m/?] n
Spase sp887x based (DVB_SP887X) [N/m/?] n
Conexant CX22700 based (DVB_CX22700) [N/m/?] n
Conexant cx22702 demodulator (OFDM) (DVB_CX22702) [N/m/?] n
LSI L64781 (DVB_L64781) [N/m/?] n
Philips TDA10045H/TDA10046H based (DVB_TDA1004X) [N/m/?] n
NxtWave Communications NXT6000 based (DVB_NXT6000) [N/m/?] n
Zarlink MT352 based (DVB_MT352) [N/m/?] n
Zarlink ZL10353 based (DVB_ZL10353) [N/m/?] n
DiBcom 3000M-B (DVB_DIB3000MB) [N/m/?] n
DiBcom 3000P/M-C (DVB_DIB3000MC) [N/m/?] n
DiBcom 7000MA/MB/PA/PB/MC (DVB_DIB7000M) [N/m/?] n
DiBcom 7000PC (DVB_DIB7000P) [N/m/?] n
*
* DVB-C (cable) frontends
*
VLSI VES1820 based (DVB_VES1820) [N/m/?] n
Philips TDA10021 based (DVB_TDA10021) [N/m/?] n
Philips TDA10023 based (DVB_TDA10023) [N/m/?] n
ST STV0297 based (DVB_STV0297) [N/m/?] n
*
* ATSC (North American/Korean Terrestrial/Cable DTV) frontends
*
NxtWave Communications NXT2002/NXT2004 based (DVB_NXT200X) [N/m/?] n
Oren OR51211 based (DVB_OR51211) [N/m/?] n
Oren OR51132 based (DVB_OR51132) [N/m/?] n
Broadcom BCM3510 (DVB_BCM3510) [N/m/?] n
LG Electronics LGDT3302/LGDT3303 based (DVB_LGDT330X) [N/m/?] n
Samsung S5H1409 based (DVB_S5H1409) [N/m/?] n
*
* Tuners/PLL support
*
Generic I2C PLL based tuners (DVB_PLL) [N/m/?] n
Philips TDA826X silicon tuner (DVB_TDA826X) [N/m/?] n
Philips TDA827X silicon tuner (DVB_TDA827X) [N/m/?] n
NXP TDA18271 silicon tuner (DVB_TDA18271) [N/m/?] n
Quantek QT1010 silicon tuner (DVB_TUNER_QT1010) [N/m/?] n
Microtune MT2060 silicon IF tuner (DVB_TUNER_MT2060) [N/m/?] n
Microtune MT2266 silicon tuner (DVB_TUNER_MT2266) [N/m/?] n
Microtune MT2131 silicon tuner (DVB_TUNER_MT2131) [N/m/?] n
DiBcom DiB0070 silicon base-band tuner (DVB_TUNER_DIB0070) [N/m/?] n
Xceive XC5000 silicon tuner (DVB_TUNER_XC5000) [N/m/?] n
*
* Miscellaneous devices
*
LNBP21 SEC controller (DVB_LNBP21) [N/m/?] n
ISL6421 SEC controller (DVB_ISL6421) [N/m/?] n
TUA6100 PLL (DVB_TUA6100) [N/m/?] n
DAB adapters (DAB) [N/y/?] n
*
* Audio devices for multimedia
*
*
* ALSA sound
*
Bt87x Audio Capture (SND_BT87X) [N/m/?] n
*
* OSS sound
*
BT878 audio dma (SOUND_BT878) [N/m/?] n
ACI mixer (miroSOUND PCM1-pro/PCM12/PCM20) (SOUND_ACI_MIXER) [N/m/?] nn
ACI mixer (miroSOUND PCM1-pro/PCM12/PCM20) (SOUND_ACI_MIXER) [N/m/?] n
TV card (bt848) mixer support (SOUND_TVMIXER) [N/m/?] (NEW) n
#
# configuration written to .config

De acuerdo. Ya tenemos configurado el driver. Ahora hay que fijarlo:

sudo make  sudo make install

(se puede poner sudo make&&make install, pero a mi me gusta ir poco a poco)

y por fín lo instalamos

modprobe dvb-usb-rtl2831u

Ahora una comprobación de rigor:

lsmod | grep dvb

y tiene que aparecer:

dvb_usb_rtl2831u

            dvb_usb

            dvb_core



            dvb_pll



            i2c_core 

Llegados a este punto, sól queda una cosa, reiniciar.

REINICIAR?

Pero si en Linux no se reinicia!!!! El tema es que hemos tocado el núcleo y tenemos que hacer que los nuevos drivers se carguen con el nucleo. Se puede hacer sin reiniciar, pero eso tocará otro día.

sudo reboot 

En cuanto ingreses en tu sistema la tarjeta se pondrá a parpadear como una loca.


Acciones

Información

Deja un comentario