12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 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 on a single
- device. 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 simulates (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.
- # Load the module (needs to be built into your kernel)
- 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
|