[Index] [TitleIndex] [WordIndex

DVB Cards


PleaseUpdate: If you have any experience with models not mentioned here, please do not hesitate to share you insights with other freevo users.

This page is specifically for getting your DVB hardware working under linux. To configure Freevo to use your DVB card have a look at the DVBConfig page.

A lot of information on getting your card working can be found on the LinuxTV.org V4L-DVB Wiki, make sure to have a read through it. Some useful pages are How to Obtain, Build and Install V4L-DVB Device Drivers and Testing your DVB device.

Latest V4L-DVB Sources

You always can find the newest drivers and information on DVB for linux at http://linuxtv.org - to get hold of the latest and greatest revision of the DVB drivers do the following (you will need to install Mercurial):

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

To update the sources later on:

cd v4l-dvb
hg pull -u http://linuxtv.org/hg/v4l-dvb

Building the V4L-DVB sources

Before you start building you need the kernel headers. To get hold of them for Debian and it's derivatives do:

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

Gentoo (You will want to make sure you're emerging the headers for your running kernel):

emerge -av sys-kernel/linux-headers

The v4l-dvb sources are installed using make - anyone who has installed software from source before will be familiar with the process (and if you're not it's not too hard). As root (at least for make install anyway):

cd v4l-dvb
make install

Enabling Your DVB Tuner

After completing the build/install process, reboot and things might just work for you :) Some cards require firmware, so if it's not working check if you need any.

If you don't want to reboot you can always do:

make unload

to remove any old modules currently loaded in the kernel then use modprobe to insert the appropriate ones back in.

After rebooting/modprobing check your dmesg output to see if everything loaded correctly. If you get errors about symbols not being found try running:

find . -iname '*first-few-chars-of-symbol*'

in your v4l-dvb directory and modprobe anything that seems appropriate.

If you want further info on getting your card working have a look at How to Obtain, Build and Install V4L-DVB Device Drivers and Testing your DVB device on the LinuxTV.org V4L-DVB Wiki.

Source Install Troubleshooting

The make process caches your kernel source path so if you've changed kernel and are compiling against the wrong one you should do:

make clean && make distclean && make && make install

To remove the current modules:

rm -rf /lib/modules/`uname -r`/kernel/drivers/media/dvb/*


Some cards require firmware to be loaded upon initialisation. The linuxtv.org project has, for some cases, made life easy by providing a script to extract the correct firmware for your card, so long as you provide it with the correct demodulator - the linuxtv.org wiki has a list of vendors/cards/chipsets for PCI, PCI-E, USB, IEEE1394/Firewire and PCMCIA cards.

To prepare the script (for modules supplied with your kernel):

cd /usr/src

or for the mercurial version:

cd v4l-dvb

then run

chmod +x linux/Documentation/dvb/get_dvb_firmware
linux/Documentation/dvb/get_dvb_firmware 'your-demod-name'

Then depending on your distribution:


cp 'firmware-name' /lib/firmware

Other distros:

cp 'firmware-name' /usr/lib/hotplug/firmware

cp 'firmware-name' /etc/hotplug/firmware


DVB-C stands for digital broadcast via cable.


DVB-S stands for digital broadcast via satelite.


DVB-T stands for terrestrial digital broadcast.


There is more than one type of this card around. This is about the rev 1.2 with the Philips tuner (SAA7146). You need the following modules:

Note that the module for this card is called budget-ci although it has no common interface. Moreover you need hotplug and a firmware file (check out the Firmware section for more info).


To use the Airstar2 card form TechniSat one needs basically the following modules:

skystar2 is the same module you would need for the TechniSat DVB-S card Skystar2, but mt352 is special for DVB-T, so do not confuse it with the mt312 module for the Skystar2.

The Airstar is working quite reliable, but the time to change channels seems a bit long for my liking (6-8 secs).

Leadtek Winfast DTV 1000 T

You need to have a linux kernel >= 2.6.15

Check with dmesg if the card is recognized:

dmesg |grep cx

If not, you may need to manually add the modules:

modprobe dvb-pll
modprobe tda827x
modprobe cx88xx
modprobe cx22702
modprobe cx8800
modprobe cx8802
modprobe cx88-dvb

Then you should be able to scan the DVB channels avaible via a dvbscan (see dvb-apps for that)

Freecom DVB-T USB2

Hardware setup under Linux

Here is the dmesg listing you will see:

kernel: [88937.594611] dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully deinitialized and disconnected.
kernel: [88939.345102] usb 4-5: new high speed USB device using ehci_hcd and address 10
kernel: [88939.477483] usb 4-5: configuration #1 chosen from 1 choice
kernel: [88939.477620] dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in cold state, will try to load a firmware
kernel: [88939.677764] dvb-usb: downloading firmware from file 'dvb-usb-wt220u-02.fw'
kernel: [88940.868265] usb 4-5: USB disconnect, address 10
kernel: [88940.868337] dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
kernel: [88941.863667] usb 4-5: new high speed USB device using ehci_hcd and address 11
kernel: [88941.996542] usb 4-5: configuration #1 chosen from 1 choice
kernel: [88941.996681] dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in warm state.
kernel: [88941.996760] dvb-usb: will use the device's hardware PID filter (table count: 15).
kernel: [88941.997904] DVB: registering new adapter (WideView WT-220U PenType Receiver (Typhoon/Freecom)).
kernel: [88941.998076] DVB: registering frontend 0 (WideView USB DVB-T)...
kernel: [88941.998495] input: IR-receiver inside an USB DVB receiver as /class/input/input7
kernel: [88941.998544] dvb-usb: schedule remote query interval to 300 msecs.
kernel: [88941.998552] dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully initialized and connected.

My kernel is currently 2.6.20-15-generic, and it has been recognized without problems, at the moment that I put the required firmware at the right place: /lib/firmware/2.6.20-15-generic/dvb-usb-wt220u-02.fw This shows us that a firmware has to be loaded when the Freecom is in cold state. The name of the firmware in my case is 'dvb-usb-wt220u-02.fw', and can be downloaded from http://www.linuxtv.org/downloads/firmware/ .

Here follows the lsmod result:

# lsmod | grep dvb
dvb_usb_dtt200u        13316  0
dvb_usb                21644  1 dvb_usb_dtt200u
dvb_core               80808  1 dvb_usb
dvb_pll                15364  1 dvb_usb
i2c_core               22784  11 eeprom,w83627hf,i2c_isa,dvb_usb,dvb_pll,tuner,tvaudio,bttv,i2c_algo_bit,tveeprom,i2c_viapro
usbcore               134280  9 xpad,usblp,lirc_mceusb2,dvb_usb_dtt200u,dvb_usb,usbhid,ehci_hcd,uhci_hcd

# lsusb
Bus 004 Device 005: ID 14aa:0221 AVerMedia (again) or C&E

I know that there exists several hardware version of this product, so the USB ID may change.


[http://www.fusionhdtv.co.kr/ENG/Products/DualDigital.aspx ]

So far I have successfully installed the following cards using the same procedure on a Debian system (I suspect a stock kernel will work);

While the stock kernel could well work out of the box, I have always found it usefull to rebuild the dvb driver for one reason or another. This can be done quite quickly as follows.

Follow the install process in the Intro. Currently (2008-04-23) the main v4l-dvb tree has a segfault issue with one of the drivers required for this card, so instead of the main tree grab Chris Pascoe's xc-test tree:

hg clone http://linuxtv.org/hg/~pascoe/xc-test/

The card requires the bluebird firmware which is also available from Chris Pascoe's site:

cd /lib/firmware
wget http://www.itee.uq.edu.au/~chrisp/Linux-DVB/DVICO/dvb-usb-bluebird-02.fw

That's pretty much it. Restart your PC for good measure or do:

modprobe tuner-xc2028
modprobe zl10353
modprobe dvb_usb_cxusb

and then make sure both tuners have been loaded. (You should have /dev/dvb/adapter0 and /dev/dvb/adapter1. Also, you should see nice things output from 'dmesg' about your hardware).

Pinnacle 310i


The Pinnacle 310i uses the Phillips SAA7134 chipset - some good info (though a bit out of date by the looks at the time of writing) on getting it going can be found on the gentoo-wiki, and if you're impatient they also have a quick-start guide. The quick-start guide was written more recently than the original article, but if you need to compile the SAA7134 and related modules or get the firmware the first might be more help (even if it is older) as it goes into more depth.

Essentially, build the drivers as shown in the Intro then (as root) run

linux/Documentation/dvb/get_dvb_firmware tda10046
cp dvb-fe-tda10046.fw /lib/firmware
modprobe saa7134-dvb

Tevion DK-5203

also sold as Elements USB DVB-T Receiver by Arcsoft.

Firmware is dvb-usb-af9015.fw

Works with latest (Jan 09) modules downloaded from mercurial. Started by udev and most modules loaded appropriately. Additional modules to modprobe were af9013 and tda18271.

2014-02-15 05:35