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>