#!/bin/sh

exec 1>/dev/null 2>&1

SDCARD_DEV=
MASS_STORAGE_FILE=/sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file
SDCARD_MOUNT_PATH=/media/card

ORIGIN_ACCESS_MODE=`uci get storageshare.property.access_mode`
ORIGIN_IFANON=`uci get storageshare.property.ifanon`


ls /dev | grep "mmc*"
if test ! $? -eq 0
then
  echo "" > ${MASS_STORAGE_FILE}
  stop_samba
  stop_bftpd
  stop_mdlog
  exit 1
fi

if [ `ls /dev | grep mmcblk0p1 | wc -l` -ge 1 ]; then
  SDCARD_DEV=/dev/mmcblk0p1
else
  if [ `ls /dev | grep mmcblk0 | wc -l` -ge 1 ]; then
    SDCARD_DEV=/dev/mmcblk0
  else
    exit 1
  fi
fi

#Chang SD-card access mode
case "${ORIGIN_ACCESS_MODE}" in
  0)
    echo "Change SD-card access mode = usb"
    echo "stop samba"
    stop_samba
    echo "stop bftpd"
    stop_bftpd
    echo "stop mdlog"
    stop_mdlog
    df | grep ${SDCARD_MOUNT_PATH}
    if test $? -eq 0
    then
        umount ${SDCARD_DEV}
    fi
    echo "${SDCARD_DEV}" > ${MASS_STORAGE_FILE}
    ;;
  1)
    echo "Change SD-card access mode = wifi"
    echo "" > ${MASS_STORAGE_FILE}
    df | grep ${SDCARD_MOUNT_PATH}
    if test ! $? -eq 0
    then
        echo "mount SD-card"
        umount ${SDCARD_DEV}
        mount -t vfat -o utf8 -o fmask=0 -o dmask=0 ${SDCARD_DEV} ${SDCARD_MOUNT_PATH}
        ntfs-3g -o utf8 -o fmask=0 -o dmask=0 ${SDCARD_DEV} ${SDCARD_MOUNT_PATH}
    fi

    df | grep ${SDCARD_DEV}
    if test ! $? -eq 0
    then
		echo "mount partition failed, try to rescan partition and remount!!!"
		hdparm -z /dev/mmcblk0 && mdev -s

		if [ `ls /dev | grep mmcblk0p1 | wc -l` -ge 1 ]; then
			SDCARD_DEV=/dev/mmcblk0p1
		else
			if [ `ls /dev | grep mmcblk0 | wc -l` -ge 1 ]; then
				SDCARD_DEV=/dev/mmcblk0
			else
				exit 1
			fi
		fi

		mount -t vfat -o utf8 -o fmask=0 -o dmask=0 ${SDCARD_DEV} ${SDCARD_MOUNT_PATH}
		ntfs-3g -o utf8 -o fmask=0 -o dmask=0 ${SDCARD_DEV} ${SDCARD_MOUNT_PATH}

		df | grep ${SDCARD_DEV}
		if test ! $? -eq 0
		then
			 echo "Unknown filesystem!!"
      exit 1
    fi
    fi

    case "${ORIGIN_IFANON}" in
    0)
      echo "start samba signed"
      start_samba signed
      echo "start bftpd signed"
      start_bftpd signed
      ;;
    1)
      echo "start samba anony rw"
      start_samba anonrw
      echo "start bftpd anony rw"
      start_bftpd anonrw
      ;;
    *)
      echo "Err: unknown param IFANON"
      exit 1
      ;;
    esac
    ;;
  *)
    echo "Err: unknown param ACCESS_MODE"
    exit 1
    ;;
esac
echo "Change SD-card access mode finish"


exit $?

