Mailing List archive

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

[vdr] Re: How can i tell if dvb drivers are properly loaded ?



Martin Hoffmann wrote:
> 
> Nice !
> 
> I've implemented this and as far as i can tell it works ! Great !
> 
> Just another question: Do VDRs internal watchdog timers always work ? Or could
> it happen that vdr just hangs and will not automatically exit ?
> 
> So, does it make sense to create an external script which checks for VDR still
> reacting on port 2001 ? Or is this nonsense, since VDR would detect it's own
> hanging process and do an emergency exit ?

I am using vdr's automatic shutdown to reload the driver regularly.
In my experience, this has greatly improved the situation.
It seems to me that those driver hangups do not happen if you
reload the driver often.
I do not think I had a situation where I had to reboot the vdr
PC due to a driver that could not be loaded/unloaded for at
least six months now.

Here is what I do in my runvdr script:

#!/bin/sh -x

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=240

/bin/setserial  /dev/ttyS0 uart none
/usr/local/sbin/lircd

/usr/bin/killall irexec
/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


If you are on vacation anyway, you could set MinUserInactivity
to a low value, so you will get a freshly loaded driver often.

Carsten.




Home | Main Index | Thread Index