2 .\" Copyright (c) 2003 Tom Rhodes
3 .\" All rights reserved.
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .\" $FreeBSD: head/share/man/man4/wlan.4 290127 2015-10-29 03:22:27Z kevlo $
33 .Nd generic 802.11 link-layer support
39 module provides generic code to support 802.11 drivers.
40 Where a device does not directly support 802.11 functionality
44 module is required by all native 802.11 drivers as well as the
49 supports multi-mode devices capable of
50 operating in both 2.4GHz and 5GHz bands and supports numerous
51 802.11 standards: 802.11a, 802.11b, 802.11g, 802.11n, and 802.11s (Draft 3.0).
52 The WPA, 802.11i, and 802.1x security protocols are supported
53 through a combination of in-kernel code and user-mode applications.
54 The WME/WMM multi-media protocols are supported entirely within
57 module but require a suitably capable hardware device.
58 Likewise the 802.11h specification is supported only by suitably
61 Drivers provide 802.11 functionality through
63 interfaces that are created at runtime using interface cloning.
71 Some drivers support the creation of multiple
73 interfaces that share the same underlying device;
74 this is the way by which ``multi-bss support'' is provided but it
75 can also be used to create WDS links and other interesting applications.
77 There are several types of
79 interfaces that may be created:
80 .Bl -tag -width monitor
82 A client station in an infrastructure bss
83 (i.e. one that associates to an access point).
85 An access point in an infrastructure bss.
87 A mesh station in an MBSS network.
89 A station in an IBSS network.
91 A station operating in ``adhoc demo mode''.
92 This is essentially an IBSS station that does not use management
93 frames (e.g. no beacons are transmitted).
96 interface is especially useful for applications that want to transmit
97 and receive raw 802.11 packets.
99 An interface used exclusively for capturing 802.11 frames.
100 In particular this specified to have read-only properties
101 which enables it to be operated on frequencies where one
102 would otherwise not be allowed.
104 A station that passes 4-address 802.11 traffic for the purpose
105 of tunneling traffic over a wireless link.
106 Typically this station would share the same MAC address as a
109 It may be possible to create
111 interfaces without a companion
113 interface but that is not guaranteed; one may need to create a
115 interface that does not send beacon frames before
117 interfaces may be created.
120 Note that an interface's type cannot be changed once it is created.
123 defines several mechanisms by which plugin modules may
124 be used to extend its functionality.
125 Cryptographic support such as WEP, TKIP, and AES-CCMP are implemented
126 as standalone modules (if not statically configured into a system)
129 Similarly there is an authenticator framework for defining 802.11
130 authentication services and a framework for integrating access
131 control mechanisms specific to the 802.11 protocol.
135 option is included in the kernel configuration,
136 debugging controls are available using:
138 .Dl "sysctl net.wlan.X.debug=mask"
144 instance and mask is a bit-or of control bits that determine which
145 debugging messages to enable.
148 .Dl "sysctl net.wlan.0.debug=0x00200000"
150 enables debugging messages related to scanning for an access point,
151 adhoc neighbor, or an unoccupied channel when operation as an access point.
154 tool provides a more user-friendly mechanism for doing the same thing.
157 .Dl "sysctl net.wlan.debug=mask"
159 defines the initial value of the debugging flags for each cloned
161 interface; this is useful to enable debug messages during interface creation.
165 was used to be compatible with
168 Mesh stations follow the 802.11s Draft 3.0 specification which is
169 not ratified and subject to change.
170 Beware that this specification is incompatible with earlier drafts;
171 and stations implementing earlier drafts (e.g. Linux)
172 may not interoperate.
203 More information can be found in the IEEE 802.11 Standards.
207 driver first appeared in
212 is the author of the original
214 software from which this work began.
216 brought the code into
218 and then rewrote it to support multi-mode devices,
219 802.11g, 802.11n, WPA/802.11i, WME, multi-bss, and
220 add the extensible frameworks
221 for cryptographic, authentication, and access control plugins.
222 This manual page was written by
223 .An Tom Rhodes Aq Mt trhodes@FreeBSD.org .