mrblack51
10-10-2001, 03:54 AM
well, since this seems like a good way to fake the dtivo into hacking itself, i will bring it up again. first, here is the relevant code from rc.sysinit:
export DEBUG_BOARD=false
me=`getprom -hostname`
ipaddr=`getprom -ipaddr`
mac=`getprom -macaddr`
#
# Look up /proc/ioports for TCD8390 (should be first string). If present,
# assume we have a debug board. There is probably an easier way to do this,
# but...
#
echo "Look for debug board ..."
tnforce=false
xxx=`cat /proc/ioports`
set -- $xxx
shift 2
if [ "$1" == TCD8390 ] ; then
tnforce=true
fi
set --
if /sbin/ifconfig eth0 hw ether $mac $ipaddr || [ "$tnforce" = true ] ; then
PATH=/bin:/sbin:/tvbin:/devbin
export PATH
echo "Starting network ..."
gw=`getprom -gateway`
if [ ! $gw = 0.0.0.0 ]; then
route add -net 192.168.0.0 gw $gw netmask 255.255.0.0
fi
export TMK_DEBUGGER=sleep
export DEBUG_BOARD=true
echo "Starting Telnet Listener..."
if [ -x /bin/bash ] ; then
tnlited 23 /bin/bash -login &
else
export TIVOSH_POOLSIZE=800000
tnlited 23 /tvbin/tivosh -login &
fi
echo "Starting /proc Listener..."
procd
fi
ok, what this tells me is that all we need to do is make the tivonet board say that it's name is 'TCD8390' and it will think its a debug board. a quick test of 'cat /proc/ioports' revealed the following output on my dtivo:
0300-031f : TiVoNE
f4100000-f4100007 : serial(auto)
ffb40000-ffb40007 : serial(auto)
ffc00000-ffc00007 : serial(auto)
so that means that the tivonet board is reporting it's name as TiVoNE. this must be stored in the GAL somewhere. so, that shouldn't be too hard to modify. the next issue is getprom compatibility.
export DEBUG_BOARD=false
me=`getprom -hostname`
ipaddr=`getprom -ipaddr`
mac=`getprom -macaddr`
#
# Look up /proc/ioports for TCD8390 (should be first string). If present,
# assume we have a debug board. There is probably an easier way to do this,
# but...
#
echo "Look for debug board ..."
tnforce=false
xxx=`cat /proc/ioports`
set -- $xxx
shift 2
if [ "$1" == TCD8390 ] ; then
tnforce=true
fi
set --
if /sbin/ifconfig eth0 hw ether $mac $ipaddr || [ "$tnforce" = true ] ; then
PATH=/bin:/sbin:/tvbin:/devbin
export PATH
echo "Starting network ..."
gw=`getprom -gateway`
if [ ! $gw = 0.0.0.0 ]; then
route add -net 192.168.0.0 gw $gw netmask 255.255.0.0
fi
export TMK_DEBUGGER=sleep
export DEBUG_BOARD=true
echo "Starting Telnet Listener..."
if [ -x /bin/bash ] ; then
tnlited 23 /bin/bash -login &
else
export TIVOSH_POOLSIZE=800000
tnlited 23 /tvbin/tivosh -login &
fi
echo "Starting /proc Listener..."
procd
fi
ok, what this tells me is that all we need to do is make the tivonet board say that it's name is 'TCD8390' and it will think its a debug board. a quick test of 'cat /proc/ioports' revealed the following output on my dtivo:
0300-031f : TiVoNE
f4100000-f4100007 : serial(auto)
ffb40000-ffb40007 : serial(auto)
ffc00000-ffc00007 : serial(auto)
so that means that the tivonet board is reporting it's name as TiVoNE. this must be stored in the GAL somewhere. so, that shouldn't be too hard to modify. the next issue is getprom compatibility.