#!/bin/sh
# file: scripts/flashp.sh
# use the int6kfp to initialize an INT6300 device having a blank or
# corrupted NVRAM; the Bootloader must be running for this script to
# work properly;
# ====================================================================
# host symbols;
# --------------------------------------------------------------------
. ${SCRIPTS}/hardware.sh
. ${SCRIPTS}/firmware.sh
# ====================================================================
# confirm connection;
# --------------------------------------------------------------------
echo -n "Interface [${ETH}]: "; read
if [ ! -z ${REPLY} ]; then
ETH=${REPLY}
fi
# ====================================================================
# check connection;
# --------------------------------------------------------------------
int6kwait -xqsi ${ETH}
if [ ${?} != 0 ]; then
echo "Device is not connected"
exit 1
fi
# ====================================================================
# randomize identity;
# --------------------------------------------------------------------
MAC=auto
DAK=$(rkey secret.key -D)
NMK=$(rkey secret.key -M)
# ====================================================================
# confirm address;
# --------------------------------------------------------------------
echo -n "MAC [${MAC}]: "; read
if [ ! -z ${REPLY} ]; then
MAC="${REPLY}"
fi
echo -n "DAK [${DAK}]: "; read
if [ ! -z ${REPLY} ]; then
DAK="${REPLY}"
fi
echo -n "NMK [${NMK}]: "; read
if [ ! -z ${REPLY} ]; then
NMK="${REPLY}"
fi
# ====================================================================
# modify PIB;
# --------------------------------------------------------------------
modpib -M ${MAC} -D ${DAK} -N ${NMK} ${PIB} -v
if [ ${?} != 0 ]; then
exit 1
fi
# ====================================================================
# flash NVRAM with firmware and factory PIB;
# --------------------------------------------------------------------
int6kfp -i ${ETH} -C ${CFG} -P ${PIB} -N ${NVM} -D ${DAK} -FF
if [ ${?} != 0 ]; then
exit 1
fi
# ====================================================================
# confirm identity;
# --------------------------------------------------------------------
int6k -i ${ETH} -I
# ====================================================================
# return success;
# --------------------------------------------------------------------
exit 0