#!/bin/sh

MODDIR=/lib/modules
insmod $MODDIR/micom.ko paramDebug=0

if [ -e /var/etc/.firstboot ]; then
   # fp_control does not work here
  echo "WAIT 1 min" >/dev/vfd
  echo "WAIT 1 min"
   rm /var/etc/.firstboot
   touch /dev/.devfsd
fi

/etc/init.d/mountvirtfs start

/etc/init.d/portmap start

insmod $MODDIR/e2_proc.ko

/etc/init.d/autofs start

if [ ! -e /var/etc/.firstboot ]; then

 echo "Starting DEBUG Interface"
   /etc/init.d/mountall start
   /etc/init.d/hostname start
   /etc/init.d/networking start

  NFS=`grep -c nfs /proc/cmdline`
  if [ "$NFS" -eq "1" ]; then
      echo "Booting from nfs, don't set network"
   else
     if [ -e /etc/network/interfaces ]; then
	 ip addr flush eth0
	 HWADDR=`grep -E -o '[[:xdigit:]]{2}(:[[:xdigit:]]{2}){5}' /dev/mtd2`
	 ifconfig eth0 down
	 ifconfig eth0 hw ether $HWADDR
#	 ifconfig eth0 up
	 /etc/init.d/networking stop
	 DHCP=`grep -c dhcp /etc/network/interfaces`
	 if [ "$DHCP" -eq "1" ]; then
	    echo "Starting dhcp"
            /etc/init.d/udhcpc start
	 fi
	 /etc/init.d/networking start
     fi
   fi

   fp_control -c

   # green led on
   #fp_control -l 2 1
   # led brightness
   fp_control -led 80

   /sbin/ifconfig lo 127.0.0.1 up

# echo "starting telnetd"
#   /usr/sbin/telnetd -l /bin/autologin

 echo "init stmfb"
   insmod $MODDIR/stmcore-display-sti7105.ko
   insmod $MODDIR/stmfb.ko display0=1280x720-32@50:12m:pal:cvbs:yuv;# display1=720x576-16@50:8m:pal:cvbs;

   echo "LOADING MODULES"
   fp_control -t "LOADING MODULES"

   if [ ! -e /lib/firmware/audio.elf ]; then
      fp_control -t "FW MISSING!!!"
   fi

   echo "load video firmware"
   /bin/dd if=/dev/zero of=/dev/st231-0 bs=1024 count=4096
#   /bin/stslave -t st231.0 -R /lib/firmware/video.elf
   /bin/ustslave /dev/st231-0 /lib/firmware/video.elf

   echo "load audio firmware"
   /bin/dd if=/dev/zero of=/dev/st231-1 bs=1024 count=4096
#   /bin/stslave -t st231.1 -R /lib/firmware/audio.elf
   /bin/ustslave /dev/st231-1 /lib/firmware/audio.elf

 echo "init embx"
   insmod $MODDIR/embxshell.ko
   insmod $MODDIR/embxmailbox.ko mailbox0=0xfe211000:136:set2 mailbox1=0xfe212000:0 ;
   insmod $MODDIR/embxshm.ko mailbox0=shm:0:7:0x60000000:0:256:256:0:512:0x40000000:0x10000000 ;
   insmod $MODDIR/mme_host.ko transport0=shm

 echo "init AVS"
   insmod $MODDIR/avs.ko type=stv6417
   insmod $MODDIR/mmelog.ko
   insmod $MODDIR/ksound.ko
   insmod $MODDIR/p2div64.ko
   insmod $MODDIR/stm_v4l2.ko
   insmod $MODDIR/pseudocard.ko

   insmod $MODDIR/frontend_platform.ko
   insmod $MODDIR/socket.ko
   insmod $MODDIR/lnbh221.ko
   insmod $MODDIR/lnb_pio.ko
   insmod $MODDIR/lnb_a8293.ko
   insmod $MODDIR/avl6222.ko
   insmod $MODDIR/ufs913_cic.ko

   insmod $MODDIR/pti.ko
   insmod $MODDIR/stm_monitor.ko
   insmod $MODDIR/stmsysfs.ko
   insmod $MODDIR/stmdvb.ko
   insmod $MODDIR/player2.ko discardlateframe=0
   insmod $MODDIR/sth264pp.ko
   insmod $MODDIR/stmalloc.ko
   insmod $MODDIR/platform.ko
   insmod $MODDIR/silencegen.ko
   insmod $MODDIR/bpamem.ko

   #showiframe -p /var/boot/bootlogo.mvi &
   stfbcontrol a 0

   echo "init frontpanel"
   insmod $MODDIR/simu_button.ko

   #params:
   #period
   #delay
   /bin/evremote2 10 120 &

   #timefix
   date -s "200901011200"

#   /etc/init.d/vsftpd start
   /usr/sbin/inetd

   echo "LOADING titan" > /dev/vfd
   echo "LOADING titan"

   stfbcontrol a 255

   until false
   do
      echo "starting titan ->"
      /usr/local/bin/titan
      rtv=$?
      echo "titan ended <- RTV: " $rtv
      case "$rtv" in
		0) echo "0"
		   echo "SHUTDOWN"
		   init 0;;
		1) echo "1"
		   echo "REBOOT"
		   init 6;;
		*) echo "*"
		   echo "ERROR"
		   init 6;;
      esac
   done
fi

#never reached
echo "REBOOT UFS913" > /dev/vfd
echo "REBOOT UFS913"
init 6
