DVB installation

From VDR Wiki
Revision as of 12:20, 25 September 2004 by Monroe (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


You need a recent Linux kernel with some special settings. Wehter it is a kernel of version 2.4 or 2.6, depends on the personal linking and/or the other requirements.

Get the kernel sources from [1] and decompress them under /usr/src as user root.

cd /usr/src
tar -jxvf linux-<VERSION>.tar.bz2
ln -s linux-<VERSION> linux

Kernel 2.4


Voraussetzung für eine erfolgreiche Übersetzung ist ein Kernel der Version 2.4 mit Unterstützung für

Multimedia devices  --->
  <*> Video For Linux

Input core support  --->
  <*> Input core support
  <*>   Event interface support

Driver installation

The driver can be obtained from LinuxTV. The version used for the development of VDR can be obtained from the VDR homepage.

First the downloaded archive has do be decompressed and a symbolic from DVB to the new directory has to be created

tar -zxvf /path/to/linux-dvb.2003-11-08.tar.bz2
ln -s linux-dvb.2003-11-08 DVB
cd DVB/driver

Before compiling the DVB driver the Makefile can be adapted. For a 'normal' DVB card it should work as is.

#  Configs

CARDS = av7110
#CARDS += margi
#CARDS += em8300
CARDS += b2c2

then a simple

make install


Loading the driver (still from the DVB source directory)

make insmod CARDS="av7110"

With an older driver a "Convergence" could be seen on the TV. Otherwise a lsmod outputs a list of loaded modules. E.g.

Module                  Size  Used by
lirc_serial             7040   1
lirc_dev                8320   1  [lirc_serial]
dvb-ttpci             300736   8
evdev                   4160   0  (unused)
input                   3072   0  [dvb-ttpci evdev]
mt312                   5088   0
tda1004x                7952   0
ves1820                 4304   0
stv0299                 6592   0  (unused)
grundig_29504-491       3200   0
grundig_29504-401       3584   0
alps_tdlb7              4992   0
alps_tdmb7              3360   0
alps_bsrv2              3456   1
dvb-core               36720  31  [dvb-ttpci mt312 tda1004x ves1820 stv0299 grundig_29504-491 grundig_29504-401 alps_tdlb7 alps_tdmb7 alps_bsrv2]
videodev                4544   2  [dvb-ttpci]
ipv6                  124736  -1  (autoclean)
8139too                11936   1  (autoclean)
reiserfs              147920   2

To unload the driver

make rmmod CARDS="av7110"

Kernel 2.6

There are two possibilities the get a DVB driver for kernel 2.6

  • a seperate driver
  • the driver included in the kernel


The following kernel option has to be selected to get the kernel DVB driver. Either compiled in or as modules.

Device Drivers  --->
  Multimedia devices  --->
    Digital Video Broadcasting Devices  --->
      [*] DVB For Linux
      <*>   DVB Core Support
      ---   Supported Frontend Modules
      <*> (whatever is appropiate)
      <*> AV7110 cards
      [*]   Compile AV7110 firmware into the driver (NEW)
      [*]   AV7110 OSD support

When the firmware should be compiled into the kernel and the above option is not visible, then

Code maturity level options  --->
  [ ]   Select only drivers that don't need compile-time external firmware

has to be deselected before.

Driver Installation

If possible compile the driver a modules, then he can be reloaded without reboot after a crash. After the rest of the kernel is configured

make modules_install

and the kernel is to be installed. See the documentation about kernel compilation for further information.


The DVB driver in kernel 2.6 got (recently) the official major device number 212. Before it was the experimental major device number 250. So be aware of it if updating the system. (Under kernel 2.4 the major device number is still 250)

The following script help to change the major device number to 212.

rm -rf /dev/dvb/adapter*/*
for card in `seq 0 3`; do
device=`echo $card \* 64 | bc`
for dev in video audio sec frontend demux dvr ca net osd; do
mknod /dev/dvb/adapter${card}/${dev}0 c 212 $device
chmod 0660 /dev/dvb/adapter${card}/${dev}0
let device=device+1


cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel


[1] http://www.linuxtv.org LinuxTV homepage
[2] http://www.kernel.org Linux kernel homepage
[3] http://www.linux-dvb.tv/download/ Nightly driver snapshots from Convergence DVB driver
[4] http://www.cadsoft.de/vdr VDR homepage
[5] ftp://ftp.cadsoft.de/vdr/Developer VDR FTP download directory