Annotation of elwix/config/etc/default/rc.wifi, revision 1.1.1.1

1.1       misho       1: # Common loader functions for WIFI boot scripts
                      2: #  (C)`09 AITNET ltd - Sofia/Bulgaria <misho@aitbg.com>
                      3: #
                      4: # $Id: rc.wifi,v 1.1.2.10 2010/08/06 21:44:46 misho Exp $
                      5: 
                      6: 
                      7: # regdomain() <iface> <regdomain> [additional options]
                      8: regdomain()
                      9: {
                     10:        if [ $# -ne 2 ]; then
                     11:                echo "regdomain() Not enough parameters ..."
                     12:                return 1
                     13:        fi
                     14: 
                     15:        if [ X"$2" != X"" ]; then
                     16:        else
                     17:                ifconfig $1 regdomain $2
                     18:        fi
                     19: 
                     20:        if [ $# -gt 2 ]; then
                     21:                shift 2
                     22:                ifconfig $1 $*
                     23:        fi
                     24: }
                     25: 
                     26: # country() <iface> <country>
                     27: country()
                     28: {
                     29:        if [ $# -ne 2 ]; then
                     30:                echo "country() Not enough parameters ..."
                     31:                return 1
                     32:        fi
                     33: 
                     34:        if [ X"$2" != X"" ]; then
                     35:        else
                     36:                ifconfig $1 country $2
                     37:        fi
                     38: }
                     39: 
                     40: # speedset() <iface> <ucast_speed> [mcast_speed] [mgmt_speed]
                     41: speedset()
                     42: {
                     43:        if [ $# -lt 2 ]; then
                     44:                echo "setspeed() Not enough parameters ..."
                     45:                return 1
                     46:        fi
                     47: 
                     48:        if [ X"$2" != X"" ]; then
                     49:                return 0
                     50:        fi
                     51: 
                     52:        ARGS="ucastrate $2"
                     53:        if [ $# -gt 2 ]; then
                     54:                ARGS=$ARGS" mcastrate $3"
                     55:        fi
                     56:        if [ $# -gt 3 ]; then
                     57:                ARGS=$ARGS" mgtrate $4"
                     58:        fi
                     59: 
                     60:        ifconfig $1 $ARGS
                     61: }
                     62: 
                     63: # createwlan() <iface> <wlandev> <ap|sta|adhoc|tdma|wds|mesh> [wdsbssid]
                     64: createwlan()
                     65: {
                     66:        if [ $# -lt 3 ]; then
                     67:                echo "createwlan() Not enough parameters ..."
                     68:                return 1
                     69:        fi
                     70: 
                     71:        ARGS="create wlandev $2 wlanmode $3"
                     72:        if [ $# -gt 3 ]; then
                     73:                shift 3
                     74:                ARGS=$ARGS" $*"
                     75:        fi
                     76: 
                     77:        ifconfig $1 $ARGS
                     78: }
                     79: 
                     80: # setchan() <iface> <channel> [mode]
                     81: setchan()
                     82: {
                     83:        if [ $# -lt 2 ]; then
                     84:                echo "setchan() Not enough parameters ..."
                     85:                return 1
                     86:        fi
                     87: 
                     88:        ARGS="channel $2"
                     89:        if [ $# -gt 2 ]; then
                     90:                ARGS=$ARGS" mode $3"
                     91:        fi
                     92: 
                     93:        ifconfig $1 $ARGS
                     94: }
                     95: 
                     96: # setwifiopts() <iface> <wifiopts>
                     97: setwifiopts()
                     98: {
                     99:        if [ $# -lt 1 ]; then
                    100:                echo "setwifiopts() Not enough parameters ..."
                    101:                return 1
                    102:        fi
                    103: 
                    104:        if [ $# -gt 1 ]; then
                    105:                shift 1
                    106:                ifconfig $1 $*
                    107:        fi
                    108: }
                    109: 
                    110: # setWEP() <iface> <default_key> <key1> [key2] [key3] [key4]
                    111: setWEP()
                    112: {
                    113:        if [ $# -lt 3 ]; then
                    114:                echo "setWEP() Not enough parameters ..."
                    115:                return 1
                    116:        fi
                    117: 
                    118:        ARGS="wep deftxkey $2 wepkey 1:$3"
                    119:        if [ $# -gt 3 ]; then
                    120:                ARGS=$ARGS" wepkey 2:$4"
                    121:        fi
                    122:        if [ $# -gt 4 ]; then
                    123:                ARGS=$ARGS" wepkey 3:$5"
                    124:        fi
                    125:        if [ $# -gt 5 ]; then
                    126:                ARGS=$ARGS" wepkey 4:$6"
                    127:        fi
                    128: 
                    129:        ifconfig $1 $ARGS
                    130: }
                    131: 
                    132: # mkhostconf() <iface> <host_mode> <wpa_pass> [wep_key]
                    133: mkhostconf()
                    134: {
                    135:        if [ $# -lt 3 ]; then
                    136:                echo "mkhostconf() Not enough parameters ..."
                    137:                return 1
                    138:        fi
                    139: 
                    140:        case $2 in
                    141:                wpa1|1)
                    142:                        WPA_MODE=1
                    143:                        WPA_PAIR=CCMP
                    144:                        ;;
                    145:                wpa1_tkip)
                    146:                        WPA_MODE=1
                    147:                        WPA_PAIR=TKIP
                    148:                        ;;
                    149:                wpa2|2)
                    150:                        WPA_MODE=2
                    151:                        WPA_PAIR=CCMP
                    152:                        ;;
                    153:                wpa2_tkip)
                    154:                        WPA_MODE=2
                    155:                        WPA_PAIR=TKIP
                    156:                        ;;
                    157:                wpa|3)
                    158:                        WPA_MODE=3
                    159:                        WPA_PAIR=CCMP
                    160:                        ;;
                    161:                tsn)
                    162:                        if [ -z $4 ]; then
                    163:                                echo "mkhostconf() Not enough parameters ..."
                    164:                                return 1;
                    165:                        else
                    166:                                WEP_KEY0=$4
                    167:                        fi
                    168: 
                    169:                        WPA_MODE=1
                    170:                        WPA_PAIR=TKIP
                    171:                        ;;
                    172:                *)
                    173:                        echo "mkhostconf() Unknown WPA mode ..."
                    174:                        return 1
                    175:                        ;;
                    176:        esac
                    177: 
                    178:        CONF=/var/tmp/hostapd_$1.conf
                    179:        rm -f $CONF
                    180: 
                    181:        cat >$CONF <<_EOF
                    182: interface=$1
                    183: ctrl_interface=/var/run/hostapd_$1.sock
                    184: dump_file=/var/tmp/hostapd_$1.dump
                    185: logger_syslog=-1
                    186: logger_syslog_level=0
                    187: logger_stdout=-1
                    188: logger_stdout_level=0
                    189: debug=4
                    190: wpa_psk_file=/etc/hostapd.wpa_psk
                    191: wpa=$WPA_MODE
                    192: wpa_pairwise=$WPA_PAIR
                    193: wpa_key_mgmt=WPA-PSK
                    194: wpa_passphrase=$3
                    195: _EOF
                    196: 
                    197:        if [ ${#WEP_KEY0} -ne 0 ]; then
                    198:                cat >>$CONF <<_EOF
                    199: tsn=1
                    200: wep_key0=$WEP_KEY0
                    201: _EOF
                    202:        fi
                    203: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>