Add basic change for v1453
Change-Id: I9497a61bbc3717f66413794a4e7dee0347c0bc33
diff --git a/mbtk/rootfs/etc/mbtk_wifi.sh b/mbtk/rootfs/etc/mbtk_wifi.sh
new file mode 100755
index 0000000..eef87de
--- /dev/null
+++ b/mbtk/rootfs/etc/mbtk_wifi.sh
@@ -0,0 +1,171 @@
+#!/bin/sh
+
+STA_NET_CONF=/etc/wifi/sta_network.conf
+
+function help()
+{
+ echo "mbtk_wifi.sh ap/sta start/stop"
+}
+
+function wifi_check()
+{
+ if [ ! -f /etc/wifi/aic8800_bsp.ko ];then
+ echo "No found file: /etc/wifi/aic8800_bsp.ko"
+ exit 1
+ fi
+
+ if [ ! -f /etc/wifi/aic8800_fdrv.ko ];then
+ echo "No found file: /etc/wifi/aic8800_fdrv.ko"
+ exit 1
+ fi
+
+ if [ ! -f /etc/wifi/hostapd.conf ];then
+ echo "No found file: /etc/wifi/hostapd.conf"
+ exit 1
+ fi
+
+ if [ ! -f /etc/wifi/wpa_supplicant.conf ];then
+ echo "No found file: /etc/wifi/wpa_supplicant.conf"
+ exit 1
+ fi
+
+ if [ ! -f $STA_NET_CONF ];then
+ echo "No found file: $STA_NET_CONF"
+ exit 1
+ fi
+}
+
+function driver_insmod()
+{
+ cfg80211_insmod=`lsmod | grep cfg80211`
+ if [ -z "$cfg80211_insmod" ];then
+ modprobe cfg80211
+ else
+ echo "cfg80211 has insmod."
+ fi
+
+ aic8800_bsp_insmod=`lsmod | grep aic8800_bsp`
+ if [ -z "$aic8800_bsp_insmod" ];then
+ insmod /etc/wifi/aic8800_bsp.ko sdio_f0=0 sdio_clk=150000000
+ else
+ echo "aic8800_bsp has insmod."
+ fi
+
+ aic8800_fdrv_insmod=`lsmod | grep aic8800_fdrv`
+ if [ -z "$aic8800_fdrv_insmod" ];then
+ insmod /etc/wifi/aic8800_fdrv.ko
+ else
+ echo "aic8800_fdrv has insmod."
+ fi
+}
+
+function driver_rmmod()
+{
+ aic8800_fdrv_insmod=`lsmod | grep aic8800_fdrv`
+ if [ -z "$aic8800_fdrv_insmod" ];then
+ echo "aic8800_fdrv not insmod."
+ else
+ rmmod aic8800_fdrv
+ fi
+
+ aic8800_bsp_insmod=`lsmod | grep aic8800_bsp`
+ if [ -z "$aic8800_bsp_insmod" ];then
+ echo "aic8800_bsp not insmod."
+ else
+ rmmod aic8800_bsp
+ fi
+
+ cfg80211_insmod=`lsmod | grep cfg80211`
+ if [ -z "$cfg80211_insmod" ];then
+ echo "cfg80211 not insmod."
+ else
+ rmmod cfg80211
+ fi
+}
+
+function wifi_ap_start()
+{
+ hostapd /etc/wifi/hostapd.conf -B
+ sleep 5s
+
+ brctl addif br-lan wlan0
+ iptables -t nat -A POSTROUTING -o ccinet0 -j MASQUERADE --random
+}
+
+function wifi_ap_stop()
+{
+ killall hostapd
+}
+
+function wifi_sta_start()
+{
+ wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wifi/wpa_supplicant.conf -B
+ sleep 5s
+
+ SSID=`cat $STA_NET_CONF | grep -w 'SSID' | cut -d '=' -f 2`
+ PASSWORD=`cat $STA_NET_CONF | grep -w 'PASSWORD' | cut -d '=' -f 2`
+ prefix=\"
+ subfix=\"
+ str1=$prefix$SSID$subfix
+ str2=$prefix$PASSWORD$subfix
+
+ echo "SSID = $str1"
+ echo "PSK = $str2"
+
+ wpa_cli -p/var/run/wpa_supplicant remove_network 0
+ wpa_cli -p/var/run/wpa_supplicant ap_scan 1
+ wpa_cli -p/var/run/wpa_supplicant add_network
+ wpa_cli -p/var/run/wpa_supplicant set_network 0 ssid $str1
+ wpa_cli -p/var/run/wpa_supplicant set_network 0 key_mgmt WPA-PSK
+ wpa_cli -p/var/run/wpa_supplicant set_network 0 psk $str2
+ wpa_cli -p/var/run/wpa_supplicant select_network 0
+
+ udhcpc -i wlan0
+}
+
+function wifi_sta_stop()
+{
+ killall wpa_supplicant
+}
+
+wifi_check
+
+if [ -n "$2" ] ;then #有参数
+ case "$1" in
+ ap)
+ case "$2" in
+ start)
+ driver_insmod
+
+ wifi_ap_start
+ ;;
+ stop)
+ wifi_ap_stop
+ ;;
+ *)
+ help
+ ;;
+ esac
+ ;;
+ sta)
+ case "$2" in
+ start)
+ driver_insmod
+
+ wifi_sta_start
+ ;;
+ stop)
+ wifi_sta_stop
+ ;;
+ *)
+ help
+ ;;
+ esac
+ ;;
+ *)
+ help
+ ;;
+ esac
+else
+ help
+fi
\ No newline at end of file