#!/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 
 |