#!/bin/sh # # Start/stop wifi # case "$1" in start) CONFIG=/userdata/cfg/wpa_supplicant.conf echo "Starting wifi, checking driver status..." [ -x /usr/bin/wifi_start.sh ] || exit 0 [ -f $CONFIG ] || exit 0 WIFI_READY=`cat /proc/net/dev | grep wlan0` while [ -z "$WIFI_READY" ] do sleep 1 WIFI_READY=`cat /proc/net/dev | grep wlan0` #echo "wifi ready: $WIFI_READY" CNT=`expr $CNT + 1` if [ $CNT -gt 100 ];then echo "wifi driver is not ready. please check if /etc/init.d/S36load_wifi_modules run correctly. then run /etc/init.d/S67wifi start" exit 0 fi done echo "wifi driver is ready" SSID=`grep ssid /userdata/cfg/wpa_supplicant.conf | cut -d '"' -f 2` PWD=`grep psk /userdata/cfg/wpa_supplicant.conf | cut -d '"' -f 2` if [ x$SSID = xSSID ];then echo "ssid in /userdata/cfg/wpa_supplicant.conf not valid" exit 0 fi if [ x$PWD = xPWD ];then echo "passwd in /userdata/cfg/wpa_supplicant.conf not valid" exit 0 fi wifi_start.sh $SSID $PWD ;; stop) echo "Stopping wifi..." ;; reload|force-reload) echo "Reloading reload wifi..." ;; restart) "$0" stop sleep 1 # Prevent race condition: ensure dhcpcd stops before start. "$0" start ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload}" exit 1 esac