DVB Installation v4l-dvb

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Variante B - Seperate Treiber von LinuxTV)
(hg per wget)
 
(36 dazwischenliegende Versionen von 17 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
  
 
* Kernel-Treiber (welche mit dem Kernel ausgeliefert werden)
 
* Kernel-Treiber (welche mit dem Kernel ausgeliefert werden)
* Seperate Treiber von LinuxTV
+
* Separate Treiber von LinuxTV
 +
 
 +
==Kernelkonfiguration==
  
==Variante A - Kernel Treiber==
 
Wenn man sich für den Kernel DVB Treiber entscheidet, müssen bei der Kernelkonfiguration folgenden Einstellungen aktiviert werden.
 
  
<b>Kernelkonfiguration</b>
 
 
<pre>
 
<pre>
 
Code maturity level options --->
 
Code maturity level options --->
 
     [*] Prompt for development and incomplete code / driver
 
     [*] Prompt for development and incomplete code / driver
     [*] Select only drivers expected to compile cleanly
+
     [*] Select only drivers expected to compile cleanly (im kernel 2.6.16 nicht verfügbar)
  
 
Loadable module support --->
 
Loadable module support --->
Zeile 23: Zeile 22:
 
         [*] Select only drivers that don't need compile-time external firmware
 
         [*] Select only drivers that don't need compile-time external firmware
 
         [*] Prevent firmware from being built
 
         [*] Prevent firmware from being built
         <M> Hotplug firmware loading support
+
         <M> Hotplug firmware loading support (im kernel 2.6.16 nicht verfügbar)
  
 
     Block Devices --->
 
     Block Devices --->
Zeile 50: Zeile 49:
 
     Multimedia Devices --->
 
     Multimedia Devices --->
 
       <M> Video For Linux aktivieren
 
       <M> Video For Linux aktivieren
 +
      <*> Enable Video for Linux API 1 (DEPRECATED)
  
 
       Digital Video Broadcasting Devices --->
 
       Digital Video Broadcasting Devices --->
Zeile 69: Zeile 69:
 
</pre>
 
</pre>
  
===[[Firmware]]===
+
==[[Firmware]]==
Vor dem laden / entladen [[Firmware]] überprüfen.
+
[[Firmware#DVB_Karten|Firmware]] überprüfen.
  
 +
==Variante A - Kernel Treiber==
 
===Treiber laden / entladen===
 
===Treiber laden / entladen===
 
'''>>> Bitte ergänzen <<<'''
 
'''>>> Bitte ergänzen <<<'''
  
==Variante B - Seperate Treiber von LinuxTV==
+
==Variante B - Separate Treiber von LinuxTV==
 
Diese Methode ist prinzipiell flexibler, da bei einem Treiberupdate nicht der gesamte Kernel neu gebaut werden muß.
 
Diese Methode ist prinzipiell flexibler, da bei einem Treiberupdate nicht der gesamte Kernel neu gebaut werden muß.
  
Hier werden nur die grundlegenden Dinge im Kernel selber aktiviert. Die Treiber für die DVB-Karten werden vom Kernel getrennt compiliert.
+
Die Treiber für die DVB-Karten werden vom Kernel getrennt compiliert.
 
+
<b>Kernelkonfiguration</b>
+
<pre>
+
Code maturity level options --->
+
    [*] Prompt for development and incomplete code / driver
+
    [*] Select only drivers expected to compile cleanly
+
 
+
Loadable module support --->
+
    [*] Enable loadable module support
+
    [*] Module unloading
+
    [*] Automatic kernel module loading
+
 
+
Device Drivers --->
+
    Generic Driver Options --->
+
        [*] Select only drivers that don't need compile-time external firmware
+
        [*] Prevent firmware from being built
+
        <M> Hotplug firmware loading support
+
 
+
    Block Devices --->
+
        <*> RAM disk support
+
        [*] Initial RAM disk (initrd) support
+
 
+
    Input Device Support --->
+
        <M> Event Interface (i.e. necessary for included IR-Receiver of the Hauppauge Nexus)
+
 
+
    Character Devices --->
+
        Serial Drivers -->
+
            [ ] 8250/16550 and compatible serial support (or as module, only necessary for LIRC)
+
 
+
        [*] Legacy (BSD) PTY support
+
        <M> /dev/nvram support
+
        <M> Enhance Realtime Clock support
+
 
+
    I2C support --->
+
        <M> I2C support
+
        <M>  I2C device interface
+
 
+
        I2C Algorithms --->
+
            <M> I2C bit-banging interfaces
+
            <M> I2C PCF 8584 interfaces
+
 
+
    Multimedia Devices --->
+
      <M> Video For Linux aktivieren
+
 
+
      Digital Video Broadcasting Devices --->
+
          [ ] DVB For Linux
+
 
+
File Systems --->
+
    <*> Kernel automounter version 4 support (also supports v3)
+
 
+
    Pseudo filesystems -->
+
        [*] /proc file system support
+
        [*] Virtual memory file system support (former shm fs)
+
        [*] /dev/pts file system for Unix98 PTYs
+
</pre>
+
  
 
===Download===
 
===Download===
Zeile 142: Zeile 88:
 
  hg clone http://linuxtv.org/hg/v4l-dvb
 
  hg clone http://linuxtv.org/hg/v4l-dvb
 
  ln -s v4l-dvb DVB
 
  ln -s v4l-dvb DVB
cd DVB
 
ln -s linux/include include
 
 
====Browser====
 
http://linuxtv.org/hg/v4l-dvb
 
    '''tags'''
 
        '''tip'''
 
            '''bz2'''
 
  
 +
====hg per wget====
 
  cd [[Struktur|$SOURCEDIR]]
 
  cd [[Struktur|$SOURCEDIR]]
  tar jxvf hg-v4l-dvb-<VERSION>.tar.bz2
+
  wget http://linuxtv.org/hg/v4l-dvb/archive/tip.tar.bz2
 +
tar jxvf tip.tar.bz2
 
  ln -s hg-v4l-dvb-<VERSION> DVB
 
  ln -s hg-v4l-dvb-<VERSION> DVB
cd DVB
+
(muß eventuell heißen: ln -s v4l-dvb-<VERSION> DVB)
ln -s linux/include include
+
  
 
====Alternativ (lynx)====
 
====Alternativ (lynx)====
eval $(lynx -dump "http://linuxtv.org/hg/v4l-dvb?cmd=tags;style=gitweb" | grep node= | cut -d';' -f2 | head -n 1)
 
lynx -dump "http://linuxtv.org/hg/v4l-dvb?ca=${node};type=bz2" > hg-v4l-dvb-$(date +%Y%m%d).tar.bz2
 
 
  cd [[Struktur|$SOURCEDIR]]
 
  cd [[Struktur|$SOURCEDIR]]
 +
eval node=$(${LYNX} "http://linuxtv.org/hg/v4l-dvb?cmd=tags;style=gitweb" | egrep '/file/|/rev/|/log/' | awk -F/ 'END { print $(NF) }')
 +
lynx -dump "http://linuxtv.org/hg/v4l-dvb?ca=$node;type=bz2" > hg-v4l-dvb-$(date +%Y%m%d).tar.bz2
 
  tar jxvf hg-v4l-dvb-<DATE>.tar.bz2
 
  tar jxvf hg-v4l-dvb-<DATE>.tar.bz2
 
  ln -s hg-v4l-dvb-<DATE> DVB
 
  ln -s hg-v4l-dvb-<DATE> DVB
cd DVB
 
ln -s linux/include include
 
  
 
<!--
 
<!--
Zeile 178: Zeile 115:
  
 
===Übersetzen===
 
===Übersetzen===
  cd $SOURCEDIR/DVB
+
  cd [[Struktur|$SOURCEDIR]]/DVB
 +
ln -s linux/include include
 
  make menuconfig
 
  make menuconfig
  
Zeile 190: Zeile 128:
 
  make
 
  make
  
===Aktualisieren===
+
Bei Problemen beim Empfang mit DVB-C Karten bitte hier lesen: [http://www.vdr-portal.de/board/thread.php?threadid=67331]
cd $SOURCEDIR/DVB
+
hg pull -u http://linuxtv.org/hg/v4l-dvb
+
  
===[[Firmware]]===
+
{{Box Hinweis|
Vor dem laden / entladen [[Firmware]] überprüfen.
+
Wenn es beim übersetzen '''make''' keine Probleme gab, könnte man noch '''make install''' aufrufen, um die Kernelmodule nach '''/lib/modules/<KERNELVERSION>''' zu verfrachten.
 +
Anschliessend sind in der '''/etc/modules''' die nötigen Treiber einzutragen.
 +
Es sei erwähnt das mit '''make install''' vorhandene Module des Kernels überschrieben werden.
 +
Deshalb der ''TIP'', '''make install''' außen vor lassen, und die Treiber über das Makefile (bzw. ('''rmmod.pl''') laden lassen.
 +
 
 +
'''Ergänzung: Im vdr-portal gab Ufo folgenden aktuellen (22.Juni.2006) Tip:'''
 +
 
 +
Wenn Du die neuen Treiber verwendest, mußt Du die Module
 +
* videodev
 +
* video_buf
 +
* v4l2_common und
 +
* v4l1_compat
 +
aus dem v4l-Verzeichnis laden (per insmod).
 +
 
 +
Es funktioniert nicht, wenn man die Module des Kernels lädt (per modprobe), da interne Schnittstellen verändert wurden.
 +
 
 +
}}
 +
 
 +
ACHTUNG: ivtv-sourcen sind mittlerweile automatisch integriert, siehe [http://www.vdr-portal.de/board/thread.php?threadid=65353]
 +
make ivtv (lädt die Sourcen des passenden ivtv Treibers herunter, optional)
 +
make install (optional)
  
 
===Treiber laden / entladen===
 
===Treiber laden / entladen===
  make -C $SOURCEDIR/DVB/v4l load
+
  make -C [[Struktur|$SOURCEDIR]]/DVB/v4l load
  make -C $SOURCEDIR/DVB/v4l unload
+
  make -C [[Struktur|$SOURCEDIR]]/DVB/v4l unload
  make -C $SOURCEDIR/DVB/v4l reload
+
  make -C [[Struktur|$SOURCEDIR]]/DVB/v4l reload
 +
 
 +
===Aktualisieren===
 +
cd [[Struktur|$SOURCEDIR]]/DVB
 +
hg pull -u http://linuxtv.org/hg/v4l-dvb
 +
 
 +
==Links==
 +
# [http://ilpss8.dyndns.org/DVB-driver Spiegel]
  
 
[[Kategorie:Installationsanleitungen]]
 
[[Kategorie:Installationsanleitungen]]

Aktuelle Version vom 3. August 2008, 18:51 Uhr

Inhaltsverzeichnis

[Bearbeiten] Vorbemerkung

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

  • Kernel-Treiber (welche mit dem Kernel ausgeliefert werden)
  • Separate Treiber von LinuxTV

[Bearbeiten] Kernelkonfiguration

Code maturity level options --->
    [*] Prompt for development and incomplete code / driver
    [*] Select only drivers expected to compile cleanly (im kernel 2.6.16 nicht verfügbar)

Loadable module support --->
    [*] Enable loadable module support
    [*] Module unloading
    [*] Automatic kernel module loading

Device Drivers --->
    Generic Driver Options --->
        [*] Select only drivers that don't need compile-time external firmware
        [*] Prevent firmware from being built
        <M> Hotplug firmware loading support (im kernel 2.6.16 nicht verfügbar)

    Block Devices --->
        <*> RAM disk support
        [*] Initial RAM disk (initrd) support

    Input Device Support --->
        <M> Event Interface (i.e. notwendig für den intergierten IR-Empfänger der Hauppauge Nexus)

    Character Devices --->
        Serial Drivers -->
            [ ] 8250/16550 and compatible serial support (oder als Modul, nur notwendig für LIRC)

        [*] Legacy (BSD) PTY support
        <M> /dev/nvram support
        <M> Enhance Realtime Clock support

    I2C support --->
        <M> I2C support
        <M>   I2C device interface

        I2C Algorithms --->
            <M> I2C bit-banging interfaces
            <M> I2C PCF 8584 interfaces

    Multimedia Devices --->
       <M> Video For Linux aktivieren
       <*> Enable Video for Linux API 1 (DEPRECATED)

       Digital Video Broadcasting Devices --->
           [*] DVB For Linux
           <M> DVB Core Support

           <M> AV7110 cards
           [*]   AV7110 OSD support

           (enable every module in here)

File Systems --->
    <*> Kernel automounter version 4 support (also supports v3)

    Pseudo filesystems -->
        [*] /proc file system support
        [*] Virtual memory file system support (former shm fs)
        [*] /dev/pts file system for Unix98 PTYs

[Bearbeiten] Firmware

Firmware überprüfen.

[Bearbeiten] Variante A - Kernel Treiber

[Bearbeiten] Treiber laden / entladen

>>> Bitte ergänzen <<<

[Bearbeiten] Variante B - Separate Treiber von LinuxTV

Diese Methode ist prinzipiell flexibler, da bei einem Treiberupdate nicht der gesamte Kernel neu gebaut werden muß.

Die Treiber für die DVB-Karten werden vom Kernel getrennt compiliert.

[Bearbeiten] Download

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

[Bearbeiten] Mercurial

cd $SOURCEDIR
hg clone http://linuxtv.org/hg/v4l-dvb
ln -s v4l-dvb DVB

[Bearbeiten] hg per wget

cd $SOURCEDIR
wget http://linuxtv.org/hg/v4l-dvb/archive/tip.tar.bz2
tar jxvf tip.tar.bz2
ln -s hg-v4l-dvb-<VERSION> DVB

(muß eventuell heißen: ln -s v4l-dvb-<VERSION> DVB)

[Bearbeiten] Alternativ (lynx)

cd $SOURCEDIR
eval node=$(${LYNX} "http://linuxtv.org/hg/v4l-dvb?cmd=tags;style=gitweb" | egrep '/file/|/rev/|/log/' | awk -F/ 'END { print $(NF) }')
lynx -dump "http://linuxtv.org/hg/v4l-dvb?ca=$node;type=bz2" > hg-v4l-dvb-$(date +%Y%m%d).tar.bz2
tar jxvf hg-v4l-dvb-<DATE>.tar.bz2
ln -s hg-v4l-dvb-<DATE> DVB


[Bearbeiten] Übersetzen

cd $SOURCEDIR/DVB
ln -s linux/include include
make menuconfig
kurze beschreibung...
kurze beschreibung...
kurze beschreibung...
kurze beschreibung...
make

Bei Problemen beim Empfang mit DVB-C Karten bitte hier lesen: [1]

Hinweis
Hinweis

Wenn es beim übersetzen make keine Probleme gab, könnte man noch make install aufrufen, um die Kernelmodule nach /lib/modules/<KERNELVERSION> zu verfrachten. Anschliessend sind in der /etc/modules die nötigen Treiber einzutragen. Es sei erwähnt das mit make install vorhandene Module des Kernels überschrieben werden. Deshalb der TIP, make install außen vor lassen, und die Treiber über das Makefile (bzw. (rmmod.pl) laden lassen.

Ergänzung: Im vdr-portal gab Ufo folgenden aktuellen (22.Juni.2006) Tip:

Wenn Du die neuen Treiber verwendest, mußt Du die Module

  • videodev
  • video_buf
  • v4l2_common und
  • v4l1_compat

aus dem v4l-Verzeichnis laden (per insmod).

Es funktioniert nicht, wenn man die Module des Kernels lädt (per modprobe), da interne Schnittstellen verändert wurden.



ACHTUNG: ivtv-sourcen sind mittlerweile automatisch integriert, siehe [2]
make ivtv (lädt die Sourcen des passenden ivtv Treibers herunter, optional)
make install (optional)

[Bearbeiten] Treiber laden / entladen

make -C $SOURCEDIR/DVB/v4l load
make -C $SOURCEDIR/DVB/v4l unload
make -C $SOURCEDIR/DVB/v4l reload

[Bearbeiten] Aktualisieren

cd $SOURCEDIR/DVB
hg pull -u http://linuxtv.org/hg/v4l-dvb

[Bearbeiten] Links

  1. Spiegel