Gentoo DVB Treiber

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(firmware-ebuild hinzugefügt)
K (Hinweis auf 'lspci -k')
 
(35 dazwischenliegende Versionen von 18 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
=Treiber für Kernel 2.4=
 
=Treiber für Kernel 2.4=
Benötigt werden evdev, input, i2c und videodev Support, egal ob als Modul oder im Kernel.
 
 
 
<b>Kernelkonfiguration</b>
 
<b>Kernelkonfiguration</b>
 +
 +
Im Verzeichnis der Kernelquellen '/usr/src/linux' lassen sich mit Hilfe von 'make menuconfig' folgende Einstellungen vornehmen (weitere Informationen im [http://de.gentoo-wiki.com/Kernel_manuell_kompilieren Gentoo-Wiki]):
 +
 
<pre>
 
<pre>
 
Input core support  --->
 
Input core support  --->
Zeile 21: Zeile 22:
 
</pre>
 
</pre>
  
Wenn man diese Funktionen als Module kompiliert, darf man nicht vergessen, sie auch beim Systemstart automatisch laden zu lassen. Unter Gentoo dient dazu die Datei ''/etc/modules.autoload.d/kernel-2.4'' (bzw. entsprechend der eingesetzten Kernelversion).
+
Jetzt kann das ebuild linuxtv-dvb installiert werden. (Wenn es jetzt nicht installiert wird, passiert dies automatisch bei der Installation von VDR).
Dort sollten folgende Zeilen stehen:
+
<pre>
+
i2c-core
+
i2c-proc
+
i2c-dev
+
evdev
+
</pre>
+
 
+
Jetzt kann das linuxtv-dvb ebuild installiert werden. (Wenn es jetzt nicht installiert wird, passiert dies automatisch bei der Installation von VDR).
+
 
<pre>
 
<pre>
 
emerge linuxtv-dvb
 
emerge linuxtv-dvb
Zeile 36: Zeile 28:
  
 
=Treiber für Kernel 2.6=
 
=Treiber für Kernel 2.6=
Kernel 2.6 enthält schon einige DVB-Treiber, d.h. es gibt hier 2 Möglichkeiten. Entweder man nimmt die mitgelieferten Treiber, oder man installier sich die neuesten Treiber aus dem CVS von [[http://www.linuxtv.org linuxtv.org]].
+
Kernel 2.6 enthält schon einige DVB-Treiber, d.h. es gibt hier zwei Möglichkeiten. Entweder man nimmt die mitgelieferten Treiber, oder man installiert sich die neuesten Treiber aus der versionsverwaltung Mercurial von [[http://www.linuxtv.org linuxtv.org]].
  
 
==Variante A - Kernel-Treiber==
 
==Variante A - Kernel-Treiber==
 
<b>Kernelkonfiguration</b>
 
<b>Kernelkonfiguration</b>
 +
 +
Analog zur Kernelkonfiguration für Kernel 2.4 lassen sich mit 'make menuconfig' folgende Einstellungen vornehmen:
 +
 
<pre>
 
<pre>
Code maturity level options -->
+
Code maturity level options --->
  --> Prompt for development and incomplete code / driver aktivieren
+
    [*] Prompt for development and incomplete code / driver
      Select only drivers expected to compile cleanly aktivieren
+
    [*] Select only drivers expected to compile cleanly
      Select only drivers that don't need compile-time external firmware deaktivieren
+
  
Loadable module support -->
+
Loadable module support --->
  --> Enable loadable module support aktivieren
+
    [*] Enable loadable module support
      Module unloading aktivieren
+
    [*] Module unloading
      Automatic kernel module loading aktivieren
+
    [*] Automatic kernel module loading
  
Bus options -->
+
Device Drivers --->
  --> Support for hot-pluggable devices aktivieren
+
    Generic Driver Options --->
 +
        [*] Select only drivers that don't need compile-time external firmware
 +
        [*] Prevent firmware from being built
 +
        <M> Hotplug firmware loading support
  
File Systems
+
    Block Devices --->
  --> Kernel automounter version 4 support aktivieren
+
        <*> RAM disk support
  --> Pseudo filesystems -->
+
        [*] Initial RAM disk (initrd) support
      --> /proc file system support aktivieren
+
      --> /dev file system support aktivieren
+
      --> Automatically mount at boot aktivieren
+
      --> /dev/pts file system for Unix98 PTYs aktivieren
+
      --> Virtual memory file system support aktivieren
+
  
Device Drivers -->
+
    Input Device Support --->
  --> Generic Driver Options -->
+
        <M> Event Interface (i.e. notwendig für den intergierten IR-Empfänger der Hauppauge Nexus)
      --> Hotplug firmware loading support aktivieren (m)
+
  
  --> Block Devices
+
    Character Devices --->
      --> RAM disk support aktivieren
+
        Serial Drivers -->
      --> Initial RAM disk (initrd) support aktivieren
+
            [ ] 8250/16550 and compatible serial support (oder als Modul, nur notwendig für LIRC)
  
  --> Input Device Support
+
        [*] Legacy (BSD) PTY support
      --> Event Interface aktivieren (notwendig bspw. für den eingebauten IR-Empfänger der Hauppauge Nexus)
+
        <M> /dev/nvram support
 +
        <M> Enhance Realtime Clock support
  
  --> Character Devices
+
    I2C support --->
      --> Serial Drivers -->
+
        <M> I2C support
          --> 8250/16550 and compatible serial support deaktivieren oder als Modul (nur für LIRC notwendig)
+
        <M>   I2C device interface
      --> Unix98 PTY support aktivieren
+
      --> Linux Infrared Controller -->
+
          --> Linux Infrared Controller deaktivieren oder als Modul (nur für LIRC notwendig)
+
          --> Serial Driver aktiviern (m) deaktivieren oder als Modul (nur für LIRC notwendig)
+
              --> Serial Receiver Type (Homebrew)
+
              --> I/O Port (0x3f8, 4) für COM1
+
      --> /dev/nvram aktivieren
+
      --> Enhance Realtime Clock support aktivieren
+
  
  --> I2C support -->
+
        I2C Algorithms --->
      --> I2C support aktivieren (m)
+
            <M> I2C bit-banging interfaces
      --> I2C device interface aktivieren (m)
+
            <M> I2C PCF 8584 interfaces
      --> I2C Algorithms -->
+
          --> I2C bit-banging interfaces aktivieren (m)
+
          --> I2C PCF 8584 interfaces aktivieren (m)
+
  
  --> Multimedia Devices -->
+
    Multimedia Devices --->
       --> Video For Linux aktivieren
+
       <M> Video For Linux aktivieren
       --> Digital Video Broadcasting Devices -->
+
 
          --> DVB for linux aktivieren
+
       Digital Video Broadcasting Devices --->
           --> DVB core support aktivieren
+
           [*] DVB For Linux
           --> STV0299 based DVB-s frontend aktivieren (m)
+
           <M> DVB Core Support
          --> Alps TDLB7 aktivieren (m)
+
 
           --> Alps TDMB7 aktivieren (m)
+
           <M> AV7110 cards
           --> Grundig 29504-491 aktivieren (m)
+
           [*]  AV7110 OSD support
           --> Grundig 29504-401 aktivieren (m)
+
 
          --> Frontends with external VES1820 demodulator aktivieren (m)
+
           (enable every module in here)
          --> Frontends with VES1893 or VES1993 demodulator aktivieren (m)
+
 
          --> AV7110 cards aktivieren (m)
+
File Systems --->
            --> Compile AV7110 firmware into the driver
+
    <*> Kernel automounter version 4 support (also supports v3)
                  (/usr/lib/hotplug/firmare/dvb-ttpci-01.fw)
+
 
          --> AV7110 OSD support aktivieren
+
    Pseudo filesystems -->
          --> Budget cards aktivieren (m)
+
        [*] /proc file system support
          --> Budget cards with onboard CI connector aktivieren
+
        [*] Virtual memory file system support (former shm fs)
          --> Budget cards with analog video inputs aktivieren
+
        [*] /dev/pts file system for Unix98 PTYs
          --> AV7110 card with Budget Patch aktivieren
+
 
</pre>
 
</pre>
für eine Hauppauge Nexus 2.1 Karte benötigt man eigentlich nur STV0299, AV7110 (+Firmware +OSD Support)
 
  
==Variante B - Treiber aus dem CVS==
+
==Variante B - Treiber aus der Versionsverwaltung==
Hier werden wie bei Kernel 2.4 nur die grundlegenden Dinge im Kernel selber aktiviert. Die Treiber für die DVB-Karten werden vom Kernel getrennt compiliert.
+
Hier werden wie bei Kernel 2.4 nur die grundlegenden Dinge im Kernel selber aktiviert. Die Treiber für die DVB-Karten werden vom Kernel getrennt kompiliert.
  
 
<b>Kernelkonfiguration</b>
 
<b>Kernelkonfiguration</b>
 
<pre>
 
<pre>
Code maturity level options -->
+
Code maturity level options --->
  --> Prompt for development and incomplete code / driver aktivieren
+
    [*] Prompt for development and incomplete code / driver
      Select only drivers expected to compile cleanly aktivieren
+
    [*] Select only drivers expected to compile cleanly
      Select only drivers that don't need compile-time external firmware deaktivieren
+
  
Loadable module support -->
+
Loadable module support --->
  --> Enable loadable module support aktivieren
+
    [*] Enable loadable module support
      Module unloading aktivieren
+
    [*] Module unloading
      Automatic kernel module loading aktivieren
+
    [*] Automatic kernel module loading
  
Device Drivers -->
+
Device Drivers --->
  --> Generic Driver Options -->
+
    Generic Driver Options --->
      --> Hotplug firmware loading support aktivieren (m)
+
        [*] Select only drivers that don't need compile-time external firmware
 +
        [*] Prevent firmware from being built
 +
        <M> Hotplug firmware loading support
  
  --> Input Device Support
+
    Block Devices --->
      --> Event Interface aktivieren (notwendig bspw. für den eingebauten IR-Empfänger der Hauppauge Nexus)
+
        <*> RAM disk support
 +
        [*] Initial RAM disk (initrd) support
  
  --> Character Devices
+
    Input Device Support --->
      --> Unix98 PTY support aktivieren
+
        <M> Event Interface (i.e. necessary for included IR-Receiver of the Hauppauge Nexus)
      --> /dev/nvram aktivieren
+
      --> Enhance Realtime Clock support aktivieren
+
  
  --> I2C support -->
+
    Character Devices --->
      --> I2C support aktivieren (m)
+
        Serial Drivers -->
      --> I2C device interface aktivieren (m)
+
            [ ] 8250/16550 and compatible serial support (or as module, only necessary for LIRC)
      --> I2C Algorithms -->
+
 
          --> I2C bit-banging interfaces aktivieren (m)
+
        [*] Legacy (BSD) PTY support
          --> I2C PCF 8584 interfaces aktivieren (m)
+
        <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 --->
 +
      < > Video For Linux
 +
 
 +
      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
 +
 
 +
Library Routines --->
 +
    <*> CRC32 functions
  
  --> Multimedia Devices -->
 
      --> Video For Linux aktivieren
 
      --> Digital Video Broadcasting Devices -->
 
          --> DVB for linux deaktivieren
 
 
</pre>
 
</pre>
  
Jetzt das linuxtv-dvb-cvs ebuild emergen:
+
Jetzt das ebuild v4l-dvb-hg (ersetzt die früheren ebuilds linuxtv-dvb-cvs von gentoo.de und v4l-dvb-cvs) emergen:
 
<pre>
 
<pre>
echo "media-tv/linuxtv-dvb-cvs ~x86" >> /etc/portage/package.keywords
+
echo "media-tv/v4l-dvb-hg ~x86" >> /etc/portage/package.keywords
emerge linuxtv-dvb-cvs
+
emerge v4l-dvb-hg
 
</pre>
 
</pre>
 +
 +
=Finden des richtigen Treibers=
 +
 +
siehe auch [[http://de.gentoo-wiki.com/Hardware_Index]] unter ''TV-Karten''
 +
 +
Zuerst wird das Modul evdev geladen:
 +
echo evdev >> /etc/modules.autoload.d/kernel-2.6
 +
 +
Da es relativ viele verschiedene DVB-Karten gibt muss jetzt herausgefunden werden welcher Treiber denn zu laden ist.
 +
Dies geht bei PCI-Karten zB mit ''pcimodules''.
 +
Falls noch nicht vorhanden installieren wir die ''pciutils''.
 +
emerge pciutils
 +
 +
Nun schauen wir welche Treiber sich zuständig fühlen:
 +
Bei älternen Systemen geht das mit ''pcimodules''
 +
vdr # pcimodules
 +
ohci-hcd
 +
ehci-hcd
 +
sis900
 +
snd-emu10k1
 +
dvb-ttpci
 +
b2c2-flexcop-pci
 +
nvidia
 +
nvidiafb
 +
 +
Bei neueren wurde ''pcimodules'' druch ''lspci -k'' abgelöst:
 +
vdr # lspci -k
 +
01:08.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
 +
        Subsystem: Technotrend Systemtechnik GmbH Device 101a
 +
        Kernel driver in use: budget_ci dvb
 +
 +
 +
In diesem Fall sind dies die Treiber ''dvb-ttpci'' und ''b2c2-flexcop-pci''.
 +
Diese beiden werden nun in /etc/modules.autoload.d/kernel-2.6 (Kernel 2.4 analog) eingetragen:
 +
echo dvb-ttpci >> /etc/modules.autoload.d/kernel-2.6
 +
echo b2c2-flexcop-pci >> /etc/modules.autoload.d/kernel-2.6
  
 
=Installation der Firmware=
 
=Installation der Firmware=
 
Seit neuestem gibt es ein ebuild für die Firmware-Dateien.
 
Seit neuestem gibt es ein ebuild für die Firmware-Dateien.
Hierfür kann man in /etc/make.conf festlegen für welche DVB-Karten man Firmware-Dateien braucht.
+
Hierfür kann man in /etc/[[Gentoo make.conf|make.conf]] festlegen für welche DVB-Karten man Firmware-Dateien braucht.
Falls man diesen Schritt unterlässt werden alle Firmware-Dateien installiert (Warnung: ca. 60MB Download)
+
Falls man diesen Schritt unterlässt, werden alle Firmware-Dateien installiert (Warnung: ca. 60 MB Download)
  
In /etc/make.conf:
+
In /etc/[[Gentoo make.conf|make.conf]]:
 
<pre>
 
<pre>
DVB_CARDS="or51132 or51211 ttpci"
+
DVB_CARDS="..."
 
</pre>
 
</pre>
  
Danach wird das Packet linuxtv-dvb-firmware per emerge installiert.
+
Im Moment unterstützte Werte für DVB_CARDS:
 +
dibusb-usb1 dibusb-usb2 nxt2002 nxt200x or51132 or51211 sp8870 sp887x
 +
tda1004x ttpci ttusb-dec usb-a800 usb-dtt200u usb-umt usb-vp702x
 +
usb-vp7045 usb-wt220u
 +
 
 +
In den meisten Fällen entspricht dieser Name dem Namen des entsprechenden Treibers der diese Firmware braucht.
 +
 
 +
Wenn man beispielsweise eine FF-Karte und eine Karte mit nxt2002 Chip installiert hat sollte DVB_CARDS mindestens so aussehen:
 +
DVB_CARDS="ttpci nxt2002"
 +
 
 +
Danach wird das Paket linuxtv-dvb-firmware per emerge installiert.
 
<pre>
 
<pre>
 
echo "media-tv/linuxtv-dvb-firmware ~x86" >> /etc/portage/package.keywords
 
echo "media-tv/linuxtv-dvb-firmware ~x86" >> /etc/portage/package.keywords
 
emerge linuxtv-dvb-firmware
 
emerge linuxtv-dvb-firmware
 
</pre>
 
</pre>
 +
 +
Das Paket '''hotplug''' sollte installiert sein. Wenn noch nicht geschehen:
 +
emerge sys-apps/hotplug
 +
 +
'''TIPP''': Falls das Laden der Firmware fehlschlagen sollte, kann man andere Versionen von udev probieren.
 +
 +
Mit der aktuell stabilen Version '''udev-079''' funktioniert es sehr gut.
  
 
=Laden des Treibers=
 
=Laden des Treibers=
Nun werden die passenden Treiber werden in ''/etc/modules.autoload/kernel-2.4'' bzw. ''/etc/modules.autoload/kernel-2.6'' eingetragen, damit sie beim Systemstart automatisch geladen werden.
+
Entweder wir laden die Treiber nun mit der Hand:
 +
modprobe evdev
 +
modprobe dvb-ttpci
 +
modprobe b2c2-flexcop-pci
 +
 
 +
oder wir starten das Bootskript welches die Module lädt (unsauber):
 +
/etc/init.d/modules zap start
  
 
Nach dem Laden kann man die Ausgaben der Treiber mit ''dmesg'' betrachten.
 
Nach dem Laden kann man die Ausgaben der Treiber mit ''dmesg'' betrachten.
Zeile 192: Zeile 252:
 
</pre>
 
</pre>
 
Wenn dem so ist, Glückwunsch. Wenn nicht kann es daran liegen das einige Kernelmodule/ Funktionen fehlen.
 
Wenn dem so ist, Glückwunsch. Wenn nicht kann es daran liegen das einige Kernelmodule/ Funktionen fehlen.
 +
 +
[[Kategorie:Gentoo]]
 +
[[en:Gentoo_DVB_driver]]

Aktuelle Version vom 3. Mai 2012, 16:25 Uhr

Inhaltsverzeichnis

[Bearbeiten] Treiber für Kernel 2.4

Kernelkonfiguration

Im Verzeichnis der Kernelquellen '/usr/src/linux' lassen sich mit Hilfe von 'make menuconfig' folgende Einstellungen vornehmen (weitere Informationen im Gentoo-Wiki):

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

Character devices  --->
   I2C support  --->
    <*> I2C support
    <M> I2C bit-banging interfaces
    <M> I2C device interface
    <M> I2C /proc interface

Multimedia devices  --->
    <*> Video For Linux
    Video For Linux  --->
     [*]   V4L information in proc filesystem

Jetzt kann das ebuild linuxtv-dvb installiert werden. (Wenn es jetzt nicht installiert wird, passiert dies automatisch bei der Installation von VDR).

emerge linuxtv-dvb

[Bearbeiten] Treiber für Kernel 2.6

Kernel 2.6 enthält schon einige DVB-Treiber, d.h. es gibt hier zwei Möglichkeiten. Entweder man nimmt die mitgelieferten Treiber, oder man installiert sich die neuesten Treiber aus der versionsverwaltung Mercurial von [linuxtv.org].

[Bearbeiten] Variante A - Kernel-Treiber

Kernelkonfiguration

Analog zur Kernelkonfiguration für Kernel 2.4 lassen sich mit 'make menuconfig' folgende Einstellungen vornehmen:

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

       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] Variante B - Treiber aus der Versionsverwaltung

Hier werden wie bei Kernel 2.4 nur die grundlegenden Dinge im Kernel selber aktiviert. Die Treiber für die DVB-Karten werden vom Kernel getrennt kompiliert.

Kernelkonfiguration

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 --->
       < > Video For Linux

       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

Library Routines --->
    <*> CRC32 functions

Jetzt das ebuild v4l-dvb-hg (ersetzt die früheren ebuilds linuxtv-dvb-cvs von gentoo.de und v4l-dvb-cvs) emergen:

echo "media-tv/v4l-dvb-hg ~x86" >> /etc/portage/package.keywords
emerge v4l-dvb-hg

[Bearbeiten] Finden des richtigen Treibers

siehe auch [[1]] unter TV-Karten

Zuerst wird das Modul evdev geladen:

echo evdev >> /etc/modules.autoload.d/kernel-2.6

Da es relativ viele verschiedene DVB-Karten gibt muss jetzt herausgefunden werden welcher Treiber denn zu laden ist. Dies geht bei PCI-Karten zB mit pcimodules. Falls noch nicht vorhanden installieren wir die pciutils.

emerge pciutils

Nun schauen wir welche Treiber sich zuständig fühlen: Bei älternen Systemen geht das mit pcimodules

vdr # pcimodules
ohci-hcd
ehci-hcd
sis900
snd-emu10k1
dvb-ttpci
b2c2-flexcop-pci
nvidia
nvidiafb

Bei neueren wurde pcimodules druch lspci -k abgelöst:

vdr # lspci -k
01:08.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
        Subsystem: Technotrend Systemtechnik GmbH Device 101a
        Kernel driver in use: budget_ci dvb


In diesem Fall sind dies die Treiber dvb-ttpci und b2c2-flexcop-pci. Diese beiden werden nun in /etc/modules.autoload.d/kernel-2.6 (Kernel 2.4 analog) eingetragen:

echo dvb-ttpci >> /etc/modules.autoload.d/kernel-2.6
echo b2c2-flexcop-pci >> /etc/modules.autoload.d/kernel-2.6

[Bearbeiten] Installation der Firmware

Seit neuestem gibt es ein ebuild für die Firmware-Dateien. Hierfür kann man in /etc/make.conf festlegen für welche DVB-Karten man Firmware-Dateien braucht. Falls man diesen Schritt unterlässt, werden alle Firmware-Dateien installiert (Warnung: ca. 60 MB Download)

In /etc/make.conf:

DVB_CARDS="..."

Im Moment unterstützte Werte für DVB_CARDS:

dibusb-usb1 dibusb-usb2 nxt2002 nxt200x or51132 or51211 sp8870 sp887x
tda1004x ttpci ttusb-dec usb-a800 usb-dtt200u usb-umt usb-vp702x
usb-vp7045 usb-wt220u

In den meisten Fällen entspricht dieser Name dem Namen des entsprechenden Treibers der diese Firmware braucht.

Wenn man beispielsweise eine FF-Karte und eine Karte mit nxt2002 Chip installiert hat sollte DVB_CARDS mindestens so aussehen:

DVB_CARDS="ttpci nxt2002"

Danach wird das Paket linuxtv-dvb-firmware per emerge installiert.

echo "media-tv/linuxtv-dvb-firmware ~x86" >> /etc/portage/package.keywords
emerge linuxtv-dvb-firmware

Das Paket hotplug sollte installiert sein. Wenn noch nicht geschehen:

emerge sys-apps/hotplug

TIPP: Falls das Laden der Firmware fehlschlagen sollte, kann man andere Versionen von udev probieren.

Mit der aktuell stabilen Version udev-079 funktioniert es sehr gut.

[Bearbeiten] Laden des Treibers

Entweder wir laden die Treiber nun mit der Hand:

modprobe evdev
modprobe dvb-ttpci
modprobe b2c2-flexcop-pci

oder wir starten das Bootskript welches die Module lädt (unsauber):

/etc/init.d/modules zap start

Nach dem Laden kann man die Ausgaben der Treiber mit dmesg betrachten.

Für eine Karte mit eigenem MPEG-Decoder sollte die Ausgabe von dmesg ungefähr so aussehen:

DVB: registering new adapter (Siemens/Technotrend/Hauppauge PCI rev1.3).
saa7146_core.o: adjusting pci latency to 64
DVB: registering frontend 0:0 (Grundig 29504-491, (TDA8083 based))...
DVB: AV7111(0) - firm f0240009, rtsl b0250018, vid 71010068, app 80002613
DVB: AV7111(0) - firmware supports CI link layer interface

Wenn dem so ist, Glückwunsch. Wenn nicht kann es daran liegen das einige Kernelmodule/ Funktionen fehlen.

In anderen Sprachen