Archived:How to install DVB device drivers
This page contains information to help an "end user" install a DVB device and its drivers in a GNU/Linux system.
Before purchasing a DVB card, you should check whether it is listed as supported within the hardware section. If the device you're considering is not cited as being supported, then there is a good chance that it will not work under Linux. However, as the information in the wiki is not always current, you should also consider inquiring about the device's status on the mailing list (but please search the archives first!).
If you have already purchased your DVB card but can not find mention of it being supported in the hardware section, it might be a good idea to search this wiki for the device's name or the manufacturer name. While there are indeed many DVB devices available on the market, the selection of hardware components that a manufacturer has to choose from, when designing their device, is actually limited. As a consequence of this fact, many DVB devices have a similar component constitution, and hence some information can usually be ascertained about any given unsupported device. Furthermore, sometimes you can even adopt the support provided for another device for your own currently unsupported device.
If your device is PCI based, then the output from the following commands (which likely require you to run them with su privileges) should be your first starting point:
# lspci -v # lspci -vn
Watch out for output lines with
Multimedia video controller: ... Multimedia controller: ...
Also read the manufacturer's details from the tin box of the card. If there are any textual/numerical markings printed on the board itself, they would be useful too - basically anything to help others identify a card visually. Send this information to the Linuxtv DVB mailing list along with the above output.
Similarly, if your device is USB based, look at the output generated from the commands
# lsusb -v # lsusb -vn
As these devices tend to be completely encased, it is difficult, if not impossible, to make any visual identifications of components used in the device's design without resorting to physically prying it open. The degree of difficulty of undertaking such a task can vary greatly, but in most cases the user can, with patience and care, find a way to non-destructively disassemble the device. Nonetheless, anyone attempting such a venture should be prepared to fully accept the consequences of their own actions in the event of an unsuccessful attempt.
As a final thought in your preliminary steps to find support information for your device, you might also search with google and add "Linux" and/or "how to" to your keywords.
Please be nice to the community and add your insights about your device to the appropriate area in this wiki !
Solution for new kernels (2.6)
If you have a new Linux kernel and its compiled with many options on/modules installed (as normal Linux distros ship it), then chances are very good that you don't have to install any driver. Use
to see if the required modules are installed with your kernel. Which are the required ones? It depends on your DVB-card chip. See TwinhanDTV Digital Terrestrial TV Card Ter for an example.
After you checked that they're all available you can load them with
You should now have some stuff in
If you don't see dvb-directory, then something has failed. You don't need to create it, it comes automatically. With Ubuntu 6.06.1 the problem was that dvb-ttpci was not in the firmware directory. If you have all the modules active (listed in lsmod) but no /dev's to be found, check dmesg for any errors, ie: grep dvb /var/log/dmesg
- dvb-ttpci: could not load firmware, file not found: dvb-ttpci-01.fw
- dvb-ttpci: usually this should be in /usr/lib/hotplug/firmware or /lib/firmware
- dvb-ttpci: and can be downloaded from http://www.linuxtv.org/download/dvb/firmware/
will appear if you use the default *.rpm install for the Technotrend1.x/Hauppauge and similar premium (hardware-MPEG) DVB-S cards.
See First steps with a DVB device for more tests and how to set up your frequency table.
Solution with v4l manual installation
Introduction: why v4l ? ... (please write it!)
NOTE: Some of the following steps are specific to Debian-based distributions, but these instructions should also be helpful to users of other distributions.
Please have also a look at http://linuxtv.org/repo.
Get required software
Before you can start you need the following software:
- mercurial: needed to download the latest source
- kernel-headers, make, gcc: needed to compile the the driver
This guide does not include steps to install those software for all distributions.
On Debian-based distributions you can use the following command to install all required software:
$ [sudo] apt-get install mercurial linux-headers-$(uname -r) build-essential
Note: [sudo] means that you only have to specify "sudo" if you aren't root, otherwise omit it.
On Gentoo-based distributions you can use the following command to install mercurial. Other dependancies are installed in main system tree.
$ [sudo] emerge mercurial
Fedora is just as easy:
$ [sudo] yum install mercurial
Obtain latest source code
After we have installed all required software you should be able to download the latest source code with the following command:
$ hg clone http://linuxtv.org/hg/v4l-dvb
This should create a directory called v4l-dvb in the current working directory.
Compile the source code
Let's go inside the directory that contains the previously downloaded source:
$ cd v4l-dvb
Then we have just to compile the source:
$ [sudo] make
If you run into any problems here, you should contact the developers via irc.freenode.net on #linuxtv or on #dvb.
Install the driver and reboot
The next step is to install the driver. To install the driver (note that the v4l modules are also installed) you have to execute:
$ [sudo] make install
Then connect the device (if external) and reboot.
$ [sudo] reboot
After that start your preferred program for watching DVB (e.g. Kaffeine).
Obtain the firmware
Some devices need firmware. To obtain the correct firmware you need to know what card you're using.
Normally the device name and model are written on the device, on the box or in the manual.
Look at DVB-S devices / DVB-C devices / DVB-T devices / ATSC devices.
The output of the following tools may be helpful, too. For PCI devices use
$ lspci -v
For USB devices use
$ lsusb -v
Most firmware (if needed) can be found on one of these links:
However, not all supported-card firmware is available (eg Hauppauge HVR 1100 & 1300). Firmware for such cards could be loaded via temporary installation in an MS Windows System with the Manufacturer supplied drivers.
You have to download it and copy it into the right directory (used by hotplug). The location of this directory depends on your distribution, but normally it's one of those:
Further steps can be found here: