0% found this document useful (0 votes)
66 views2 pages

Linux Wireless: About Mac80211

Uploaded by

sunday sunday7
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views2 pages

Linux Wireless: About Mac80211

Uploaded by

sunday sunday7
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Linux Wireless

About mac80211
mac80211 is a framework which driver developers can use to write drivers for SoftMAC wireless devices.

SoftMAC devices allow for a finer control of the hardware, allowing for 802.11 frame management to be done in software
for them, for both parsing and generation of 802.11 wireless frames. Most 802.11 devices today tend to be of this type.

mac80211 implements the cfg80211 callbacks for SoftMAC devices, mac80211 then depends on cfg80211 for both
registration to the networking subsystem and for configuration. Configuration is handled by cfg80211 both through nl80211
and wireless extensions.

In mac80211 the MLME is done in the kernel for station mode (STA) and in userspace for AP mode (hostapd).

If you have new userspace utilities which support nl80211 you do not need wireless-extensions to support a mac80211
device.

Supported features
Here is a quick review of the features supported in mac80211.

IEEE 802.11abgn
IEEE 802.11d
Integration of work for the emerging 802.11s standard
Roaming using wpa_supplicant (802.11r as well). See Roaming TODO section for more details
Different types of interfaces, see supported wireless modes for details.
Vendor specific rate support
QoS
all mac80211 drivers get monitor mode support

The mac80211 book


We are working on a set of documentation books [http://wireless.kernel.org/80211books/], including one for mac80211, which
are generated from comments in the various source files. You will find a more thorough review of mac80211 in the
mac80211 book; the wiki pages can be used as a quick reference for mac80211 development. The book incorporates the
kernel-doc docs below.

mac80211 driver API


The new mac80211 driver interface semantics gives an overview of the expected and suggested driver behavior.

The API page lists notes about using the driver API.

The tracing page has notes on how to trace what mac80211 is asking the driver to do.

Sequence diagrams:

auth/assoc/deauth diagram
HW scan diagram

mac80211 drivers
mac80211 drivers are listed on the drivers table
mac80211 802.11d support
mac80211 supports 802.11d by processing country information element on beacons after association with an AP. You should
still be able to associate to the AP in your region as cfg80211 allows users to set the regulatory domain from userspace
before country information elements are parsed, this is expected to be set via wpa_supplicant upon initialization. We let
cfg80211 parse the country information element for us and deal with reviewing regulatory enforcement for us. To review
that please see cfg80211's regulatory support.

802.11n and WEP or TKIP


IEEE 802.11n does not allow TKIP/WEP as pairwise ciphers in HT mode. If any of these ciphers are found to be used by the
AP when a STA tries to associate to it:

WLAN_CIPHER_SUITE_WEP40
WLAN_CIPHER_SUITE_TKIP
WLAN_CIPHER_SUITE_WEP104

then 802.11n will be disabled and the STA will fall back to legacy mode of operation: 802.11a/b/g.

other documentation
Johannes Berg's presentation

en/developers/documentation/mac80211.txt · Last modified: 2015/06/12 07:45 by Johannes Berg

You might also like