Here is an example of the changes that I have had to make to runvdr so that my nexus-s works. I have added a maximum retry value to runvdr so that vdr will not keep attempting to start over and over if there is a major problem with reception. Also, I have added a minimum runtime (in seconds) that vdr must have in order to continue attempting to restart after a crash. For example, if vdr crashes within 10 seconds and the minimum runtime required is 45 seconds, then runvdr will consider that VDR has major problems and it will not try to keep restarting up to the maximum allowed retries. However, the maximum retry value can be set to "0" which would tell runvdr to attempt a restart unlimited times after crashing.
BR.
#!/bin/sh # insmod modules from current directory without having to install them first # KERNELVER=`uname -r` # KERNELDIR="/lib/modules/$KERNELVER/misc"
sync
function DriverLoaded() { grep -qse dvb[-_]core /proc/modules }
case "$1" in load) if ! DriverLoaded; then echo -n -e "\nInserting DVB modules into kernel\n" # av7110 based "full featured" cards modprobe stv0299 # saa7146 based siemens/technotrend/hauppauge cards modprobe dvb-ttpci # wait for udev to create the devices before continuing until [ -e /dev/dvb/adapter0/video0 ]; do sleep 1 done if [ -e "/usr/local/bin/loadkeys/av7110_loadkeys" ]; then /usr/local/bin/loadkeys/av7110_loadkeys /usr/local/bin/loadkeys/hauppauge_grey.rc5 > /proc/av7110_ir sleep 1 fi else echo -e "DVB Drivers already loaded..\n" fi ;; debug) if ! DriverLoaded; then echo -n -e "\nInserting DVB modules (debug) into kernel\n" # av7110 based "full featured" cards modprobe stv0299 debug_switch_timing=1 # saa7146 based siemens/technotrend/hauppauge cards modprobe dvb-ttpci debug=247 until [ -e /dev/dvb/adapter0/video0 ]; do sleep 1 done if [ -e "/usr/local/bin/loadkeys/av7110_loadkeys" ]; then /usr/local/bin/loadkeys/av7110_loadkeys /usr/local/bin/loadkeys/hauppauge_grey.rc5 > /proc/av7110_ir sleep 1 fi else echo -e "DVB Drivers already loaded..\n" fi ;; unload) if lsmod | grep -q "^$(echo dvb_ttpci|sed -e 's/-/_/g') " > /dev/null 2>&1; then echo -n -e "\nRemoving DVB modules from kernel\n" rmmod ves1x93 dvb_ttpci saa7146_vv video_buf saa7146 videodev v4l1_compat \ v4l2_common ttpci_eeprom stv0299 dvb_core echo else echo -e "DVB Drivers not loaded..\n" fi ;; reload) $0 unload && $0 load ;; *) echo "Usage$0 {load|unload|debug|reload}" exit 1 esac
sync