Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: problem with epg after uptime of 3 days



Gunnar Roth wrote:
> 
> hello list,
> does anyone also have the problem that the epg isnt working after a few days
> of uptime?
> epg is just empty then. i did a killall vdr from a terminal. after that the
> runvdr  script reloaded the driver and restarts vdr and epg is fine again.

I had been fighting against this type of problem for a long time.
Klaus had also implemented the watchdog feature which aimed at
problems that showed up after running vdr for a while, but that
still did not cure all problems for me, so in February I implemented 
a vdr mod that restarts vdr in regular intervals. See
   http://linuxtv.org/mailinglists/linux-dvb/2001/02-2001/msg00363.html
Some time later Klaus implemented the "-s" vdr option and the runvdr
script, so my mod and my script were no longer needed. 
To achieve the same effect, I call vdr with "-s /path-to-script-dir/killvdr". 
killvdr is a tiny shell script that looks like this:

#!/bin/sh
fuser -k -TERM /dev/ost/* > /dev/null 
sleep 3
fuser -k -KILL /dev/ost/* > /dev/null

With the watchdog timer, the periodic restarts and the newer drivers,
things are running pretty stable now.

I also use the periodic restarts to automatically transfer my
web EPG programming from http://tvtv.de and to adjust the system
time during the short moments when vdr is not running. 
For that, I am using my own runvdr script that looks like this:

#!/bin/sh

DRIVERDIR=/home/cko/DVB/driver
VDRDIR=/home/cko/VDR
VDRUSER=cko
TOOLDIR=/home/cko/bin
VDRCMD="./vdr -c . -a $TOOLDIR/play_ac3 -w 15 -s $TOOLDIR/killvdr"
LOG=/var/log/update_timers_log
INTERVAL=120

/usr/local/sbin/lircd

/usr/local/bin/irexec -d /home/cko/.lircrc

while (true) do
   $TOOLDIR/killvdr
   
   cd $DRIVERDIR
   make rmmod
   make insmod
   
   chmod +r /var/log/messages
   
   /usr/sbin/ntpdate duron

   if [ "`find $LOG -mmin -$INTERVAL`" != $LOG ] ; then
      date >> $LOG
      $TOOLDIR/update_timers.old >> $LOG
      echo >> $LOG
   fi

   cd $VDRDIR
   su -c "$VDRCMD" $VDRUSER
done


As you see, this script also starts up lircd and irexec, so
it pretty much does all my local vdr-related stuff in one single
place without having to fiddle with inittab, runlevel scripts,
crontab, etc.


Carsten.



Home | Main Index | Thread Index