69 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
mac80211_hwsim - software simulator of 802.11 radio(s) for mac80211
 | 
						|
Copyright (c) 2008, Jouni Malinen <j@w1.fi>
 | 
						|
 | 
						|
This program is free software; you can redistribute it and/or modify
 | 
						|
it under the terms of the GNU General Public License version 2 as
 | 
						|
published by the Free Software Foundation.
 | 
						|
 | 
						|
 | 
						|
Introduction
 | 
						|
 | 
						|
mac80211_hwsim is a Linux kernel module that can be used to simulate
 | 
						|
arbitrary number of IEEE 802.11 radios for mac80211. It can be used to
 | 
						|
test most of the mac80211 functionality and user space tools (e.g.,
 | 
						|
hostapd and wpa_supplicant) in a way that matches very closely with
 | 
						|
the normal case of using real WLAN hardware. From the mac80211 view
 | 
						|
point, mac80211_hwsim is yet another hardware driver, i.e., no changes
 | 
						|
to mac80211 are needed to use this testing tool.
 | 
						|
 | 
						|
The main goal for mac80211_hwsim is to make it easier for developers
 | 
						|
to test their code and work with new features to mac80211, hostapd,
 | 
						|
and wpa_supplicant. The simulated radios do not have the limitations
 | 
						|
of real hardware, so it is easy to generate an arbitrary test setup
 | 
						|
and always reproduce the same setup for future tests. In addition,
 | 
						|
since all radio operation is simulated, any channel can be used in
 | 
						|
tests regardless of regulatory rules.
 | 
						|
 | 
						|
mac80211_hwsim kernel module has a parameter 'radios' that can be used
 | 
						|
to select how many radios are simulated (default 2). This allows
 | 
						|
configuration of both very simply setups (e.g., just a single access
 | 
						|
point and a station) or large scale tests (multiple access points with
 | 
						|
hundreds of stations).
 | 
						|
 | 
						|
mac80211_hwsim works by tracking the current channel of each virtual
 | 
						|
radio and copying all transmitted frames to all other radios that are
 | 
						|
currently enabled and on the same channel as the transmitting
 | 
						|
radio. Software encryption in mac80211 is used so that the frames are
 | 
						|
actually encrypted over the virtual air interface to allow more
 | 
						|
complete testing of encryption.
 | 
						|
 | 
						|
A global monitoring netdev, hwsim#, is created independent of
 | 
						|
mac80211. This interface can be used to monitor all transmitted frames
 | 
						|
regardless of channel.
 | 
						|
 | 
						|
 | 
						|
Simple example
 | 
						|
 | 
						|
This example shows how to use mac80211_hwsim to simulate two radios:
 | 
						|
one to act as an access point and the other as a station that
 | 
						|
associates with the AP. hostapd and wpa_supplicant are used to take
 | 
						|
care of WPA2-PSK authentication. In addition, hostapd is also
 | 
						|
processing access point side of association.
 | 
						|
 | 
						|
 | 
						|
# Build mac80211_hwsim as part of kernel configuration
 | 
						|
 | 
						|
# Load the module
 | 
						|
modprobe mac80211_hwsim
 | 
						|
 | 
						|
# Run hostapd (AP) for wlan0
 | 
						|
hostapd hostapd.conf
 | 
						|
 | 
						|
# Run wpa_supplicant (station) for wlan1
 | 
						|
wpa_supplicant -Dwext -iwlan1 -c wpa_supplicant.conf
 | 
						|
 | 
						|
 | 
						|
More test cases are available in hostap.git:
 | 
						|
git://w1.fi/srv/git/hostap.git and mac80211_hwsim/tests subdirectory
 | 
						|
(http://w1.fi/gitweb/gitweb.cgi?p=hostap.git;a=tree;f=mac80211_hwsim/tests)
 |