DVB Installation 1.1.1 (Kernel 2.6)

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Download)
(Hinweise: verschiebe das mal in DISKUSSION...)
Zeile 119: Zeile 119:
 
Nach der Installation der Treiber muss noch die Firmware eingespielt werden. Mehr dazu gibt es in der Rubrik  
 
Nach der Installation der Treiber muss noch die Firmware eingespielt werden. Mehr dazu gibt es in der Rubrik  
 
[[Firmware|Firmware]]
 
[[Firmware|Firmware]]
==Hinweise==
 
===Support für (kleiner gleich) <= 2.6.13===
 
Aktueller CVS Treiber läßt sich nur noch mit Kernel 2.6.13 oder höher übersetzen?
 
 
'''Grund''': CVS muß zum aktuellen Kernel passen, da der Treiber regelmäßig in den Kernel übernommen wird.
 
 
In der Mailinglist wurde ein Patch veröffentlicht, um den aktuellen Treiber auch mit älteren Kernel versionen übersetzen zu können.
 
 
Folgende Schritte sind hierfür Notwendig. (Die Umgebungsvariable $SOURCEDIR muss hierbei auf /usr/local/src gesetzt werden. Bei einer SuSe geschieht dies mittels export SOURCEDIR='/usr/local/src').
 
 
cd $SOURCEDIR
 
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
 
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel
 
wget http://linuxtv.org/downloads/patches/dvb-kernel-pre-2.6.12.patch
 
ln -s dvb-kernel DVB
 
cd DVB
 
patch -p0 < ../dvb-kernel-pre-2.6.12.patch
 
ln -s linux/include include
 
cd build-2.6
 
sh MAKEDEV-DVB.sh
 
make
 
 
Oder den letzten Snapshot für '''< 2.6.9''' laden.
 
 
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
 
cvs -z3 -d:pserver:anonymous@linuxtv.org:/cvs/linuxtv co -D 2005-06-19 dvb-kernel
 
 
Einsehen kann man das ganze in der '''../dvb-kernel/build-2.6/version_check.c'''.
 
 
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,9)
 
                                        ^^^^^
 
#error compiling dvb-kernel works only with linux version greater or equal 2.6.9
 
                                                                            ^^^^^
 
#endif
 
 
=== Major Nummer ändern ===
 
Die DVB Treiber von Kernel 2.6 haben jetzt einen offizielles device, dies sitzt auf Major 212 !
 
Um VDR ans laufen zu bekommen müssen diese neu angelegt werden.
 
 
'''Achtung !'''
 
Um VDR unter Kernel 2.4 laufen zu lassen die Major Nummer auf 250 ändern!
 
Also ggf. die 212 im Script gegen 250 austauschen.
 
Sonst läuft VDR leider auch unter Kernel 2.4 nicht mehr.
 
(gilt so nicht, neuer Treiber aus CVS braucht 212, auch bei Kernel 2.4)
 
 
Folgendes Script hilft bei der Umstellung auf Kernel 2.6.
 
 
<pre>
 
#!/bin/sh
 
rm -rf /dev/dvb/adapter*/*
 
device=0
 
for card in `seq 0 3`; do
 
  mkdir -p /dev/dvb/adapter${card}
 
  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
 
  done
 
done
 
</pre>
 
  
 
[[Kategorie:Installationsanleitungen]]
 
[[Kategorie:Installationsanleitungen]]

Version vom 28. Januar 2006, 15:19 Uhr

Inhaltsverzeichnis

Vorbemerkung

Beim Kernel 2.6 gibt es drei Möglichkeiten die DVB Treiber zu verwenden.

  • Die DVB Treiber die mit dem Kernel ausgeliefert werden
  • Treiber von linuxTV als Kernel Module
  • Treiber von linuxTV ohne Kernel Module

Download

Das Archiv wird im selben Verzeichnis in welches später auch VDR kommt entpackt und ein symbolischer Link auf DVB angelegt.

v4l-dvb (aktueller Stand)

  • Standard

http://www.linuxtv.org/downloads/snapshots

cd $SOURCEDIR
mkdir DVB
tar xjvf v4l-dvb-<VERSION>.tar.gz -C DVB
cd DVB
ln -s linux/include include
cd v4l
ln -s scripts/insmod.sh .
  • CVS
cd $SOURCEDIR
cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/video4linux login
cvs -z3 -d :pserver:anonymous@cvs.linuxtv.org:/cvs/video4linux co -P v4l-dvb
ln -s v4l-dvb DVB
cd DVB
ln -s linux/include include
cd v4l
ln -s scripts/insmod.sh .

dvb-kernel (dieser Treiber wird nicht mehr gepflegt)

  • Standard

http://www.linuxtv.org/downloads

cd $SOURCEDIR
tar xjvf /path/to/linuxtv-dvb-<VERSION>.tar.bz2
ln -s linuxtv-dvb-<VERSION> DVB
cd DVB
ln -s linux/include include
  • CVS
cd $SOURCEDIR
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
cvs -z3 -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel
ln -s dvb-kernel DVB
cd DVB
ln -s linux/include include

Installation

Installation der im Kernel integrierten Treiber

Wenn man sich für den Kernel-DVB-Treiber entscheidet, müssen bei den Kernelkonfiguration zusätzlich zu den oben genannten Optionen die folgenden aktiviert werden:

(zu finden unter Device Drivers->Multimedia devices->Digital Video Broadcasting Devices)

  • DVB For Linux (CONFIG_DVB) :
  • DVB Core Support (CONFIG_DVB_CORE) :
  • das entsprechende Frontend der DVB-Karte (im Zweifel mehrere) z.B. für eine Hauppauge Nexus mit der Firmware 2.1/2.2 STV0299

Bei einer Full-featured-DVB-Karte:

 AV7110 cards (CONFIG_DVB_AV7110)
 [x] Compile AV7110 [[firmware]] into the driver (CONFIG_DVB_AV7110_FIRMWARE)
 [x] AV7110 OSD support (CONFIG_DVB_AV7110_OSD)

Bei einer Budget-DVB-Karte:

Budget cards (CONFIG_DVB_BUDGET)

Nach Möglichkeit sollte der DVB-Treiber als Modul übersetzt werden, da er im Falle eines Absturzes neu geladen werden kann, ohne den Rechner neu starten zu müssen. Nach Abschluss der Konfiguration des Kernels einfach

make modules
make modules_install

mit Kernel Modulen

v4l-dvb

Bitte Ergänzen!

dvb-kernel

Voraussetzung ist, daß man bereits die Kernel(!) Sourcen nach /usr/src/ entpackt und die DVB Treiber über CVS oder den download geholt hat.

cd DVB
./makelinks /usr/src/<kernel>

Jetzt muß(!) der Kernel neu gebaut werden.

ohne Kernel Module

v4l-dvb

Bitte Ergänzen!

dvb-kernel

Achtung! Für diese Methode müssen trotzdem die kernel-sourcen installiert sein - eine make oldconfig ist ebenfalls zwingend!


Diese Methode ist prinzipiell flexibler, da bei einem Treiberupdate nicht der gesamte Kernel neu gebaut werden muß. Allerdings können die Module nicht(!) über "modprobe" geladen werden, das Laden erfolgt dann zwingend über das "insmod.sh" Script.

cd DVB/build-2.6
./getlinks
make
./insmod.sh load

Im $VDR muß die Datei "Make.config.template" in "Make.config" umbenannt werden und der Pfad für die CVS Treiber in der Variable "DVBDIR" angepasst werden

DVBDIR   = ../DVB  

wird zu

DVBDIR   = /usr/local/src/DVB/build-2.6

Firmware

Nach der Installation der Treiber muss noch die Firmware eingespielt werden. Mehr dazu gibt es in der Rubrik Firmware