[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit
Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/app/Script/wifi_script/realtek/init1.sh b/ap/app/Script/wifi_script/realtek/init1.sh
new file mode 100644
index 0000000..91e37fc
--- /dev/null
+++ b/ap/app/Script/wifi_script/realtek/init1.sh
@@ -0,0 +1,290 @@
+#!/bin/sh
+#
+# script file to start network
+#
+# Usage: init.sh {gw | ap} {all | bridge | wan}
+#
+
+##if [ $# -lt 2 ]; then echo "Usage: $0 {gw | ap} {all | bridge | wan}"; exit 1 ; fi
+
+
+
+## error code
+ERROR_SUCCESS=0
+ERROR_INVALID_PARAMETERS=1
+ERROR_NO_SUCH_DEVICE=2
+ERROR_NO_CONFIG_FILE=3
+ERROR_NO_SUCH_FILE=4
+ERROR_NO_SUCH_DIRECTORY=5
+ERROR_NULL_FILE=6
+ERROR_NET_IF_UP_FAIL=7
+#CUR_PATH=`pwd`
+
+
+ROOT=`nv get wifi_root_dir`
+LOG=$ROOT/wifi/realtek/slog
+CONFIG_ROOT_DIR="$ROOT/wifi/realtek/rtl8192c"
+
+LOG1=$ROOT/wifi/realtek/slog1
+LOG_LIMIT=128 #128K
+#if [ -e "$LOG"]; then
+ LOG_SIZE=`du $LOG | cut -f1`
+ if [ $LOG_SIZE -ge $LOG_LIMIT ]; then
+ mv $LOG $LOG1
+ fi
+#else
+# touch $LOG
+#fi
+
+SCRIPT_DIR=`cat $CONFIG_ROOT_DIR/wifi_script_dir`
+BIN_DIR=`cat $CONFIG_ROOT_DIR/wifi_bin_dir`
+
+if [ -z "$SCRIPT_DIR" ] || [ -z "$BIN_DIR" ]; then
+ wifi_startup_fail_nvset
+ exit $ERROR_NULL_FILE;
+fi
+if [ ! -d "$SCRIPT_DIR" ]; then
+ echo "ERROR: $SCRIPT_DIR specify the path NOT exist." >> $LOG
+ wifi_startup_fail_nvset
+ exit $ERROR_NO_SUCH_DIRECTORY;
+fi
+if [ ! -d "$BIN_DIR" ]; then
+ echo "ERROR: $BIN_DIR specify the path NOT exist." >> $LOG
+ wifi_startup_fail_nvset
+ exit $ERROR_NO_SUCH_DIRECTORY;
+fi
+
+#PATH=$PATH:$BIN_DIR
+#export PATH
+
+START_BRIDGE=$SCRIPT_DIR/bridge1.sh
+#START_WLAN_APP=$SCRIPT_DIR/wlanapp_8192c.sh
+START_WLAN=$SCRIPT_DIR/wlan_8192c1.sh
+
+WLAN_PREFIX=wlan
+
+# the following fields must manually set depends on system configuration. Not support auto config.
+ROOT_WLAN=wlan0
+ROOT_CONFIG_DIR=$CONFIG_ROOT_DIR/$ROOT_WLAN
+WLAN_INTERFACE=$ROOT_WLAN
+NUM_INTERFACE=0
+#VIRTUAL_WLAN_INTERFACE="$ROOT_WLAN-va0 $ROOT_WLAN-va1 $ROOT_WLAN-va2 $ROOT_WLAN-va3"
+VIRTUAL_WLAN_INTERFACE=""
+NUM_VIRTUAL_INTERFACE=0
+VXD_INTERFACE=""
+ALL_WLAN_INTERFACE="$WLAN_INTERFACE $VIRTUAL_WLAN_INTERFACE $VXD_INTERFACE"
+
+BR_UTIL=brctl
+IFCONFIG=ifconfig
+IWPRIV=iwpriv
+FLASH_PROG=flash
+
+export SCRIPT_DIR
+export BIN_DIR
+export WLAN_PREFIX
+export ROOT_WLAN
+export BR_UTIL
+
+
+wifi_startup_fail_nvset() {
+ date +[%H:%M:%S]init1.shenddddddddddddddddddd >> $LOG
+ echo "wlan0 start failed " >> $LOG
+ echo " " >> $LOG
+}
+rtl_get_available_wlan() {
+ NUM=0
+ VALID_WLAN_INTERFACE=""
+ for WLAN in $WLAN_INTERFACE ; do
+ NOT_EXIST=`$IFCONFIG $WLAN > /dev/null 2>&1; echo $?`
+ if [ $NOT_EXIST = 0 ]; then
+ CONFIG_DIR=$CONFIG_ROOT_DIR/$WLAN
+ if [ ! -d "$CONFIG_DIR" ]; then
+ echo "$CONFIG_DIR: No such directory" >> $LOG
+ wifi_startup_fail_nvset
+ exit $ERROR_NO_CONFIG_FILE
+ fi
+
+ if [ -z "$VALID_WLAN_INTERFACE" ]; then
+ VALID_WLAN_INTERFACE="$WLAN"
+ else
+ VALID_WLAN_INTERFACE="$VALID_WLAN_INTERFACE $WLAN"
+ fi
+ NUM=`expr $NUM + 1`
+ fi
+ done
+
+ if [ "$NUM" = "0" ]; then
+ echo "$WLAN_INTERFACE: No such device" >> $LOG
+ wifi_startup_fail_nvset
+ exit $ERROR_NO_SUCH_DEVICE;
+ fi
+ WLAN_INTERFACE=$VALID_WLAN_INTERFACE
+ NUM_INTERFACE=$NUM
+
+ ALL_WLAN_INTERFACE="$WLAN_INTERFACE"
+}
+
+BR_INTERFACE=br0
+BR_LAN1_INTERFACE=eth0
+
+ENABLE_BR=1
+
+
+# Generate WPS PIN number
+rtl_generate_wps_pin() {
+ for WLAN in $WLAN_INTERFACE ; do
+ CONFIG_DIR=$CONFIG_ROOT_DIR/$WLAN
+ GET_VALUE=`cat $CONFIG_DIR/wsc_pin`
+ if [ "$GET_VALUE" = "00000000" ]; then
+ ##echo "27006672" > $CONFIG_DIR/wsc_pin
+ $BIN_DIR/$FLASH_PROG gen-pin $WLAN
+ $BIN_DIR/$FLASH_PROG gen-pin $WLAN-vxd
+ fi
+ done
+}
+
+rtl_set_mac_addr() {
+ # Set Ethernet 0 MAC address
+ GET_VALUE=`cat $ROOT_CONFIG_DIR/nic0_addr`
+ ELAN_MAC_ADDR=$GET_VALUE
+ $IFCONFIG $BR_LAN1_INTERFACE down
+ $IFCONFIG $BR_LAN1_INTERFACE hw ether $ELAN_MAC_ADDR
+}
+
+# Usage: rtl_has_enable_vap wlan_interface
+rtl_has_enable_vap() {
+ for INTF in $VIRTUAL_WLAN_INTERFACE ; do
+ case $INTF in
+ $1-va[0-9])
+ CONFIG_DIR=$CONFIG_ROOT_DIR/$INTF
+ WLAN_DISABLED_VALUE=`cat $CONFIG_DIR/wlan_disabled`
+ if [ "$WLAN_DISABLED_VALUE" = "0" ]; then
+ return 1
+ fi
+ ;;
+ *)
+ ;;
+ esac
+ done
+
+ return 0
+}
+
+# Start WLAN interface
+rtl_start_wlan_if() {
+ for WLAN in $ALL_WLAN_INTERFACE ; do
+ echo "Initialize $WLAN interface" >> $LOG
+ $IFCONFIG $WLAN down
+
+ case $WLAN in
+ $WLAN_PREFIX[0-9]) #ROOT_INTERFACE
+ NO_VAP=`$IFCONFIG $WLAN-va0 > /dev/null 2>&1; echo $?`
+ if [ $NO_VAP = 0 ]; then
+ rtl_has_enable_vap $WLAN
+ HAS_VAP=`echo $?`
+ $IWPRIV $WLAN set_mib vap_enable=$HAS_VAP
+ echo "$IWPRIV $WLAN set_mib vap_enable=$HAS_VAP" >> $LOG
+ fi
+ ;;
+ $WLAN_PREFIX[0-9]-vxd) ## station interface
+# echo "$IWPRIV $WLAN copy_mib" >> $LOG
+# $IWPRIV $WLAN copy_mib
+# WPA_SUPPLICAT=`ps | grep wpa_supplicant | grep -v grep`
+# echo "SUPPLICAT=$WPA_SUPPLICAT" >> $LOG
+ ;;
+ *)
+ ;;
+ esac
+
+ CONFIG_DIR=$CONFIG_ROOT_DIR/$WLAN
+ WLAN_DISABLED_VALUE=`cat $CONFIG_DIR/wlan_disabled`
+
+ if [ "$WLAN_DISABLED_VALUE" = 0 ]; then
+ echo "<<<${START_WLAN##*/} $WLAN>>>" >> $LOG
+ $START_WLAN $WLAN
+ ERR=`echo $?`
+ if [ $ERR != 0 ]; then
+ echo "$START_WLAN $WLAN failed" >> $LOG
+ wifi_startup_fail_nvset
+ exit $ERR;
+ fi
+ else
+ echo "$WLAN WLAN_DISABLED_VALUE=$WLAN_DISABLED_VALUE" >> $LOG
+ fi
+ done
+}
+
+# Enable WLAN interface
+rtl_enable_wlan_if() {
+ for WLAN in $ALL_WLAN_INTERFACE ; do
+ CONFIG_DIR=$CONFIG_ROOT_DIR/$WLAN
+ WLAN_DISABLED_VALUE=`cat $CONFIG_DIR/wlan_disabled`
+ if [ "$WLAN_DISABLED_VALUE" = 0 ]; then
+ echo "<<<ENABLE $WLAN>>>"
+ IP_ADDR=`cat $CONFIG_DIR/ip_addr`
+ $IFCONFIG $WLAN $IP_ADDR
+ $IFCONFIG $WLAN up
+ if [ $? != 0 ]; then
+ wifi_startup_fail_nvset
+ echo "ERROR ifconfig $WLAN up fail" >> $LOG
+ exit $ERROR_NET_IF_UP_FAIL;
+ fi
+ fi
+ done
+}
+
+rtl_start_no_gw() {
+ echo "<<<${START_BRIDGE##*/} $BR_INTERFACE $BR_LAN1_INTERFACE $WLAN_INTERFACE>>>" >> $LOG
+ $START_BRIDGE $BR_INTERFACE $WLAN_INTERFACE
+ ERR=`echo $?`
+ if [ $ERR != 0 ]; then
+ wifi_startup_fail_nvset
+ exit $ERR;
+ fi
+ #CONFIG_DIR=$CONFIG_ROOT_DIR/$WLAN
+ #GET_WPA_PSK=`cat $CONFIG_DIR/wpa_psk`
+ #echo "222 GET_WPA_PSK is "$GET_WPA_PSK
+ #echo "<<<${START_WLAN_APP##*/} start $WLAN_INTERFACE $VIRTUAL_WLAN_INTERFACE $BR_INTERFACE>>>"
+ #$START_WLAN_APP start $WLAN_INTERFACE $VIRTUAL_WLAN_INTERFACE $BR_INTERFACE
+ #ERR=`echo $?`
+ #if [ $ERR != 0 ]; then
+ # exit $ERR;
+ #fi
+}
+
+
+rtl_init() {
+ date +[%H:%M:%S]init1.shstarttttttttttttttttt >> $LOG
+ killall webs 2> /dev/null
+ $BIN_DIR/webs -x
+
+ echo "realtek rtl_get_available_wlan" >> $LOG
+ rtl_get_available_wlan
+## rtl_set_mac_addr
+
+
+
+ echo "realtek rtl_start_wlan_if" >> $LOG
+ rtl_start_wlan_if
+
+#NO_EXIST=1
+ NO_EXIST=`$BR_UTIL > /dev/null 2>&1; echo $?`
+ if [ "$NO_EXIST" = "127" ]; then
+ echo "$BR_UTIL: NOT exist." >> $LOG
+ rtl_enable_wlan_if
+ else
+ #rtl_generate_wps_pin
+ echo "realtek rtl_start_no_gw" >> $LOG
+ rtl_start_no_gw
+ fi
+
+ #iwpriv wlan0 stopps 1
+ #iwpriv wlan0 set_mib ps_level=0
+
+
+ date +[%H:%M:%S]init1.shenddddddddddddddddddd >> $LOG
+ echo " " >> $LOG
+ echo " " >> $LOG
+}
+
+rtl_init