Archived:How to install DVB device drivers

From LinuxTVWiki
Revision as of 00:32, 27 April 2007 by CityK (talk | contribs) (moved the intro to "Check hardware compatibility" article)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This page contains information to help an "end user" install a DVB device and its drivers in a GNU/Linux system.

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

 lsmod

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

 modprobe

You should now have some stuff in

 /dev/dvb/adapter0/ 

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:

 /lib/firmware
 /usr/lib/hotplug/firmware

Further documentation

Further steps can be found here: