OpenSUSE VDR DVB-S2 - Teil2: DVB Treiber
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.