rtl2832u

There are a lot of people visiting this website trying to find info about the installation of the rtl2832 chip based tv tuners. Sorry guys but there is not point to cover every aspect of patching and installing (especially the cases that the compilation doesn’t work in your distro).

Here is a table of the supported devices of the “stock” kernel module rtl28xxu in kernel version 3.7-rc6 and the git version of v4l today(19/11/2012). If the id of your device is in this table you don’t need to patch it. It will work out of the box.

Vendor ID

Product ID

0bda

2831

14aa

0160

14aa

0161

0bda

2832

0bda

2838

0ccd

00a9

1f4d

b803

0ccd

00b3

1f4d

C803

1d19

1101

0413

6680

0ccd

00d3

The problem is what to do if your vendor/product id is not in this table. Then you need to patch the module (the files drivers/media/usb/dvb-usb-v2/rtl28xxu.c and drivers/media/dvb-core/dvb-usb-ids.h). All you need to do is check whether the Vendor ID is already in the dvb-usb-ids.h file. If it is not there, choose a string and add it the same way described in this article Installation of rtl2832u chip based DVB-T USB Stick. In my case the Vendor ID is already listed so I only had to add my Product ID. If you find your Vendor ID in the dvb-udb-ids.h file just write it down in order to use it when patching the rtl28xxuc file. In the same article mentioned it is described how to patch the rtl28xxu.c file adding the lines about your Vendor ID and Product ID.

There is already another post in this blog describing how to install this DVB-T USB Stick which is totally outdated for the new kernels (3.6 and 3.7).

Here is the info on how to install it for the new kernels as well as the old ones… This has been tested and it is working flawlessly using 3.7-rc6 kernel on debian wheezy (the distribution shouldn’t matter).

Update 3/4/2013: The same guidelines work for kernel 3.9-rc5

So the steps….

Identify your TV-Tuner’s ID

Just check your ID of the device that you have plugging it to your computer and then using the command:

lsusb

You will see something like:

Bus 002 Device 007: ID 1b80:d394 Afatech

Now unplug your usb.

Installation of your kernel headers

You will need to install the headers of the kernel that you are using in order to compile the sources of the rtl2832u driver. You may use this command for the debian based systems:

Important!!! as soon as the download of the sources and then the extraction of the new sources finish (after hitting enter at the .build command) hit Ctrl+c to interrupt the process of building the source. Even if the building of the modules is going to finish you will not do a make install… so by interrupting it you will save a couple of minutes.

The patching

Here is the tricky part. I am not posting a diff file, just the inserts that you need to make by hand.

Choose your favorite editor and:

edit the file linux/drivers/media/dvb-core/dvb-usb-ids.h inserting the line

The final steps

After finishing the previous patching, go back to the media_build folder and write the commands

make

and then

make install

that’s it!

If you need to customize the installation further, you may use make xconfig/make menuconfig or whatever in the v4l directory to choose just the modules that you need (otherwise the previous steps install all the modules available).