#!/bin/sh


MODULE_CONFIG="$MODULE_CARRIER""_""$MODULE_PRI"
FLASHDIR="/tmp"

MODFLASH=" --ignore-mm-runtime-check "
MODFLASH="${MODFLASH} --cdc-wdm=/dev/cdc-wdm0 "
MODFLASH="${MODFLASH} --update --override-download "
MODFLASH="${MODFLASH} ---modem-storage-index=1 "
#MODFLASH="${MODFLASH} --verbose-log=/root/module_firmware.log "
#MODFLASH="${MODFLASH} --verbose "

MODFLASH="${MODFLASH} --firmware-version='$MODULE_FIRMWARE' "
MODFLASH="${MODFLASH} --config-version='$MODULE_PRI' "
MODFLASH="${MODFLASH} --carrier='$MODULE_CARRIER' "
MODFLASH="${MODFLASH} /mnt/media/autorun/storage/SWI9X30C_""$MODULE_FIRMWARE.cwe "
MODFLASH="${MODFLASH} /mnt/media/autorun/storage/SWI9X30C_""$MODULE_FIRMWARE""_""$MODULE_CARRIER""_""$MODULE_PRI.nvu "

#MODFLASH="${MODFLASH} --firmware-version='02.24.05.06' "
#MODFLASH="${MODFLASH} --config-version='002.026_000' "
#MODFLASH="${MODFLASH} --carrier='TELSTRA' "
#MODFLASH="${MODFLASH} /mnt/media/autorun/storage/SWI9X30C_02.24.05.06.cwe "
#MODFLASH="${MODFLASH} /mnt/media/autorun/storage/SWI9X30C_02.24.05.06_TELSTRA_002.026_000.nvu "

checkfirmware()
{
 if [ ! -e "$MNTPATH//mc74xx-updater" ]; then
    log "no updater app found in $MNTPATH/"
    ledfail
    exit 1
fi
}

get_module_firmware()
{
MODULE_FW_ACTIVE=""
MODULE_CONF_ACTIVE=""
# check modem provider config
for i in $(seq 0 6); do
    log "getting firmware info of $MODEM ($i)"
    wwan-cmd $CARD 'AT!IMPREF?'  > /tmp/output 2>&1
    grep -q "^OK" /tmp/output && break;
    sleep 5
done

MODULE_FW_ACTIVE=$(grep "current fw version: " /tmp/output | awk -F ':' '{ print $2; }' | sed 's/ //g' | sed 's/\r//g')
log "module firmware version is $MODULE_FW_ACTIVE"

MODULE_CONF_ACTIVE=$(grep "current config name: " /tmp/output | awk -F ':' '{ print $2; }' | sed 's/ //g' | sed 's/\r//g')              
log "module config version is $MODULE_CONF_ACTIVE"
}


update_module_firmware()
{
led_mobile_green_slow
log "copying flasher-netbox to $FLASHDIR"
cp $MNTPATH/apps/flasher-netbox $FLASHDIR
chmod 755 $FLASHDIR/flasher-netbox

log "stopping WWAN interface"
/etc/init.d/wwanmd stop
/etc/init.d/gpsd stop

log "flashing $MODEM with config file $MODULE_CONFIG"
log "$STORAGE/swi9x30c_$MODULE_FIRMWARE.cwe"
log "$STORAGE/swi9x30c""_$MODULE_FIRMWARE""_telstra""_$MODULE_PRI.nvu"
log "Flashing with $MODFLASH"

led_mobile_green_fast
/bin/sh -c "$FLASHDIR/flasher-netbox $MODFLASH  > $MNTPATH/report/$CONF_SERIAL.wwan"

log "starting WWAN interface"
/etc/init.d/wwanmd start
/etc/init.d/gpsd start


log "deleting flasher-netbox to FLASHDIR"
rm $FLASHDIR/flasher-netbox

}
