OpenSUSE VDR DVB-S2 - Teil2: DVB Treiber

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Vorbemerkung

Bei openSUSE ist der Standardkernel so vorbereitet das der DVB Treiber als Modul in den Kernel geladen werden kann. Die weitere Installationsanleitung beschreibt die modulbasierte Installation des DVB Treibers.

OS Systempakete installieren

yast > Software > Software Management >

- mercurial

Prüfen der eingebauten DVB-Karte

Mittels dem unten genannten Befehl kann geprüft werden ob die DVB-Karten vom System erkannt werden. Achtung! Falls die Karten nicht wie unten beschrieben angezeigt werden, gegeben falls mal die PCI-Slots wechseln und danach nochmals testen.

lspci -v

01:09.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
	Subsystem: Technotrend Systemtechnik GmbH S2-3200
	Flags: bus master, medium devsel, latency 32, IRQ 11
	Memory at e7ffe000 (32-bit, non-prefetchable) [size=512]
 
01:0b.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
	Subsystem: Technotrend Systemtechnik GmbH S2-3200
	Flags: bus master, medium devsel, latency 32, IRQ 10
	Memory at e7ffc000 (32-bit, non-prefetchable) [size=512]

Installation der DVB-Treiber

Mit dieser hier beschriebenen Vorgehensweise werden die vorhandenen DVB-Kernelmodule durch die neuen ersetzt.

Downloadverzeichnis erstellen

mkdir /data/installfiles/dvb

DVB-Treiber herunterladen

cd /data/installfiles/dvb
hg clone http://jusst.de/hg/multiproto
mv multiproto/ multiproto-dvb-cvs-21022009

DVB Treiber vorbereiten

cd /usr/local/src
cp -a /data/installfiles/dvb/multiproto-dvb-cvs-21022009/ .
ln -s multiproto-dvb-cvs-21022009/ dvb
cd /usr/local/src/dvb
make distclean

Kernelkonfiguration erstellen und abspeichern

cd /usr/src/linux
make menuconfig
Device Drivers  ---> Multimedia devices  ---> <M> DVB For Linux
"Exit"
"Exit"
"Exit"
Do you wish to save your new kernel configuration?
"Yes"

Link auf compiler.h setzen

Achtung! Dieser Link ist wichtig, da sonst der VDR nicht übersetzt werden kann.

cd /usr/local/src/dvb/linux/include/linux
ln -s /usr/src/linux/include/linux/compiler.h compiler.h

DVB-Treiber installieren

cd /usr/local/src/dvb/
make && make install
Fehler, die bei der Installation auftreten können

Falls man einen neuen Kernel installiert hat oder den Standard-Kernel durch ein Onlineupdate aktualisiert hat, kann es sein, dass die Installation des DVB-Treibers fehlschlägt. Folgende Ursachen sind möglich:

  • Die Datei "netdevice.h" kann nicht gefunden werden:
cd /lib/modules/$(uname -r)/build/include/linux/
ln -s /usr/src/linux/include/linux/netdevice.h netdevice.h

Prüfen der DVB-Treiber-Installation

Im Modulverzeichnis des Kernels kann das Datum und Uhrzeit der Module betrachtet werden.

Hier sieht man, dass der DVB-Treiber am 9. August um 16:23 Uhr installiert wurde. Wenn am gleichen Tag das OS installiert wurde, sollte die Uhrzeit betrachtet werden.

cd /lib/modules/$(uname -r)/kernel/drivers/media/dvb/ttpci
ls -l
-rw-r--r-- 1 root root  47272 Aug  9 16:23 budget-av.ko
-rw-r--r-- 1 root root  42168 Aug  9 16:23 budget-ci.ko
-rw-r--r-- 1 root root  20352 Aug  9 16:23 budget-core.ko
-rw-r--r-- 1 root root  19480 Aug  9 16:23 budget-patch.ko
-rw-r--r-- 1 root root  32608 Aug  9 16:23 budget.ko
-rw-r--r-- 1 root root 179488 Aug  9 16:23 dvb-ttpci.ko
-rw-r--r-- 1 root root   5448 Aug  9 16:23 ttpci-eeprom.ko

Startreihenfolge der DVB-Module festlegen

Standardmäßig startet das Betriebssystem die DVB-Treibermodule automatisch. Um dies zu verhindern, damit später die Module mittels VDR starten zu lassen, werden in der Datei "blacklist" alle Module eingetragen, die nicht vom Betriebssystem automatisch gestartet werden.

Folgende Einträge müssen darin gemacht werden:

cd /etc/modprobe.d
vi blacklist

# DVB-Module, die nicht vom System gestartet werden
blacklist budget_ci
blacklist dvb_ttpci
blacklist snd-aw2

OS neu starten

init 6

DVB Module manuell laden

Hier werden die DVB-Treibermodule geladen:

modprobe budget_ci
modprobe dvb_ttpci

Nachdem die DVB-Treibermodule geladen wurden, sollte der Aufruf 'dmesg' folgendes Anzeigen:

dmesg

DVB: registering new adapter (TT-Budget S2-3200 PCI)

Die Treibermodule können folgendermaßen wieder gestoppt werden:

modprobe -r budget_ci
modprobe -r dvb_ttpci
modprobe -r stv0299
modprobe -r lnbp21

Aktualisieren der DVB Treiber

Achtung! "make distclean" entfernt auch die mit "make menuconfig" angelegte Kernelkonfiguration. Nach Ausführen des Befehls einfach wie oben beschrieben eine neue Konfiguration anlegen.

cd /usr/local/src/dvb
hg pull -u http://jusst.de/hg/multiproto
make distclean
make && make install

Fehler, die bei der Aktualisierung auftreten können

Falls es zu Fehlern beim Aktualisieren des DVB-Treibers kommt, siehe oben: Fehler die bei der Installation auftreten können.

Links

  1. Mercurial
  2. LinuxTV