File:  [ELWIX - Embedded LightWeight unIX -] / elwix / config / etc / default / rc.wifi
Revision 1.2: download - view: text, annotated - select for diffs - revision graph
Wed Nov 2 09:51:32 2011 UTC (12 years, 8 months ago) by misho
Branches: MAIN
CVS tags: elwix2_6, elwix2_3, elwix2_2, elwix2_1, elwix2_0, elwix1_9_mips, elwix1_9, elwix1_8, elwix1_7, elwix1_6, HEAD, ELWIX2_5, ELWIX2_2p0, ELWIX2_1, ELWIX2_0, ELWIX1_9, ELWIX1_8, ELWIX1_7, ELWIX1_6, ELWIX1_5
ver 1.5-stable

# Common loader functions for WIFI boot scripts
#  (C)`09 AITNET ltd - Sofia/Bulgaria <misho@aitbg.com>
#
# $Id: rc.wifi,v 1.2 2011/11/02 09:51:32 misho Exp $


# setWEP() <iface> <default_key> <key1> [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() <iface> <host_mode> <wpa_pass> [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
}

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