LinHES Forums
http://forums.linhes.org/

NOVA-T DVB card firmware fails to load Intermittently
http://forums.linhes.org/viewtopic.php?f=3&t=15294
Page 1 of 1

Author:  wildlion [ Sun May 20, 2007 7:25 am ]
Post subject:  NOVA-T DVB card firmware fails to load Intermittently

Do you have a NOVA-T DVB card? A great card, cost you a heap, but sometimes you find it doesn't work on mythtv?

You find a similiar message in your /var/log/messages:
May 20 23:13:48 mythtv kernel: tda1004x: found firmware revision 0 -- invalid

I have no idea why this is happening but it much more prevalant on the last release of knoppmyth. My guess is that the card is not ready just after the modules are loaded into the kernel.

To address this, here is a nicely tidied up script file that I use that is called during the system startup.


#!/bin/bash
# SCRIPT: RNTMI_reset_nova-T-modules
# Written by Paul Thompson tcom.com.au 20-MAY-2007
#
# Ensure NOVA-T DVB card works when run by mythtv backend
#
# This script checks to ensure that the Nova-T video card correctly loads for Mythtv Backend
# It appears that the card may not be ready just after the modules have been loaded upon bootup
# especially upon fast CPU backend hosts. Results are logged to syslog as RNTMI.
#
# INSTALL NOTES:
# Tested on Knoppmyth R5F1
# Must be installed manually
#
# Install this script into /root
# then
# cd /etc/rc5.d
# ln -s /root/RNTMI_reset_nova-T-modules S60RNTMI_reset_nova-T-modules

#### Setup Environment ####
export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/games
CHECK="BAD"
SLEEP=5

#### Declare FUNCTIONS ####
function func_remove_modules {
/sbin/rmmod -f budget_ci
/sbin/rmmod -f tda1004x
/sbin/rmmod -f budget_core
/sbin/rmmod -f saa7146
/sbin/rmmod -f ttpci_eeprom
}

function func_load_modules {
/sbin/modprobe ttpci_eeprom
/sbin/modprobe saa7146
/sbin/modprobe budget_core
/sbin/modprobe tda1004x
/sbin/modprobe budget_ci
}

function func_check_firmware {
TESTRESULT="`tail -50 /var/log/messages|grep tda1004|tail -2|grep 'tda1004x: found firmware revision 0 -- invalid'`"
#echo "TESTRESULT = $TESTRESULT"
}

function func_reload_firmware {
logger "RNTMI: Stopping mythtv backend"
/etc/init.d/mythtv-backend stop
sleep 1
logger "RNTMI: Unloaded selected Modules"
func_remove_modules
sleep 1
logger "RNTMI: Loaded selected Modules"
func_load_modules
sleep 1
logger "RNTMI: Starting mythtv backend"
echo restarting mythtv
/etc/init.d/mythtv-backend start
}


#########################################################
#### MAIN ####
#########################################################
if [ "$1" == "-f" ]
then
echo "- Forced reset been applied"
logger "RNTMI: Forced reset requested"
func_reload_firmware
sleep 5
func_check_firmware
if [ "$TESTRESULT" = "" ]
then
echo "- Firmware reloaded OK"
logger "RNTMI: Forced reset requested OK"
exit 0
else
echo "- Firmware failed to load"
logger "RNTMI: Forced reset requested FAILED"
exit 1
fi
fi

while [ $CHECK == "BAD" ]
do
logger "RNTMI: Checking status of Nova-T Firmware"
sleep $SLEEP
func_check_firmware
if [ "$TESTRESULT" != "" ]
then
logger "RNTMI: NOVA-T DVB Card firmware not found correct mythtv backend"
func_reload_firmware
else
logger "RNTMI: NOVA-T DVB Card firmware appears OK"
CHECK="GOOD"
exit 0
fi
let SLEEP=$SLEEP+1
if [ $SLEEP -ge 10 ]
then
echo "- Forcing a reboot. Something very odd with the PCI card"
shutdown -r 0
fi
done

exit 0

Page 1 of 1 All times are UTC - 6 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/