Also ein paar Sachen in Deiner runvdr finde ich "eigenartig".
Zitat
DVBDIR="/usr/lib/hotplug/firmware"
Hmm, da muss das DVB Verzeichnis rein. Da Du aber die Distri
DVB Treiber verwendest genügt ein "rcdvb start" an der Stelle,
wo später "Load the driver..." steht. Diese Variable ist für Dich
also uninteressant.
Zitat
In Zusammenhang damit, dass später ein cd DVBDIR gemachst wird
ist eine relative Pfadangabe keine so gute Idee. Ausser, Dein vdr liegt
unter "usr/lib/hotplug/firmware"
Zitat
# Load driver if it hasn't been loaded already:
if [ $LSMOD -eq 0 ] ; then
(cd $DVBDIR; )
fi
Weg damit, da gehört ein "rcdvb start" hin
Zitat
while (true) do
su $VDRUSR -c "$VDRCMD"
if test $? -eq 0 -o $? -eq 2; then exit; fi
date
echo "restarting VDR"
$KILL $VDRPRG
sleep 10
(cd $DVBDIR; make rmmod; )
date
done
Alles anzeigen
Huch, nach einmaligem Neustart des vdr werden die DVB Treiber nie
wieder geladen? Ich sehe zumindest nur ein "make rmmod". In Deinem
Fall ist das aber nicht schlimm, da das Kommando in /usr/lib/hotplug
aufgerufen wird und damit einfach gar nichts tut Die komplette Zeile
mit Klammern kannst Du ersetzen durch ein "rcdvb restart".
Mein Vorschlag: lass die Variablen wie DVBDIR, VDRPRG und VDRCMD weg
und bau Dir ein Script, in dem alles genauso drinsteht, wie Du es brauchst.
Eine minimale runVDR für Dich könnte z.B. so aussehen:
export LD_ASSUME_KERNEL=2.4.1
export LC_CTYPE=de_DE.iso8859-1
# Module laden
rcdvb start
while (true) do
# VDR starten
cd /usr/src/VDR
./vdr -w 60 -l 1 -w 60 -P ... <irgendwelche Plugins> ...
if test $? -eq 0 -o $? -eq 2; then exit; fi
# Neustart
date
echo "restarting VDR"
killall vdr
sleep 2
# Module entladen/laden
rcdvb restart
sleep 2
done
Alles anzeigen
Alternativ: lade doch mal die DVB Treiber und starte
vdr direkt von Hand. Was passiert dann? Also so:
cd /usr/src/VDR
rcdvb restart
./vdr
Gruß,
Martin