#!/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="it_IT.UTF8" export LC_CTYPE="it_IT.UTF8" export LC_ALL="it_IT.UTF8" #export VDR_CHARSET_OVERRIDE="ISO-8859-15" VDRPRG="./vdr" VDRCMD="$VDRPRG -w 60 -c /etc/vdr -s'/usr/local/bin/wakemeup.sh' -E'/etc/vdr/plugins/loadepg/epg.data' -b /tmp -v /video/recording -r'/usr/local/bin/noadcall.sh'\ -P'aide' \ -P'avards' \ -P'beep' \ -P'bgprocess' \ -P'burn -D /dev/cdrom -i /video/multimedia/video/iso -d /video/multimedia/export -t /tmp' \ -P'cdda -d /dev/cdrom -c /tmp/cddb' \ -P'chanman' \ -P'channellists -s /etc/vdr/plugins/channellists/scripts/channellists-update.sh' \ -P'cinebars' \ -P'coverviewer' \ -P'cpumon' \ -P'cutalot' \ -P'devstatus' \ -P'dvd' \ -P'dvdswitch -r /usr/local/bin/dvdswitch_readdvd.sh -w /usr/local/bin/dvdswitch_writedvd.sh -i /video/multimedia/video/iso' \ -P'eggtimer' \ -P'epgsearch' \ -P'extrecmenu' \ -P'femon' \ -P'filebrowser' \ -P'games' \ -P'image -m /usr/local/bin/mount.sh -C /usr/local/bin/imageplugin.sh -c image' \ -P'imdbsearch -i /etc/vdr/plugins/skinenigmang/epgimages' \ -P'ircviewer' \ -P'live' \ -P'loadepg -c /etc/vdr/plugins/loadepg' \ -P'menuorg -c /etc/vdr/plugins/menuorg/menuorg.xml' \ -P'mlist' \ -P'mplayer -m /usr/local/bin/mount.sh -M /usr/local/bin/mplayer.sh -S mplayer -R /video/multimedia/video' \ -P'music -m /usr/local/bin/mount.sh' \ -P'netconfig' \ -P'osdadjust' \ -P'osdpip' \ -P'osdteletext -d /tmp/vtx -n 50 -s legacy' \ -P'picselshow -m /usr/local/bin/mount.sh' \ -P'pilotskin' \ -P'pin' \ -P'prefermenu' \ -P'premiereepg' \ -P'radio' \ -P'radiolist' \ -P'recstatus' \ -P'reelchannelscan' \ -P'remote -i /dev/input/ir' \ -P'ripit' \ -P'rotor' \ -P'rssreader' \ -P'scheduler' \ -P'screenshot' \ -P'skinelchi -l /etc/vdr/plugins/skinelchi/logos -c /etc/vdr/plugins/skinelchi/epgimages' \ -P'skinenigmang -i /etc/vdr/plugins/skinenigmang/epgimages' \ -P'skinsoppalusikka' \ -P'sleeptimer -e /usr/local/bin/wakemeup.sh' \ -P'solitaire' \ -P'span' \ -P'spider' \ -P'streamdev-client' \ -P'streamdev-server -r /etc/vdr/plugins/streamdev/externremux.sh ' \ -P'sudoku' \ -P'systeminfo -s /usr/local/bin/systeminfo.sh' \ -P'text2skin' \ -P'timeline' \ -P'trayopen' \ -P'ttxtsubs' \ -P'tvonscreen' \ -P'undelete' \ -P'vcd' \ -P'weatherng' \ -P'webvideo -d /video/multimedia/video/Download' \ -P'yacoto' \ -P'yaepg' \ -P'zaphistory' \ " # Plugin non attivi # # -P'admin \ # -P'alcd \ # -P'audiorecorder -r /video/multimedia/radio/recording' \ # -P'channelswitcher' \ # -P'chanorg' \ # -P'epgsync' \ # -P'fritzbox' \ # -P'infosatepg -d /tmp' \ # -P'iptv' \ # -P'lcdproc > /dev/null' \ # -P'mp3' \ # -P'mediad -m /usr/local/bin/pmount.sh' \ # -P'mosaic' \ # -P'mousemate -d /dev/input/event0' \ # -P'network' \ # -P'pilot' \ # -P'remotetimers' \ # -P'sportng -S /usr/local/bin/' \ # -P'suspendoutput' \ # -P'svdrpservice' \ # -P'sysinfo' \ # -P'taste' \ # -P'tvtv' \ # -P'vodcatcher' \ # -P'vdrrip -d /dev/cdrom -p /usr/bin/mplayer -e /usr/bin/mencoder -s /usr/local/bin/vdrshutdown.sh' \ # -P'wirbelscan' \ # -P'xmame' \ KILL="/usr/bin/killall -q -TERM" # VDRAdmin-NG /usr/bin/vdradmind -p vdradmind start # Detect whether the DVB driver is already loaded # and return 0 if it *is* loaded, 1 if not: function DriverLoaded() { if [ "`lsmod | grep dvb | wc -l`" -eq "0" ] ; then return 1 else return 0 fi } # Load all DVB driver modules needed for your hardware: function LoadDriver() { modprobe dvb-ttpci } # Unload all DVB driver modules loaded in LoadDriver(): function UnloadDriver() { modprobe -r dvb-ttpci } # Load driver if it hasn't been loaded already: if ! DriverLoaded; then LoadDriver fi while (true) do eval "$VDRCMD" if test $? -eq 0 -o $? -eq 2; then exit; fi echo "`date` reloading DVB driver" $KILL $VDRPRG sleep 10 UnloadDriver LoadDriver echo "`date` restarting VDR" done