Archived:How to install DVB device drivers: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
=Introduction=
=Introduction=


Before purchasing a DVB card, you should check whether it is listed within the [[Supported Hardware]] section. If the device you're considering is not listed, then there is a good chance it won't 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!).
Before purchasing a DVB card, you should check whether it is listed as supported within the [[Supported Hardware|Hardware]] section. If the device you're considering is not cited as being supported, then there is a good chance 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 did not find it contained in the [[Supported Hardware]] section, it might be a good idea to search this wiki for its name or the manufacturer name. There are indeed many DVB devices available on the market, but given the limited selection of hardware components that can be used in device design by manufacturers, some information can usually be ascertained about any given device. Further, sometimes you can even adopt the support provided for another device for your own.
If you have already purchased your DVB card but can not find mention of it being supported in the [[Supported Hardware|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.


The output from the following commands (which likely require you to run them as the su) should be your first starting point:
The output from the following commands (which likely require you to run them as the su) should be your first starting point:

Revision as of 16:10, 27 March 2007

This page contains information to help an "end user" to install a DVB device on his or her GNU/Linux system.

Introduction

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 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.

The output from the following commands (which likely require you to run them as the su) should be your first starting point:

 # lspci -v
 # lspci -vn

Watch out for output lines with

 Multimedia video controller: ...
 Multimedia controller: ...

Also read the manufactuer'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 mailing list along with the above output.

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 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

 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

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:

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.