Gentoo DVB Treiber

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(firmware-ebuild hinzugefügt)
Zeile 1: Zeile 1:
=Gentoo DVB-Treiber=
+
=Treiber für Kernel 2.4=
 
+
==Kernel 2.4==
+
 
Benötigt werden evdev, input, i2c und videodev Support, egal ob als Modul oder im Kernel.
 
Benötigt werden evdev, input, i2c und videodev Support, egal ob als Modul oder im Kernel.
  
Zeile 37: Zeile 35:
 
</pre>
 
</pre>
  
==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 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]].
  
===Variante A - Kernel-Treiber===
+
==Variante A - Kernel-Treiber==
 
<b>Kernelkonfiguration</b>
 
<b>Kernelkonfiguration</b>
 
<pre>
 
<pre>
Zeile 118: Zeile 116:
 
für eine Hauppauge Nexus 2.1 Karte benötigt man eigentlich nur STV0299, AV7110 (+Firmware +OSD Support)
 
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 dem CVS==
 
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 compiliert.
  
Zeile 164: Zeile 162:
 
</pre>
 
</pre>
  
==Laden des Treibers==
+
=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. 60MB Download)
 +
 
 +
In /etc/make.conf:
 +
<pre>
 +
DVB_CARDS="or51132 or51211 ttpci"
 +
</pre>
 +
 
 +
Danach wird das Packet linuxtv-dvb-firmware per emerge installiert.
 +
<pre>
 +
echo "media-tv/linuxtv-dvb-firmware ~x86" >> /etc/portage/package.keywords
 +
emerge linuxtv-dvb-firmware
 +
</pre>
 +
 
 +
=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.
 
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.
  

Version vom 7. Dezember 2005, 22:47 Uhr

Inhaltsverzeichnis

Treiber für Kernel 2.4

Benötigt werden evdev, input, i2c und videodev Support, egal ob als Modul oder im Kernel.

Kernelkonfiguration

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

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). Dort sollten folgende Zeilen stehen:

i2c-core
i2c-proc
i2c-dev
evdev

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

emerge linuxtv-dvb

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 [linuxtv.org].

Variante A - Kernel-Treiber

Kernelkonfiguration

Code maturity level options -->
   --> Prompt for development and incomplete code / driver aktivieren
       Select only drivers expected to compile cleanly aktivieren
       Select only drivers that don't need compile-time external firmware deaktivieren

 Loadable module support -->
   --> Enable loadable module support aktivieren
       Module unloading aktivieren
       Automatic kernel module loading aktivieren

 Bus options -->
   --> Support for hot-pluggable devices aktivieren

 File Systems
   --> Kernel automounter version 4 support aktivieren
   --> Pseudo filesystems -->
       --> /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 -->
   --> Generic Driver Options -->
       --> Hotplug firmware loading support aktivieren (m)

   --> Block Devices
       --> RAM disk support aktivieren
       --> Initial RAM disk (initrd) support aktivieren

   --> Input Device Support
       --> Event Interface aktivieren (notwendig bspw. für den eingebauten IR-Empfänger der Hauppauge Nexus)

   --> Character Devices
       --> Serial Drivers -->
           --> 8250/16550 and compatible serial support deaktivieren oder als Modul (nur für LIRC notwendig)
       --> 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 support aktivieren (m)
       --> I2C device interface aktivieren (m)
       --> I2C Algorithms -->
           --> I2C bit-banging interfaces aktivieren (m)
           --> I2C PCF 8584 interfaces aktivieren (m)

   --> Multimedia Devices -->
       --> Video For Linux aktivieren
       --> Digital Video Broadcasting Devices -->
           --> DVB for linux aktivieren
           --> DVB core support aktivieren
           --> STV0299 based DVB-s frontend aktivieren (m)
           --> Alps TDLB7 aktivieren (m)
           --> Alps TDMB7 aktivieren (m)
           --> Grundig 29504-491 aktivieren (m)
           --> Grundig 29504-401 aktivieren (m)
           --> Frontends with external VES1820 demodulator aktivieren (m)
           --> Frontends with VES1893 or VES1993 demodulator aktivieren (m)
           --> AV7110 cards aktivieren (m)
             --> Compile AV7110 firmware into the driver
                   (/usr/lib/hotplug/firmare/dvb-ttpci-01.fw)
           --> AV7110 OSD support aktivieren
           --> Budget cards aktivieren (m)
           --> Budget cards with onboard CI connector aktivieren
           --> Budget cards with analog video inputs aktivieren
           --> AV7110 card with Budget Patch aktivieren

für eine Hauppauge Nexus 2.1 Karte benötigt man eigentlich nur STV0299, AV7110 (+Firmware +OSD Support)

Variante B - Treiber aus dem CVS

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.

Kernelkonfiguration

Code maturity level options -->
   --> Prompt for development and incomplete code / driver aktivieren
       Select only drivers expected to compile cleanly aktivieren
       Select only drivers that don't need compile-time external firmware deaktivieren

 Loadable module support -->
   --> Enable loadable module support aktivieren
       Module unloading aktivieren
       Automatic kernel module loading aktivieren

 Device Drivers -->
   --> Generic Driver Options -->
       --> Hotplug firmware loading support aktivieren (m)

   --> Input Device Support
       --> Event Interface aktivieren (notwendig bspw. für den eingebauten IR-Empfänger der Hauppauge Nexus)

   --> Character Devices
       --> Unix98 PTY support aktivieren
       --> /dev/nvram aktivieren
       --> Enhance Realtime Clock support aktivieren

   --> I2C support -->
       --> I2C support aktivieren (m)
       --> I2C device interface aktivieren (m)
       --> I2C Algorithms -->
           --> I2C bit-banging interfaces aktivieren (m)
           --> I2C PCF 8584 interfaces aktivieren (m)

   --> Multimedia Devices -->
       --> Video For Linux aktivieren
       --> Digital Video Broadcasting Devices -->
           --> DVB for linux deaktivieren

Jetzt das linuxtv-dvb-cvs ebuild emergen:

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

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. 60MB Download)

In /etc/make.conf:

DVB_CARDS="or51132 or51211 ttpci"

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

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

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.

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.