DVB Cards
Contents
Intro
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 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/*
Firmware
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:
Gentoo:
cp 'firmware-name' /lib/firmware
Other distros:
cp 'firmware-name' /usr/lib/hotplug/firmware
cp 'firmware-name' /etc/hotplug/firmware
DVB-C
DVB-C stands for digital broadcast via cable.
DVB-S
DVB-S stands for digital broadcast via satelite.
DVB-T
DVB-T stands for terrestrial digital broadcast.
Nova-t
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:
budget-ci
tda1004x
saa7146
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).
Airstar2
To use the Airstar2 card form TechniSat one needs basically the following modules:
skystar2
mt352
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.
DVICO dual DVB-T
[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);
DVICO dual DVB-T ; Debian | 2.6.17 & 2.6.18 (Instructions provided in this section)
- DVICO DVB-T PLUS ; Debian | 2.6.7 (Manually installed)
- DVICO DVB-T Lite ; Debian | 2.6.7 (Manually installed)
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.