Satellitenfernsehen mit Linux

Dieser Text beschreibt die Installation der Fernsehkarte "Hauppauge WinTV Nova-S-Plus" unter Gentoo Linux. Viele Informationen sind allerdings eher generischer Natur, also auch für andere Linux Distributionen gültig. Ebenso sollte so auch die "WinTV Nova 32" funktionieren, eine sehr ähnliche Karte.

Manuel Feier, Juni 2006

Voraussetzungen

Für die Installation wird ein aktueller Linuxkernel der 2.6er Serie verwendet; für diese Installation wurde der Kernel 2.6.16-r9 eingesetzt. Dieser bringt die nötige Treiber für die Karte bereits mit (im Gegensatz zu früheren Versionen). Ausserdem sollte sichergestellt sein, dass die PCI-Karte selbst richtig eingebaut ist und ausreichend Signal von der Satellitenanlage hat (notfalls mit Windows feststellen). Zum Fernsehen ist ausserdem eine DVB-fähige Software nötig, hier kommt beispielsweise "Kaffeine" zum Einsatz. Bei Selbstkompilierung muss gegebenenfalls auf DVB-Support geachtet werden. Hinweis: Die Software "kdetv" funktioniert nur mit analogen Videogeräten, nicht etwa mit DVB-S.

Installation

Die Kernelkonfiguration unter "Device Drivers -> Multimedia" sollte wie folgt aussehen

 Video For Linux
     Video For Linux  --->
     Radio Adapters  --->
    Digital Video Broadcasting Devices  ---> 

Die Rubrik "Video for Linux" (nur gezeigte Optionen sind hier relevant):

 Conexant 2388x (bt878 successor) support
   ALSA DMA audio support
   DVB/ATSC Support for cx2388x based TV cards
[*]     Build all supported frontends for cx2388x based TV cards

Hier Rubrik "Digital Video Broadcasting Devices":

[*] DVB For Linux
   DVB Core Support
---     Supported SAA7146 based PCI Adapters
     AV7110 cards
[ ]       AV7110 OSD support
     Budget cards
     Budget cards with onboard CI connector
     Budget cards with analog video inputs
...
	Customise DVB Frontends  --->

Schliesslich die Rubrik "Customise DVB Frontends" (nur gezeigte Optionen sind hier relevant):

--- DVB-S (satellite) frontends
--- ST STV0299 based
 Conexant CX24110 based
--- Conexant CX24123 based
--- Philips TDA8083 based
 Conexant CX22700 based
--- Conexant cx22702 demodulator (OFDM)

Der Kernel und die Module können nun gebaut und installiert werden. Vor dem Neustart sollte sichergestellt werden, dass eine aktuelle Version von udev installiert ist; dieses ist zuständig dafür, beim Laden von Treibern die richtigen Gerätedateien in /etc anzulegen. In dieser Installation war Version 047 installiert, was dazu führte, dass die Gerätedateien nicht richtig angelegt wurden und die Fernsehanwendung Kaffeine nicht richtig auf die Karte zugreifen konnte (z.B. funktionierte der Sendersuchlauf nicht). Ausserdem sollte (zumindest bei Gentoo) der reguläre Benutzer in der Gruppe "video" sein, da sonst die Programme keinen Zugriff auf die Videokarte haben.

Mit Gentoo hat man schnell die neueste udev-Version installiert, mit welcher dann der Tuner funktioniert:

# emerge -av udev
# etc-update

Besten Dank an dieser Stelle an Matthias Schwarzott (zzam) von #linuxtv für den Hinweis.

Funktionstest

Hat man den neuen Kernel in Betrieb, die Software Kaffeine einsatzbereit und auch eine aktuelle udev-Version, darf ein erster Testversuch unternommen werden; die Kernelmodule werden geladen:

modprobe -v cx24123
modprobe -v cx88_dvb

Die Reihenfolge spielt dabei eine Rolle; hier zumindest hat es sonst nicht funktioniert. Wenn alles geklappt hat, sollte die Ausgabe von "dmesg" etwa so aussehen:

Linux video capture interface: v2.00
cx2388x dvb driver version 0.0.6 loaded
CORE cx88[0]: subsystem: 0070:9202, board: Hauppauge Nova-S-Plus DVB-S [card=37,autodetected]
TV tuner 4 at 0x1fe, Radio tuner -1 at 0x1fe
tveeprom 4-0050: Hauppauge model 92001, rev B1B1, serial# 416811
tveeprom 4-0050: MAC address is 00-0D-FE-06-5C-2B
tveeprom 4-0050: tuner model is Conexant_CX24109 (idx 111, type 4)
tveeprom 4-0050: TV standards ATSC/DVB Digital (eeprom 0x80)
tveeprom 4-0050: audio processor is CX883 (idx 32)
tveeprom 4-0050: decoder processor is CX883 (idx 22)
tveeprom 4-0050: has no radio, has IR remote
cx88[0]: hauppauge eeprom: model=92001
input: cx88 IR (Hauppauge Nova-S-Plus  as /class/input/input3
ACPI: PCI Interrupt 0000:02:0b.2[A] -> GSI 23 (level, low) -> IRQ 19
cx88[0]/2: found at 0000:02:0b.2, rev: 5, irq: 19, latency: 32, mmio: 0xbb000000
cx88[0]/2: cx2388x based dvb card
DVB: registering new adapter (cx88[0]).
DVB: registering frontend 0 (Conexant CX24123/CX24109)...

Im Verzeichnis /dev sollte ausserdem der Ordner "dev" mit dem Unterordner "adapter0" sowie darin den Spezialdateien "demux0 dvr0 frontend0 net0" angelegt worden sein. Ist dies alles erfüllt darf nun Kaffeine gestartet werden. Dort kann auch gleich ein Sendesuchlauf (hier für den Satellit Astra 19.2) gestartet werden.

Was noch zu tun ist

Die IR-Fernbedienung kann nachträglich installiert werden. Dieses Dokument wird aktualisiert wenn es soweit ist.

Anhang

Kernel Config File