xref: /freebsd/share/man/man4/wlan.4 (revision efe3b0de1438e7a8473d92f2be57072394559e3c)
1.\"
2.\" Copyright (c) 2003 Tom Rhodes
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
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.
13.\"
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
24.\" SUCH DAMAGE.
25.\"
26.\" $FreeBSD$
27.\"
28.Dd October 29, 2015
29.Dt WLAN 4
30.Os
31.Sh NAME
32.Nm wlan
33.Nd generic 802.11 link-layer support
34.Sh SYNOPSIS
35.Cd "device wlan"
36.Sh DESCRIPTION
37The
38.Nm
39module provides generic code to support 802.11 drivers.
40Where a device does not directly support 802.11 functionality
41this layer fills in.
42The
43.Nm
44module is required by all native 802.11 drivers as well as the
45.Xr ndis 4
46support.
47.Pp
48.Nm
49supports multi-mode devices capable of
50operating in both 2.4GHz and 5GHz bands and supports numerous
51802.11 standards: 802.11a, 802.11b, 802.11g, 802.11n, and 802.11s (Draft 3.0).
52The WPA, 802.11i, and 802.1x security protocols are supported
53through a combination of in-kernel code and user-mode applications.
54The WME/WMM multi-media protocols are supported entirely within
55the
56.Nm
57module but require a suitably capable hardware device.
58Likewise the 802.11h specification is supported only by suitably
59capable devices.
60.Pp
61Drivers provide 802.11 functionality through
62.Nm
63interfaces that are created at runtime using interface cloning.
64This is done with the
65.Xr ifconfig 8
66.Cm create
67command or using the
68.Va wlans_IFX
69variable in
70.Xr rc.conf 5 .
71Some drivers support the creation of multiple
72.Nm
73interfaces that share the same underlying device;
74this is the way by which ``multi-bss support'' is provided but it
75can also be used to create WDS links and other interesting applications.
76.Pp
77There are several types of
78.Nm
79interfaces that may be created:
80.Bl -tag -width monitor
81.It Cm sta
82A client station in an infrastructure bss
83(i.e. one that associates to an access point).
84.It Cm hostap
85An access point in an infrastructure bss.
86.It Cm mesh
87A mesh station in an MBSS network.
88.It Cm adhoc
89A station in an IBSS network.
90.It Cm ahdemo
91A station operating in ``adhoc demo mode''.
92This is essentially an IBSS station that does not use management
93frames (e.g. no beacons are transmitted).
94An
95.Cm ahdemo
96interface is especially useful for applications that want to transmit
97and receive raw 802.11 packets.
98.It Cm monitor
99An interface used exclusively for capturing 802.11 frames.
100In particular this specified to have read-only properties
101which enables it to be operated on frequencies where one
102would otherwise not be allowed.
103.It Cm wds
104A station that passes 4-address 802.11 traffic for the purpose
105of tunneling traffic over a wireless link.
106Typically this station would share the same MAC address as a
107.Cm hostap
108interface.
109It may be possible to create
110.Cm wds
111interfaces without a companion
112.Cm hostap
113interface but that is not guaranteed; one may need to create a
114.Cm hostap
115interface that does not send beacon frames before
116.Cm wds
117interfaces may be created.
118.El
119.Pp
120Note that an interface's type cannot be changed once it is created.
121.Pp
122.Nm
123defines several mechanisms by which plugin modules may
124be used to extend its functionality.
125Cryptographic support such as WEP, TKIP, and AES-CCMP are implemented
126as standalone modules (if not statically configured into a system)
127that register with
128.Nm .
129Similarly there is an authenticator framework for defining 802.11
130authentication services and a framework for integrating access
131control mechanisms specific to the 802.11 protocol.
132.Sh DEBUGGING
133If the
134.Dv IEEE80211_DEBUG
135option is included in the kernel configuration,
136debugging controls are available using:
137.Pp
138.Dl "sysctl net.wlan.X.debug=mask"
139.Pp
140where
141.Ar X
142is the number of the
143.Nm
144instance and mask is a bit-or of control bits that determine which
145debugging messages to enable.
146For example,
147.Pp
148.Dl "sysctl net.wlan.0.debug=0x00200000"
149.Pp
150enables debugging messages related to scanning for an access point,
151adhoc neighbor, or an unoccupied channel when operation as an access point.
152The
153.Xr wlandebug 8
154tool provides a more user-friendly mechanism for doing the same thing.
155Note that
156.Pp
157.Dl "sysctl net.wlan.debug=mask"
158.Pp
159defines the initial value of the debugging flags for each cloned
160.Nm
161interface; this is useful to enable debug messages during interface creation.
162.Sh COMPATIBILITY
163The module name of
164.Nm
165was used to be compatible with
166.Nx .
167.Pp
168Mesh stations follow the 802.11s Draft 3.0 specification which is
169not ratified and subject to change.
170Beware that this specification is incompatible with earlier drafts;
171and stations implementing earlier drafts (e.g. Linux)
172may not interoperate.
173.Sh SEE ALSO
174.Xr an 4 ,
175.Xr ath 4 ,
176.Xr bwi 4 ,
177.Xr bwn 4 ,
178.Xr ipw 4 ,
179.Xr iwi 4 ,
180.Xr iwm 4 ,
181.Xr iwn 4 ,
182.Xr malo 4 ,
183.Xr mwl 4 ,
184.Xr netintro 4 ,
185.Xr otus 4 ,
186.Xr ral 4 ,
187.Xr rsu 4 ,
188.Xr rtwn 4 ,
189.Xr rum 4 ,
190.Xr run 4 ,
191.Xr uath 4 ,
192.Xr upgt 4 ,
193.Xr ural 4 ,
194.Xr urtw 4 ,
195.Xr wi 4 ,
196.Xr wlan_acl 4 ,
197.Xr wlan_ccmp 4 ,
198.Xr wlan_tkip 4 ,
199.Xr wlan_wep 4 ,
200.Xr wlan_xauth 4 ,
201.Xr wpi 4 ,
202.Xr zyd 4
203.Sh STANDARDS
204More information can be found in the IEEE 802.11 Standards.
205.Sh HISTORY
206The
207.Nm
208driver first appeared in
209.Fx 5.0 .
210.Sh AUTHORS
211Atsushi Onoe is the author of original
212.Nx
213software from which this work began.
214.An -nosplit
215.An Sam Leffler
216brought the code into
217.Fx
218and then rewrote it to support multi-mode devices,
219802.11g, 802.11n, WPA/802.11i, WME, multi-bss, and
220add the extensible frameworks
221for cryptographic, authentication, and access control plugins.
222This manual page was written by
223.An Tom Rhodes Aq Mt trhodes@FreeBSD.org .
224