Archived:How to install DVB device drivers
This page contains information to help an "end user" to install a DVB device on his or her GNU/Linux system.
After you bought your DVB card it might be a good idea to search this wiki for its name or the manufacturer name. There are many cards but only few actual chips, so chances are good that someone else wrote a howto somewhere that you can adopt. The output of lspci will probably help you:
# lspci
Watch out for output lines with
Multimedia video controller: ... Multimedia controller: ...
You might also search with google and add "linux" and/or "howto" to your keywords.
Please be nice to the community and add your insights to this wiki after you got it working.
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 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
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
The firmware (if needed) can be found on one of those links:
- http://linuxtv.org/downloads/firmware
- http://thadathil.net:8000/dvb/fw
- http://thadathil.net:8000/dvb/fw/dvb-usb
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:
FAQ
Q: My device was working perfectly, but now it is not recognized anymore. What is the problem?
A: It's possible that you're using a different kernel now, so you have to install the driver again and ensure that the firmware is reached by the hotplug system.
Q: My DVB device is recognized but I'm not able to use it. What can I do?
A: You should check that the /dev/dvb exists and that you have the correct permissions to read and write that directory.
You might also try some of the First steps with a budget DVB card to see if other software can cope with it.
For further please contact developers via irc.freenode.net on #linuxtv (or #dvb) or via mailing list.