freebsd-nq/share/man/man4/wlan.4

220 lines
6.4 KiB
Groff
Raw Normal View History

.\"
.\" Copyright (c) 2003 Tom Rhodes
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd February 22, 2012
.Dt WLAN 4
.Os
.Sh NAME
.Nm wlan
.Nd generic 802.11 link-layer support
.Sh SYNOPSIS
.Cd "device wlan"
.Sh DESCRIPTION
The
.Nm
module provides generic code to support 802.11 drivers.
Where a device does not directly support 802.11 functionality
this layer fills in.
The
.Nm
module is required by all native 802.11 drivers as well as the
.Xr ndis 4
support.
.Pp
.Nm
supports multi-mode devices capable of
operating in both 2.4GHz and 5GHz bands and supports numerous
Implementation of the upcoming Wireless Mesh standard, 802.11s, on the net80211 wireless stack. This work is based on the March 2009 D3.0 draft standard. This standard is expected to become final next year. This includes two main net80211 modules, ieee80211_mesh.c which deals with peer link management, link metric calculation, routing table control and mesh configuration and ieee80211_hwmp.c which deals with the actually routing process on the mesh network. HWMP is the mandatory routing protocol on by the mesh standard, but others, such as RA-OLSR, can be implemented. Authentication and encryption are not implemented. There are several scripts under tools/tools/net80211/scripts that can be used to test different mesh network topologies and they also teach you how to setup a mesh vap (for the impatient: ifconfig wlan0 create wlandev ... wlanmode mesh). A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled by default on GENERIC kernels for i386, amd64, sparc64 and pc98. Drivers that support mesh networks right now are: ath, ral and mwl. More information at: http://wiki.freebsd.org/WifiMesh Please note that this work is experimental. Also, please note that bridging a mesh vap with another network interface is not yet supported. Many thanks to the FreeBSD Foundation for sponsoring this project and to Sam Leffler for his support. Also, I would like to thank Gateworks Corporation for sending me a Cambria board which was used during the development of this project. Reviewed by: sam Approved by: re (kensmith) Obtained from: projects/mesh11s
2009-07-11 15:02:45 +00:00
802.11 standards: 802.11a, 802.11b, 802.11g, 802.11n, and 802.11s (Draft 3.0).
The WPA, 802.11i, and 802.1x security protocols are supported
through a combination of in-kernel code and user-mode applications.
The WME/WMM multi-media protocols are supported entirely within
the
.Nm
module but require a suitably capable hardware device.
Likewise the 802.11h specification is supported only by suitably
capable devices.
.Pp
Drivers provide 802.11 functionality through
.Nm
interfaces that are created at runtime using interface cloning.
This is done with the
.Xr ifconfig 8
.Cm create
command or using the
.Va wlans_IFX
variable in
.Xr rc.conf 5 .
Some drivers support the creation of multiple
.Nm
interfaces that share the same underlying device;
this is the way by which ``multi-bss support'' is provided but it
can also be used to create WDS links and other interesting applications.
.Pp
There are several types of
.Nm
interfaces that may be created:
.Bl -tag -width monitor
.It Cm sta
A client station in an infrastructure bss
(i.e. one that associates to an access point).
.It Cm hostap
An access point in an infrastructure bss.
Implementation of the upcoming Wireless Mesh standard, 802.11s, on the net80211 wireless stack. This work is based on the March 2009 D3.0 draft standard. This standard is expected to become final next year. This includes two main net80211 modules, ieee80211_mesh.c which deals with peer link management, link metric calculation, routing table control and mesh configuration and ieee80211_hwmp.c which deals with the actually routing process on the mesh network. HWMP is the mandatory routing protocol on by the mesh standard, but others, such as RA-OLSR, can be implemented. Authentication and encryption are not implemented. There are several scripts under tools/tools/net80211/scripts that can be used to test different mesh network topologies and they also teach you how to setup a mesh vap (for the impatient: ifconfig wlan0 create wlandev ... wlanmode mesh). A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled by default on GENERIC kernels for i386, amd64, sparc64 and pc98. Drivers that support mesh networks right now are: ath, ral and mwl. More information at: http://wiki.freebsd.org/WifiMesh Please note that this work is experimental. Also, please note that bridging a mesh vap with another network interface is not yet supported. Many thanks to the FreeBSD Foundation for sponsoring this project and to Sam Leffler for his support. Also, I would like to thank Gateworks Corporation for sending me a Cambria board which was used during the development of this project. Reviewed by: sam Approved by: re (kensmith) Obtained from: projects/mesh11s
2009-07-11 15:02:45 +00:00
.It Cm mesh
A mesh station in an MBSS network.
.It Cm adhoc
A station in an IBSS network.
.It Cm ahdemo
A station operating in ``adhoc demo mode''.
This is essentially an IBSS station that does not use management
frames (e.g. no beacons are transmitted).
An
.Cm ahdemo
interface is especially useful for applications that want to transmit
and receive raw 802.11 packets.
.It Cm monitor
An interface used exclusively for capturing 802.11 frames.
In particular this specified to have read-only properties
which enables it to be operated on frequencies where one
would otherwise not be allowed.
.It Cm wds
A station that passes 4-address 802.11 traffic for the purpose
of tunneling traffic over a wireless link.
Typically this station would share the same MAC address as a
.Cm hostap
interface.
It may be possible to create
.Cm wds
interfaces without a companion
.Cm hostap
interface but that is not guaranteed; one may need to create a
.Cm hostap
interface that does not send beacon frames before
.Cm wds
interfaces may be created.
.El
.Pp
Note that an interface's type cannot be changed once it is created.
.Pp
.Nm
defines several mechanisms by which plugin modules may
be used to extend its functionality.
Cryptographic support such as WEP, TKIP, and AES-CCMP are implemented
as standalone modules (if not statically configured into a system)
that register with
.Nm .
Similarly there is an authenticator framework for defining 802.11
authentication services and a framework for integrating access
control mechanisms specific to the 802.11 protocol.
.Sh DEBUGGING
If the
.Dv IEEE80211_DEBUG
option is included in the kernel configuration,
debugging controls are available using:
.Pp
.Dl "sysctl net.wlan.X.debug=mask"
.Pp
2005-01-12 10:14:43 +00:00
where
.Ar X
is the number of the
.Nm
instance and mask is a bit-or of control bits that determine which
debugging messages to enable.
For example,
2005-01-12 10:14:43 +00:00
.Pp
.Dl "sysctl net.wlan.0.debug=0x00200000"
.Pp
enables debugging messages related to scanning for an access point,
adhoc neighbor, or an unoccupied channel when operation as an access point.
The
.Xr wlandebug 8
tool provides a more user-friendly mechanism for doing the same thing.
Note that
.Pp
.Dl "sysctl net.wlan.debug=mask"
.Pp
defines the initial value of the debugging flags for each cloned
.Nm
interface; this is useful to enable debug messages during interface creation.
.Sh COMPATIBILITY
The module name of
.Nm
was used to be compatible with
.Nx .
Implementation of the upcoming Wireless Mesh standard, 802.11s, on the net80211 wireless stack. This work is based on the March 2009 D3.0 draft standard. This standard is expected to become final next year. This includes two main net80211 modules, ieee80211_mesh.c which deals with peer link management, link metric calculation, routing table control and mesh configuration and ieee80211_hwmp.c which deals with the actually routing process on the mesh network. HWMP is the mandatory routing protocol on by the mesh standard, but others, such as RA-OLSR, can be implemented. Authentication and encryption are not implemented. There are several scripts under tools/tools/net80211/scripts that can be used to test different mesh network topologies and they also teach you how to setup a mesh vap (for the impatient: ifconfig wlan0 create wlandev ... wlanmode mesh). A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled by default on GENERIC kernels for i386, amd64, sparc64 and pc98. Drivers that support mesh networks right now are: ath, ral and mwl. More information at: http://wiki.freebsd.org/WifiMesh Please note that this work is experimental. Also, please note that bridging a mesh vap with another network interface is not yet supported. Many thanks to the FreeBSD Foundation for sponsoring this project and to Sam Leffler for his support. Also, I would like to thank Gateworks Corporation for sending me a Cambria board which was used during the development of this project. Reviewed by: sam Approved by: re (kensmith) Obtained from: projects/mesh11s
2009-07-11 15:02:45 +00:00
.Pp
Mesh stations follow the 802.11s Draft 3.0 specification which is
not ratified and subject to change.
Beware that this specification is incompatible with earlier drafts;
and stations implementing earlier drafts (e.g. Linux)
may not interoperate.
.Sh SEE ALSO
.Xr an 4 ,
.Xr ath 4 ,
2009-05-15 10:11:54 +00:00
.Xr bwi 4 ,
.Xr bwn 4 ,
.Xr ipw 4 ,
.Xr iwi 4 ,
.Xr iwn 4 ,
2009-03-26 04:17:35 +00:00
.Xr malo 4 ,
.Xr mwl 4 ,
.Xr netintro 4 ,
.Xr ral 4 ,
2007-06-06 07:58:03 +00:00
.Xr rum 4 ,
.Xr run 4 ,
2009-05-15 10:11:54 +00:00
.Xr uath 4 ,
.Xr upgt 4 ,
.Xr ural 4 ,
2009-05-15 10:11:54 +00:00
.Xr urtw 4 ,
.Xr wi 4 ,
2005-01-12 10:22:58 +00:00
.Xr wlan_acl 4 ,
.Xr wlan_ccmp 4 ,
2005-01-12 10:22:58 +00:00
.Xr wlan_tkip 4 ,
.Xr wlan_wep 4 ,
2007-09-06 20:15:04 +00:00
.Xr wlan_xauth 4 ,
2007-11-13 16:42:22 +00:00
.Xr wpi 4 ,
2007-09-06 20:15:04 +00:00
.Xr zyd 4
.Sh STANDARDS
More information can be found in the IEEE 802.11 Standards.
.Sh HISTORY
The
.Nm
driver first appeared in
.Fx 5.0 .
.Sh AUTHORS
Atsushi Onoe is the author of original
.Nx
software from which this work began.
.An -nosplit
.An Sam Leffler
brought the code into
.Fx
and then rewrote it to support multi-mode devices,
802.11g, 802.11n, WPA/802.11i, WME, multi-bss, and
add the extensible frameworks
for cryptographic, authentication, and access control plugins.
This manual page was written by
.An Tom Rhodes Aq trhodes@FreeBSD.org .