--- elwix/config/etc/uboot/rc.wifi 2014/01/23 09:24:03 1.1 +++ elwix/config/etc/uboot/rc.wifi 2014/09/15 19:06:47 1.2 @@ -0,0 +1,100 @@ +# Common loader functions for WIFI boot scripts +# (C)`09 AITNET ltd - Sofia/Bulgaria +# +# $Id: rc.wifi,v 1.2 2014/09/15 19:06:47 misho Exp $ + + +# setWEP() [key2] [key3] [key4] +setWEP() +{ + if [ $# -lt 3 ]; then + echo "setWEP() Not enough parameters ..." + return 1 + fi + + ARGS="authmode open wepmode on deftxkey $2 wepkey 1:$3" + if [ $# -gt 3 ]; then + ARGS=$ARGS" wepkey 2:$4" + fi + if [ $# -gt 4 ]; then + ARGS=$ARGS" wepkey 3:$5" + fi + if [ $# -gt 5 ]; then + ARGS=$ARGS" wepkey 4:$6" + fi + + ifconfig $1 $ARGS +} + +# mkhostconf() [wep_key] +mkhostconf() +{ + if [ $# -lt 3 ]; then + echo "mkhostconf() Not enough parameters ..." + return 1 + fi + + case $2 in + wpa1|1) + WPA_MODE=1 + WPA_PAIR=CCMP + ;; + wpa1_tkip) + WPA_MODE=1 + WPA_PAIR=TKIP + ;; + wpa2|2) + WPA_MODE=2 + WPA_PAIR=CCMP + ;; + wpa2_tkip) + WPA_MODE=2 + WPA_PAIR=TKIP + ;; + wpa|3) + WPA_MODE=3 + WPA_PAIR=CCMP + ;; + tsn) + if [ -z $4 ]; then + echo "mkhostconf() Not enough parameters ..." + return 1; + else + WEP_KEY0=$4 + fi + + WPA_MODE=1 + WPA_PAIR=TKIP + ;; + *) + echo "mkhostconf() Unknown WPA mode ..." + return 1 + ;; + esac + + CONF=/var/tmp/hostapd_$1.conf + rm -f $CONF + + cat >$CONF <<_EOF +interface=$1 +ctrl_interface=/var/run/hostapd_$1.sock +dump_file=/var/tmp/hostapd_$1.dump +logger_syslog=-1 +logger_syslog_level=0 +logger_stdout=-1 +logger_stdout_level=0 +debug=4 +wpa_psk_file=/etc/hostapd.wpa_psk +wpa=$WPA_MODE +wpa_pairwise=$WPA_PAIR +wpa_key_mgmt=WPA-PSK +wpa_passphrase=$3 +_EOF + + if [ ${#WEP_KEY0} -ne 0 ]; then + cat >>$CONF <<_EOF +tsn=1 +wep_key0=$WEP_KEY0 +_EOF + fi +}