Realtek RTL2831U

From LinuxTVWiki

Revision as of 03:27, 15 September 2009 by Liontooth (Talk | contribs)
Jump to: navigation, search

Contents

Introduction

The RTL2831U is a high-performance DVB-T COFDM demodulator + USB 2.0 that integrates a COFDM demodulator, FEC decoder, de-interleavers, and USB 2.0 interface.

This chip can be found in USB devices that are sold under a numer of names: Compro VideoMate U90, TwinHan/AzureWave AD-TU200 (7047) DVB-T, Freecom, Conceptronic, and Realtek.

Supported devices

The following devices are supported (numbers and names do NOT correspond): output of grep rtl2831 /lib/modules/2.6.24-16-generic/modules.usbmap | sed -e 's/0x0000.*$//' -e 's/^.*0x0003//'

     0x0bda   0x2831    
     0x2304   0x022b    
     0x13d3   0x3216    
     0x13d3   0x3220    
     0x13d3   0x3236    
     0x13d3   0x3238    
     0x13d3   0x3244    
     0x08dd   0x2103    
     0x185b   0x0100    
     0x185b   0x0150    
     0x1a46   0x1601    
     0x14aa   0x0160    
     0x14ff   0x0225    

name = "RTL2831U DVB-T USB2.0 DEVICE"
name = "RTL2831U DVB-T USB2.0 DEVICE"
name = "DVB-T TV-Tuner Card-R"
name = "VideoMate TV U100"
name = "Vestel DVB-T TV Card"
name = "Freecom USB 2.0 DVB-T Device"
name = "DTV-DVB UDTT 7047-USB 2.0 DVB-T Driver"
name = "DTV-DVB UDTT 7047M-USB 2.0 DVB-T Driver"
name = "DTV-DVB UDTT 7047A-USB 2.0 DVB-T Driver"
name = "DTV-DVB UDTT 704L-USB 2.0 DVB-T Driver"
name = "DTV-DVB UDTT 7047Z-USB 2.0 DVB-T Driver"

TwinHan/AzureWave AD-TU200 (7047) DVB-T

Get the drivers

To download and build the driver, issue

hg clone http://linuxtv.org/hg/~jhoogenraad/rtl2831-r2
make
make install

This code was recently synchronised with the main v4l line.

Infrared

A switch for the IR type is included. It can be selected using modprobe. For example if you need type 2: unload the automatically loaded driver, and reload the good codes.

sudo modprobe -r dvb_usb_rtl2831u
sudo modprobe  dvb_usb_rtl2831u ir_protocol=2

Pending developments

The code cannot be included in the mainline, as the front-end and abck-end are not split (as is required)

I have started a second archive for splitting off the tuner code. For the mxl5005s tuner, this should be straightforward, as the code found its way into the mainstream v4l already.

However, I ran into problems with the mt2060 (which is the tuner I own). In the function MT2060_LocateIF1 is making this hard. This function doe some sort of calibration, and there is both internal data from the tuner required, and input from the demodulator.

Product links

Personal tools