Gentoo DVB Treiber
Inhaltsverzeichnis |
Gentoo DVB-Treiber
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
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
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.