Gentoo DVB Treiber

Aus VDR Wiki
Version vom 4. Dezember 2005, 19:44 Uhr von Zzam (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Kernel 2.4

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

make menuconfig

erstellen:

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

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 mit

make menuconfig

erstellen:

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

Kernelkonfiguration mit

make menuconfig

einstellen:

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

Laden des Treibers

Die passenden Treiber werden nun in /etc/modules.autoload/kernel-2.4 bzw. /etc/modules.autoload/kernel-2.6 eingetragen.


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.