C't-VDR - 2. Karte nachträglich einrichten

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Hier ein paar Tipps zur Installation einer zweiten DVB-Karte. Diese Anleitung bezieht sich auf einen C't-VDR in Version 3 oder höher, sollte aber auf andere Distributionen übertragbar sein. Ansonsten evtl. Änderungen für andere Distributionen ergänzen!

1. Karte einbauen und booten

2. Mit "lspci" nachschauen, ob Linux die Karte überhaupt erkennt. Der Output sollte etwa diese Zeilen enthalten:

0000:01:00.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
0000:01:02.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)

Die zweite Karte muss nun Linux bekannt gemacht werden.

3. Dafür zuerst den VDR stoppen mit

/etc/init.d/vdr stop

(oder aus dem OSD heraus unter Befehle/VDR-Wartung/VDR Stoppen.)

4. Dann zur Kontrolle die Liste der geladenen Module anzeigen mit:

lsmod

und die geladenen DVB-Module entladen mit:

rmmod dvb-ttpci
rmmod ttpci-eeprom
rmmod stv0299
rmmod tda1004x
rmmod dvb-core

Sollte bei einem dieser Module eine Fehlermeldung kommen, dass dieses Modul noch von einem anderen abhängig ist, dieses zuerst entladen und dann das betreffende Modul noch einmal probieren zu entladen! Abhängigkeiten werden bei der Ausgabe von lsmod in Klammern hinter dem Modulnamen ganz rechts angezeigt.

5. Jetzt ist noch die Datei mit der alten Modulkonfiguration (/etc/modutils/linuxtv-dvb.2.4.27-ctvdr-1) umzubenennen (z.B. in .bak).

6. Für den Kernel der c't VDR Version 3 Folgendes ausführen:

dpkg-reconfigure linuxtv-dvb-modules-2.4.27-ctvdr-1

(oder evtl. bei Verwendung des 2.4.27-ctvdr-1 Kernels unter neueren c't VDR-Versionen:)

dpkg-reconfigure linuxtv-dvb-ct-modules-2.4.27-ctvdr-1

Dieses Kommando startet erneut das Skript, das nach vorhandenen DVB-Karten sucht. Es kann nämlich sein, dass die neue Karte ein anderes Frontend-Modul braucht als die Alte. Im blauen Fenster Frage nach der Suche mit "Ja" beantworten.

Jetzt sollte eine neue Version der Datei etc/modutils/linuxtv-dvb.2.4.27-ctvdr-1 geschrieben worden sein. Diese ist wahrscheinlich größer und enthält neue Module für die zweite Karte (außer diese benötigt nur dieselben Module wie die Erste) z.B. dvb-ttpci-budget.

Meine sieht nun wie folgt aus (für eine Nova-S und eine FF 1.5; dürfte aber bei jedem verschieden sein, da je nach Karte andere Module gebraucht werden!):

#!/bin/sh
if [ "`uname -r`" == "2.4.27-ctvdr-1" ] ; then
    cat <<EOF
alias char-major-250 dvb
probeall dvb dvb-ttpci
below dvb-ttpci stv0299
add probeall dvb dvb-ttpci-budget
below dvb-ttpci-budget stv0299
EOF
fi

7. Nun mit

modprobe dvb

die DVB-Module wieder laden und mit

lsmod

überprüfen, ob oben entladene Module und die Neuen für die Zweite jetzt (wieder) geladen wurden.

8. Jetzt den VDR wieder starten:

/etc/init.d/vdr start

Jetzt geht wahrscheinlich nur die erste Karte, die vorher schon ging, da hilft nur ein Reboot!

8. Nun muss man evtl. noch im OSD unter Einstellungen\DVB\ das Primäre DVB-Interface auf die Nr. der Full-Featured Karte ändern.

Probleme

Wenn der VDR nach den obigen Schritten die zweite Karte zur Aufnahme nutzen kann, aber sich mit folgender Fehlermeldung im Log weigert, herunterzufahren,:

vdrdevel-shutdown: executing /usr/share/vdrdevel/shutdown-hooks/S50.vdrconvert as shell script
vdrdevel-shutdown: /usr/share/vdrdevel/shutdown-hooks/S50.vdrconvert requests to try again in 5 minutes

vdr: [1849] connect from 127.0.0.1, port 32769 - accepted
vdr: [1849] SVDRP message: 'Shutdown aborted. Retry in 5 minutes.'
vdr: [1849] info: Shutdown aborted. Retry in 5 minutes.
vdr: [1849] closing SVDRP connection

dann liegt dies an der zu alten VDRConvert-Version: vdrdevel-addon-vdrconvert (0.1.1+1) evtl. im Zusammenhang mit dem Burn-Plugin. Eine neuere Version von VDRConvert ist bei e-Tobi aber nicht für VDRDevel zu bekommen! Die Version lässt sich mithilfe von

ctvdrdevelinfo  (bzw. ctvdrinfo)

ermitteln.

Dann muss man in /usr/share/vdrdevel/shutdown-hooks/ den Inhalt der S50.vdrconvert in Folgendes ändern:

#
# vdrconvert shutdown hook script - Tobias Grimm <tg@e-tobi.net>
# -------------------------------
#
# This script checks if vdrconvert is still doing anything, and if so
# advices VDR to try the shutdown again in 5 minutes
#

. /etc/vdr/vdrconvert/vdrconvert.conf

# check if any job is still in queue or any convert process is running:

for JOBFIL in $CONVERT_JOBS ; do
    JOB=$JOBFIL
    JOBFIL="/var/spool/vdrconvert/$JOBFIL"

    let LINES=0
    LINES=`cat $JOBFIL | wc -l`

    run=`ps -aef|grep $VDRCONVERTBINDIR/${JOB}.sh|grep -v grep|wc -l`

    if [ $LINES -gt 0 -o $run -gt 0 ] ; then
        # there is still a job in queue or running, so
        # we should defer the shutdown for 5 minutes
        echo "TRY_AGAIN=5"
    fi
done

exit 0

Vorher diese Datei Backuppen!

Links:

Thread zum VDRConvert-Fehler