Search Linux Wireless

RE: [PATCH] wifi-test: add initial simple test scripts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Luis, I have checked it in.

Do these scripts (client and AP) run on the same machine? If yes, will
packets be sent/received through air, or through mac80211 as bridge?

I have a sample case with hwsim (hwsim.sh), which simulates two wlan
interface (one for client and one for hostapd). It can be used for
testing mac80211.

Bests
Jeff
 

>-----Original Message-----
>From: Luis R. Rodriguez [mailto:mcgrof@xxxxxxxxxxxxx] On 
>Behalf Of Luis R. Rodriguez
>Sent: 2009年11月12日 9:36
>To: Zheng, Jeff
>Cc: Wifi-test-devel@xxxxxxxxxxxxxxxxxxxxx; 
>linux-wireless@xxxxxxxxxxxxxxx; Luis R. Rodriguez
>Subject: [PATCH] wifi-test: add initial simple test scripts
>
>The wifi-test project currently deals only with a robust
>test setup and requires access to an AP with a CLI like
>the Cisco APs. For simpler environments such as an end
>user we can work on simpler scripts and tests cases.
>
>Lets start this off with some initial basic scripts to
>start an AP with different encryption possible settings
>and a client to connect to that AP. To start off with
>we use wext as that has been tested previously. We'll
>replace this with iw commands ASAP.
>
>Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx>
>---
>
>I'm submitting these as-is from some old stuff I had which I had
>tested with MadWifi. Eventually I'll test with ath9k and 11n, etc.
>Feel free to send patches :)
>
> README                      |   14 +++
> simple/README               |   15 +++
> simple/create-ap.sh.txt     |  199 
>+++++++++++++++++++++++++++++++++++++++++++
> simple/create-client.sh.txt |  153 +++++++++++++++++++++++++++++++++
> 4 files changed, 381 insertions(+), 0 deletions(-)
> create mode 100644 simple/README
> create mode 100755 simple/create-ap.sh.txt
> create mode 100755 simple/create-client.sh.txt
>
>diff --git a/README b/README
>index 491597a..eb88832 100644
>--- a/README
>+++ b/README
>@@ -1,4 +1,18 @@
> 
>+Type of testing
>+===============
>+
>+  * Robust testing environment with CLI AP
>+
>+This project is designed originally for using APs which you can
>+configure yourself manually through some sort of CLI like the 
>Cisco APs.
>+
>+  * Simple testing
>+
>+Simple testing utilities are only starting to being 
>developed, for those
>+refer to the simple/ directory. The rest of this document 
>covers testing
>+with robust environment and an AP with a CLI.
>+
> *****************************************
> **	  Testing environment	       ** 
> *****************************************
>diff --git a/simple/README b/simple/README
>new file mode 100644
>index 0000000..cd65290
>--- /dev/null
>+++ b/simple/README
>@@ -0,0 +1,15 @@
>+Simple Linux wirelss testing utilities
>+======================================
>+
>+Use these if you don't have a complex testing environment, like
>+only one AP you run yourself with hostapd and a client which you
>+control as well.
>+
>+This doesn't yet collect information from connection establishment.
>+
>+TODO:
>+
>+  * Use iw commands
>+
>+  * Write nl80211 client which lisents to multicast events
>+    to figure out connection completions/etc
>diff --git a/simple/create-ap.sh.txt b/simple/create-ap.sh.txt
>new file mode 100755
>index 0000000..e4081a5
>--- /dev/null
>+++ b/simple/create-ap.sh.txt
>@@ -0,0 +1,199 @@
>+#!/bin/bash
>+#
>+# Copyright (c) 2008 Luis R. Rodriguez <mcgrof@xxxxxxxxxxxxxxxxxx>
>+#
>+# Linuxwireless.org generic AP setup utility
>+#
>+# Use this script setup an AP to tests drivers in STA mode against
>+# generic AP modes. This script was designed to support all current
>+# Linux wireless drivers which support AP mode but was tested 
>mainly with 
>+# MadWifi
>+# 
>+# Requirements:
>+# 
>+# * hostapd
>+# * wireless-tools
>+# * Wireless card and a respective Linux wireless driver 
>which supports AP mode
>+#
>+#### Configurable items
>+ESSID="linuxwireless.org-testap01"
>+DEV="ath2"
>+# Used for WEP and TKIP and CCMP PSK passphrase
>+WEPKEY1="linuxwireless"
>+MODULE="ath_pci"
>+HOSTAPD_TKIP="/tmp/hostapd.conf.tkip"
>+HOSTAPD_CCMP="/tmp/hostapd.conf.ccmp"
>+#### You should not need to edit anything else bellow
>+
>+function generic-ap-setup() {
>+	echo "Removing module $DRIVER..."
>+	rmmod $MODULE
>+	echo "Adding module $DRIVER..."
>+	modprobe $MODULE
>+	# Some drivers in AP mode will need this
>+	echo "Letting module breathe for a bit..."
>+	sleep 2
>+	case "$MODULE" in
>+		ath_pci)
>+			wlanconfig $DEV destroy
>+			wlanconfig $DEV create wlandev wifi0 wlanmode ap
>+		;;
>+		*)
>+			iwconfig $DEV mode master
>+		;;
>+	esac
>+	iwconfig $DEV essid $ESSID
>+}
>+
>+function generate-hostapd() {
>+	if [[ $# -ne 2 ]]; then
>+		echo "Not enough arguments for generate-hostapd()"
>+		usage
>+		exit
>+	fi
>+
>+	case "$1" in
>+		TKIP)
>+		PAIRWISE_ALG="TKIP";
>+		;;
>+		CCMP)
>+		PAIRWISE_ALG="CCMP";
>+		;;
>+		*)
>+		echo -e "Unsupported hostapd pairwise algorythm: $1"
>+		exit
>+		;;
>+	esac
>+	DRIVER="hostap"
>+	case "$MODULE" in
>+		ath_pci)
>+			DRIVER="madwifi"
>+		;;
>+		# Other hostapd drivers are hostap, wired, and 
>prism54, all these match
>+		# ther respective module name
>+		*)
>+			DRIVER="$MODULE"
>+		;;
>+	esac
>+	echo "
>+interface=$DEV
>+driver=$DRIVER
>+logger_syslog=-1
>+logger_syslog_level=2
>+logger_stdout=-1
>+logger_stdout_level=2
>+debug=0
>+dump_file=/tmp/hostapd.dump
>+ctrl_interface=/var/run/hostapd
>+ctrl_interface_group=0
>+ssid=$ESSID
>+max_num_sta=255
>+macaddr_acl=0
>+auth_algs=3
>+wme_enabled=1
>+wme_ac_bk_cwmin=4
>+wme_ac_bk_cwmax=10
>+wme_ac_bk_aifs=7
>+wme_ac_bk_txop_limit=0
>+wme_ac_bk_acm=0
>+wme_ac_be_aifs=3
>+wme_ac_be_cwmin=4
>+wme_ac_be_cwmax=10
>+wme_ac_be_txop_limit=0
>+wme_ac_be_acm=0
>+wme_ac_vi_aifs=2
>+wme_ac_vi_cwmin=3
>+wme_ac_vi_cwmax=4
>+wme_ac_vi_txop_limit=94
>+wme_ac_vi_acm=0
>+wme_ac_vo_aifs=2
>+wme_ac_vo_cwmin=2
>+wme_ac_vo_cwmax=3
>+wme_ac_vo_txop_limit=47
>+wme_ac_vo_acm=0
>+eapol_key_index_workaround=0
>+eap_server=0
>+own_ip_addr=127.0.0.1
>+wpa=2
>+wpa_passphrase=$WEPKEY1
>+wpa_key_mgmt=WPA-PSK
>+wpa_pairwise=$PAIRWISE_ALG
>+" > $2
>+}
>+
>+function mode-ap() {
>+	echo "Setting up AP..."
>+	generic-ap-setup
>+	ifconfig $DEV up
>+	echo "AP setup complete"
>+}
>+
>+function mode-ap-wep() {
>+	echo "Setting up AP in AP-WEP mode..."
>+	generic-ap-setup
>+	iwconfig $DEV key s:$WEPKEY1
>+	ifconfig $DEV up
>+	echo "AP setup complete"
>+}
>+
>+function mode-ap-wpa() {
>+	if [[ $# -ne 1 ]]; then
>+		echo "Not enough arguments for mode-ap-wpa()"
>+		usage
>+		exit
>+	fi
>+
>+	case "$1" in
>+		TKIP)
>+		PAIRWISE_ALG="TKIP"
>+		HOSTAPD_CONF="$HOSTAPD_TKIP"
>+		;;
>+		CCMP)
>+		PAIRWISE_ALG="CCMP"
>+		HOSTAPD_CONF="$HOSTAPD_CCMP"
>+		;;
>+		*)
>+		echo -e "Unsupported hostapd pairwise algorithm: $1"
>+		exit;
>+		;;
>+	esac
>+	echo "Setting up AP in AP-$PAIRWISE_ALG mode..."
>+	generic-ap-setup
>+	ifconfig $DEV up
>+	generate-hostapd $PAIRWISE_ALG $HOSTAPD_CONF
>+	hostapd $HOSTAPD_CONF
>+	echo "AP setup complete"
>+}
>+
>+function usage() {
>+	echo -e "Usage: $0 AP-Mode"
>+	echo -e "AP-Modes available:"
>+	echo -e "\tAP\tNo encryption"
>+	echo -e "\tAP-WEP\tWEP encryption"
>+	echo -e "\tAP-TKIP\tTKIP encryption"
>+	echo -e "\tAP-CCMP\tCCMP encryption"
>+}
>+
>+if [[ $# -ne 1 ]]; then
>+	usage
>+	exit
>+fi
>+
>+case "$1" in
>+	AP)
>+	mode-ap;
>+	;;
>+	AP-WEP)
>+	mode-ap-wep;
>+	;;
>+	AP-TKIP)
>+	mode-ap-wpa TKIP;
>+	;;
>+	AP-CCMP)
>+	mode-ap-wpa CCMP;
>+	;;
>+	*)
>+	echo -e "Unsupported AP mode: $1"
>+	usage;
>+	;;
>+esac
>diff --git a/simple/create-client.sh.txt b/simple/create-client.sh.txt
>new file mode 100755
>index 0000000..2c99072
>--- /dev/null
>+++ b/simple/create-client.sh.txt
>@@ -0,0 +1,153 @@
>+#!/bin/bash
>+#
>+# Copyright (c) 2008 Luis R. Rodriguez <mcgrof@xxxxxxxxxxxxxxxxxx>
>+#
>+# Linuxwireless.org generic STA test utility
>+#
>+# Use this script to test Linux wireless drivers
>+# which require to associate to an access point.
>+#
>+#### Configurable items
>+ESSID="linuxwireless.org-testap01"
>+DEV="ath2"
>+# Used for WEP and TKIP and CCMP PSK passphrase
>+WEPKEY1="linuxwireless"
>+MODULE="ath_pci"
>+WPASUPPLICANT_TKIP="/tmp/wpasupplicant.conf.tkip"
>+WPASUPPLICANT_CCMP="/tmp/wpasupplicant.conf.ccmp"
>+#### You should not need to edit anything else bellow
>+
>+function generic-sta-setup() {
>+	echo "Removing module $MODULE..."
>+	rmmod $MODULE
>+	echo "Adding module $MODULE..."
>+	modprobe $MODULE
>+	# Some drivers in AP mode will need this
>+	echo "Letting module breathe for a bit..."
>+	sleep 2
>+	iwconfig $DEV mode Managed
>+	iwconfig $DEV essid $ESSID
>+}
>+
>+function generate-wpasupplicant() {
>+	if [[ $# -ne 2 ]]; then
>+		echo "Not enough arguments for generate-wpasupplicant()"
>+		usage
>+	exit
>+	fi
>+
>+	case "$1" in
>+		TKIP)
>+		PAIRWISE_ALG="TKIP";
>+		GROUPWISE_ALG="TKIP";
>+		;;
>+		CCMP)
>+		PAIRWISE_ALG="CCMP";
>+		GROUPWISE_ALG="CCMP";
>+		;;
>+		*)
>+		echo -e "Unsupported hostapd pairwise algorythm: $1"
>+		exit
>+		;;
>+	esac
>+
>+	echo "
>+#ctrl_interface=/var/run/wpa_supplicant
>+ctrl_interface_group=wheel
>+network={
>+	ssid=\"$ESSID\"
>+	scan_ssid=1
>+	key_mgmt=WPA-PSK
>+	pairwise=$PAIRWISE_ALG
>+	group=$GROUPWISE_ALG
>+	psk=\"$WEPKEY1\"
>+}
>+" > $2
>+}
>+
>+function mode-sta() {
>+	echo "Setting up STA..."
>+	generic-sta-setup
>+	ifconfig $DEV up
>+	echo "STA setup complete"
>+}
>+
>+function mode-sta-wep() {
>+	echo "Setting up AP in AP-WEP mode..."
>+	generic-sta-setup
>+	iwconfig $DEV key s:$WEPKEY1
>+	ifconfig $DEV up
>+	echo "STA setup complete"
>+}
>+
>+function mode-sta-wpa() {
>+	if [[ $# -ne 1 ]]; then
>+		echo "Not enough arguments for mode-sta-wpa()"
>+		usage
>+		exit
>+	fi
>+
>+	case "$1" in
>+		TKIP)
>+		PAIRWISE_ALG="TKIP"
>+		WPASUPPLICANT_CONF="$WPASUPPLICANT_TKIP"
>+		;;
>+		CCMP)
>+		PAIRWISE_ALG="CCMP"
>+		WPASUPPLICANT_CONF="$WPASUPPLICANT_CCMP"
>+		;;
>+		*)
>+		echo -e "Unsupported wpasupplicant pairwise 
>algorithm: $1"
>+		exit
>+		;;
>+	esac
>+	DRIVER="wext"
>+	case "$MODULE" in
>+		ath_pci)
>+			DRIVER="madwifi"
>+		;;
>+		# Drivers should now support wext
>+		*)
>+			DRIVER="wext"
>+		;;
>+	esac
>+	echo "Setting up STA in STA-$PAIRWISE_ALG mode..."
>+	generic-sta-setup
>+	ifconfig $DEV up
>+	generate-wpasupplicant $PAIRWISE_ALG $WPASUPPLICANT_CONF
>+	wpa_supplicant -D${DRIVER} -i${DEV} -c $WPASUPPLICANT_CONF
>+	echo "STA setup complete"
>+}
>+
>+function usage() {
>+	echo -e "Usage: $0 STA-Mode"
>+	echo -e "STA-Modes available:"
>+	echo -e "\tSTA\tNo encryption"
>+	echo -e "\tSTA-WEP\tWEP encryption"
>+	echo -e "\tSTA-TKIP\tTKIP encryption"
>+	echo -e "\tSTA-CCMP\tCCMP encryption"
>+}
>+
>+if [[ $# -ne 1 ]]; then
>+	usage
>+	exit
>+fi
>+
>+case "$1" in
>+	STA)
>+	mode-sta;
>+	;;
>+	STA-WEP)
>+	mode-sta-wep;
>+	;;
>+	STA-TKIP)
>+	mode-sta-wpa TKIP;
>+	;;
>+	STA-CCMP)
>+	mode-sta-wpa CCMP;
>+	;;
>+	*)
>+	echo -e "Unsupported STA mode: $1"
>+	usage;
>+	;;
>+esac
>-- 
>1.6.5.2.155.gbb47
>
>--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux