Runvdr - DVBModule/Plugins

Aus VDR Wiki
Wechseln zu: Navigation, Suche
#!/bin/sh

# runvdr: Loads the DVB driver and runs VDR
#
# If VDR exits abnormally, the driver will be reloaded
# and VDR restarted.
#
# In order to actually use this script you need to implement
# the functions DriverLoaded(), LoadDriver() and UnloadDriver()
# and maybe adjust the VDRPRG and VDRCMD to your particular
# requirements.
#
# Since this script loads the DVB driver, it must be started
 # as user 'root'. Add the option "-u username" to run VDR
# under the given user name.
#
# Any command line parameters will be passed on to the
# actual 'vdr' program.
#
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
# $Id: runvdr 1.19 2006/05/14 16:02:05 kls Exp $
export LANG=de_DE.iso8859-1
export LC_CTYPE=de_DE.iso8859-1
PATH=$PATH:/usr/local/bin

VDRUSR=root
VDRPRG="/usr/local/src/VDR/vdr"
VDRCMD="$VDRPRG -w 60 \
       --vfat \
       --lirc \
       -t /dev/tty8 \
       -c /etc/vdr \
       -E /var/vdr \
       -L /usr/local/src/VDR/PLUGINS/lib \
       -s /usr/local/bin/vdrpoweroff.sh \
       -r "/usr/local/bin/noadcall.sh" \
       -P dvd \
       -P vcd \ 
       -P text2skin \
       -P tvonscreen \ 
       -P statusleds \ 
       -P director \
       -P femon \
       -P mp3 \
       -P mplayer $*"

LSMOD="`/sbin/lsmod | grep -w 'dvb_core' | wc -l`" KILL="/usr/bin/killall -q -TERM"

  1. Load driver if it hasn't been loaded already:

if [ $LSMOD -eq 0 ] ; then

  (modprobe dvb_core)
  (modprobe dvb_ttpci)
  (modprobe budget_core)
  (modprobe budget)
  (modprobe budget_ci)
  fi

while (true) do

     $VDRCMD
     if test $? -eq 0 -o $? -eq 2; then exit; fi
     date
     echo "restarting VDR"
     $KILL $VDRPRG
     sleep 10
     (modprobe -r budget_ci)
     (modprobe -r budget)
     (modprobe -r budget_core)
     (modprobe -r dvb_ttpci)
     (modprobe -r dvb_core)
     (modprobe dvb_core)
     (modprobe dvb_ttpci)
     (modprobe budget_core)
     (modprobe budget)
     (modprobe budget_ci)
     date
     done