#!/bin/sh
case "$1" in
save)
/etc/scripts/dbsave.sh
;
freset)
devconf del
;
isfreset)
SIZE=`devconf dump | scut -p "Data size :" -f 1`
if [ "$SIZE" = "0" ]; then
echo "YES"
else
echo "NO"
fi
;
init)
if [ $# -lt 7 ]; then
echo "Usage:"
echo " mfc init <lanmac> <wanmac> <hwrev> <countrycode> <deviceip> <pin> [lanmac2]"
exit 1
fi
LANMAC=`echo -e $2 | tr [A-Z] [a-z]`
WANMAC=`echo -e $3 | tr [A-Z] [a-z]`
HWREV=`echo -e $4 | tr [A-Z] [a-z]`
CCODE="$5"
IP="$6"
PIN="$7"
LANMAC2=`echo -e $8 | tr [A-Z] [a-z]`
[ "$LANMAC" != "" ] && DEVDATA="$DEVDATA -e lanmac=$LANMAC -e wlanmac=$LANMAC"
[ "$WANMAC" != "" ] && DEVDATA="$DEVDATA -e wanmac=$WANMAC"
[ "$CCODE" = "" ] && CCODE="US"
[ "$PIN" != "" ] && DEVDATA="$DEVDATA -e pin=$PIN"
[ "$LANMAC2" != "" ] && DEVDATA="$DEVDATA -e lanmac2=$LANMAC2"
echo "devdata set -e countrycode=$CCODE -e hwrev=$HWREV $DEVDATA -f" > /dev/console
devdata set -e countrycode=$CCODE -e hwrev=$HWREV $DEVDATA -f
# Save wireless MAC address to EEPROM
M1=`echo $LANMAC | cut -d: -f1`
M2=`echo $LANMAC | cut -d: -f2`
M3=`echo $LANMAC | cut -d: -f3`
M4=`echo $LANMAC | cut -d: -f4`
M5=`echo $LANMAC | cut -d: -f5`
M6=`echo $LANMAC | cut -d: -f6`
iwpriv ra0 e2p 04=$M2$M1
iwpriv ra0 e2p 06=$M4$M3
iwpriv ra0 e2p 08=$M6$M5
# Set MAC Address and IP Address into u-boot config.
[ "$LANMAC" != "" ] && UBCFG="$UBCFG ethaddr=$LANMAC"
[ "$IP" != "" ] && UBCFG="$UBCFG ipaddr=$IP"
echo "ubcfg set $UBCFG" > /dev/console
ubcfg set $UBCFG
# Show devdata and uboot data
echo "-------- devdata dump ----------------------" > /dev/console
devdata dump > /dev/console
echo "-------- ubcfg get ethaddr ipaddr-----------" > /dev/console
ubcfg get ethaddr ipaddr > /dev/console
echo "--------------------------------------------" > /dev/console
;
evm)
if [ $# -ne 10 ]; then
echo "Usage:"
echo " mfc evm <INF> <ATETXFREQOFFSET> <ATETXMODE> <ATETXMCS> <ATETXBW> <ATETXLEN> <ATECHANNEL> <ATETXANT> <ATETXPOW0>"
exit 1
fi
INF=$2
iwpriv $INF set ATE=ATESTART
iwpriv $INF set ATEDA=FF:FF:FF:FF:FF:FF
iwpriv $INF set ATETXGI=0
iwpriv $INF set ATETXLEN=$7
iwpriv $INF set ATETXCNT=1000000
iwpriv $INF set ATETXANT=$9
iwpriv $INF set ATECHANNEL=$8
iwpriv $INF set ATETXMODE=$4
iwpriv $INF set ATETXMCS=$5
iwpriv $INF set ATETXBW=$6
iwpriv $INF set ATETXPOW0=${10}
iwpriv $INF set ATETXFREQOFFSET=$3
iwpriv $INF set ATEIPG=200
iwpriv $INF set ATE=TXFRAME
;
wlan24)
DATPATH="/var/run/RT2860.dat"
cp /etc/scripts/mfc/RT2860_MFC.dat $DATPATH
echo "" >> $DATPATH
case "$4" in
"HT20")
echo "HT_BW=0" >> $DATPATH
;
"HT40")
echo "HT_BW=1" >> $DATPATH
echo "HT_EXTCHA=1" >> $DATPATH
;
esac
echo "Channel=$3" >> $DATPATH
echo "SSID=$2" >> $DATPATH
killall hostapd
ifconfig ra0 down
brctl delif br0 ra0
rmmod rt2860v2_ap
insmod /lib/modules/rt2860v2_ap.ko
ifconfig ra0 txqueuelen 1000
ifconfig ra0 up
brctl addif br0 ra0
brctl setbwctrl br0 ra0 900
echo 1 > /proc/net/br_forward_br0
;
set_11n)
case $2 in
disable)
devdata set -e bgonly=1
;
enable)
devdata del -e bgonly
;
esac
;
get_11n)
BGONLY=`devdata get -e bgonly`
if [ "$BGONLY" = "1" ]; then
echo "disable"
else
echo "enable"
fi
;
dump)
devdata dump
;
ver)
echo Ver `cat /etc/config/buildver` Build `cat /etc/config/buildno`
;
get)
[ "$2" != "" ] && devdata get -e $2
;
test)
case $2 in
on)
usockc /var/gpio_ctrl DEBUG
;
off)
usockc /var/gpio_ctrl NODEBUG
;
esac
;
layout)
case $2 in
router)
brctl delif br0 eth2.2
;
bridge)
brctl addif br0 eth2.2
;
esac
;
button)
case $2 in
reset)
usockc /var/gpio_ctrl GPIO_FRESET
cat /var/gpio_ctrl_result
;
wps)
usockc /var/gpio_ctrl GPIO_WPSPBC
cat /var/gpio_ctrl_result
;
esac
;
led)
case "$2" in
wps_blue)
usockc /var/gpio_ctrl WPS_BLUE
;
wps_off)
usockc /var/gpio_ctrl WPS_NONE
;
# wps_red)
# usockc /var/gpio_ctrl WPS_RED
# ;
status_green)
usockc /var/gpio_ctrl STATUS_GREEN
;
status_off)
usockc /var/gpio_ctrl STATUS_AMBER
;
esac
;
*)
echo "Usage: mfc {command} <params> [options]"
echo "Commands:"
echo " init <lanmac> <wanmac> <hwrev> <countrycode> <deviceip> <pin> [lanmac2]"
echo " Init flash"
echo " save Save current setting to flash"
echo ""
echo " evm <INF> <ATETXFREQOFFSET> <ATETXMODE> <ATETXMCS> <ATETXBW> <ATETXLEN>"
echo " <ATECHANNEL> <ATETXANT> <ATETXPOW0> <ATETXPOW1>"
echo " save ATE wireless parameters for 5GHz or 2.4GHz band"
echo ""
echo " wlan24 <ssid> <channel> <bandwidth>"
echo " Config the wireless setting for testing."
echo " Where the 'bandwidth' should be the value of 'HT20' or 'HT40'."
echo " set_11n {enable|disable} Enable/disable 802.11n mode."
echo " get_11n Get 802.11n enabled or disabled."
echo " dump Dump environment vairables."
echo " ver Show firmware version"
echo ""
echo " get <name> Get current WAN mac address"
echo " freset Factory reset"
echo " isfreset Check if the device is reset to factory default."
echo ""
echo " test on turn on test mode"
echo " test off turn off test mode"
echo ""
echo " button {reset|wps}"
echo " reset Get factory reset button status."
echo " wps Get WPS button status."
echo ""
echo " led {wps_blue|status_green|status_amber|inet_green|inet_amber}"
echo " wps_blue Turn on WPS blue led."
echo " wps_off Turn off WPS blue led."
# echo " wps_red Turn on WPS red led."
echo " status_green Turn on power/status green led."
echo " status_off Turn off power/status green led."
;
esac