About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / networking / mac80211_hwsim / README


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:53 EST.

1	mac80211_hwsim - software simulator of 802.11 radio(s) for mac80211
2	Copyright (c) 2008, Jouni Malinen <j@w1.fi>
3	
4	This program is free software; you can redistribute it and/or modify
5	it under the terms of the GNU General Public License version 2 as
6	published by the Free Software Foundation.
7	
8	
9	Introduction
10	
11	mac80211_hwsim is a Linux kernel module that can be used to simulate
12	arbitrary number of IEEE 802.11 radios for mac80211. It can be used to
13	test most of the mac80211 functionality and user space tools (e.g.,
14	hostapd and wpa_supplicant) in a way that matches very closely with
15	the normal case of using real WLAN hardware. From the mac80211 view
16	point, mac80211_hwsim is yet another hardware driver, i.e., no changes
17	to mac80211 are needed to use this testing tool.
18	
19	The main goal for mac80211_hwsim is to make it easier for developers
20	to test their code and work with new features to mac80211, hostapd,
21	and wpa_supplicant. The simulated radios do not have the limitations
22	of real hardware, so it is easy to generate an arbitrary test setup
23	and always reproduce the same setup for future tests. In addition,
24	since all radio operation is simulated, any channel can be used in
25	tests regardless of regulatory rules.
26	
27	mac80211_hwsim kernel module has a parameter 'radios' that can be used
28	to select how many radios are simulated (default 2). This allows
29	configuration of both very simply setups (e.g., just a single access
30	point and a station) or large scale tests (multiple access points with
31	hundreds of stations).
32	
33	mac80211_hwsim works by tracking the current channel of each virtual
34	radio and copying all transmitted frames to all other radios that are
35	currently enabled and on the same channel as the transmitting
36	radio. Software encryption in mac80211 is used so that the frames are
37	actually encrypted over the virtual air interface to allow more
38	complete testing of encryption.
39	
40	A global monitoring netdev, hwsim#, is created independent of
41	mac80211. This interface can be used to monitor all transmitted frames
42	regardless of channel.
43	
44	
45	Simple example
46	
47	This example shows how to use mac80211_hwsim to simulate two radios:
48	one to act as an access point and the other as a station that
49	associates with the AP. hostapd and wpa_supplicant are used to take
50	care of WPA2-PSK authentication. In addition, hostapd is also
51	processing access point side of association.
52	
53	
54	# Build mac80211_hwsim as part of kernel configuration
55	
56	# Load the module
57	modprobe mac80211_hwsim
58	
59	# Run hostapd (AP) for wlan0
60	hostapd hostapd.conf
61	
62	# Run wpa_supplicant (station) for wlan1
63	wpa_supplicant -Dnl80211 -iwlan1 -c wpa_supplicant.conf
64	
65	
66	More test cases are available in hostap.git:
67	git://w1.fi/srv/git/hostap.git and mac80211_hwsim/tests subdirectory
68	(http://w1.fi/gitweb/gitweb.cgi?p=hostap.git;a=tree;f=mac80211_hwsim/tests)
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog