#!/bin/sh

MOUNT_DIR="sda1"

check_usb_mount()
{
	while [ 1 == 1 ]
	do
	    if [ -d /dtv/usb/sda ]; then
	        MOUNT_DIR="sda"
	    elif [ -d /dtv/usb/sda1 ]; then
	        MOUNT_DIR="sda1"
	    elif [ -d /dtv/usb/sda2 ]; then
	        MOUNT_DIR="sda2"
	    elif [ -d /dtv/usb/sdb ]; then
	        MOUNT_DIR="sdb"
	    elif [ -d /dtv/usb/sdb1 ]; then
	        MOUNT_DIR="sdb1"
	    elif [ -d /dtv/usb/sdb2 ]; then
	        MOUNT_DIR="sdb2"
	    elif [ -d /dtv/usb/sdc ]; then
	        MOUNT_DIR="sdc"
	    elif [ -d /dtv/usb/sdc1 ]; then
	        MOUNT_DIR="sdc1"
	    elif [ -d /dtv/usb/sdc2 ]; then
	        MOUNT_DIR="sdc2"
	    elif [ -d /dtv/usb/sdd ]; then
	        MOUNT_DIR="sdd"
	    elif [ -d /dtv/usb/sdd1 ]; then
	        MOUNT_DIR="sdd1"
	    elif [ -d /dtv/usb/sdd2 ]; then
	        MOUNT_DIR="sdd2"
	    else
	   	    echo "Please connect usb memory wait 5 seconds..."
    		sleep 5
			continue
	    fi
		return
	done
}

usb_module_insmod()
{
    /sbin/usb_gpio
    insmod /lib/modules/usbcore.ko
    insmod /lib/modules/ehci-hcd.ko
    insmod /lib/modules/ohci-hcd.ko
    insmod /lib/modules/usb-storage.ko
    sleep 3
	return
}

usb_remount()
{
	umount /dtv/usb/$MOUNT_DIR
	echo "umount /dtv/usb/$MOUNT_DIR"
	mount -t vfat /dev/$MOUNT_DIR /dtv/usb/$MOUNT_DIR
	echo "mount -t vfat /dev/$MOUNT_DIR /dtv/usb/$MOUNT_DIR"
	sleep 3
}

core_dump()
{
	if [ -e /core/* ]; then
    	cd /core
	    ls
	    echo "cp /core/* /dtv/usb/$MOUNT_DIR/"
    	cp -rf /core/* /dtv/usb/$MOUNT_DIR/
    	sync
	else
	    echo "No Coredump file"
	    return 0
	fi
}

log_dump()
{
	if [ -e /mtd_rwarea/emeg_log.txt ]; then
    	echo "cp /mtd_rwarea/emeg_log.txt /dtv/usb/$MOUNT_DIR/"
	    cp -rf /mtd_rwarea/emeg_log.txt /dtv/usb/$MOUNT_DIR/
    	sync
	else
	    echo "No emeg_log.txt file"
	fi
	echo "cat /proc/kmsg > /dtv/usb/$MOUNT_DIR/kmsg.txt &"
	cat /proc/kmsg > /dtv/usb/$MOUNT_DIR/kmsg.txt &
	sleep 2
	killall -9 cat
	echo "sync"
	sync
}

echo "Check usb module insmod status"
MOD_FLAG=$(lsmod | grep ehci)
if [ "$MOD_FLAG" != "" ]; then
	echo "usb modules exist"
else
	echo "usb modules not exist try to insmod"
	usb_module_insmod
fi

echo "Check usb mount status"
check_usb_mount

echo "Usb re-mount for write speed"
usb_remount

while [ "$SELECT" != "99" ]
do
	echo "===================================="
	echo "      [ DEBUG MENU ]                "
	echo "------------------------------------"
	echo " 1. Copy log to USB	          "
	echo " 2. Copy corefile to USB            "
	echo "===================================="
	echo " 99. Exit                           "
	echo "===================================="
	echo -n "select > "
	read SELECT
	if [ "$SELECT" = "1" ]; then
		log_dump
	elif [ "$SELECT" = "2" ]; then
		core_dump
	fi
done
