xref: /freebsd/share/man/man9/ieee80211_bmiss.9 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
1692eebe0SSam Leffler.\"
2692eebe0SSam Leffler.\" Copyright (c) 2009 Sam Leffler, Errno Consulting
3692eebe0SSam Leffler.\" All rights reserved.
4692eebe0SSam Leffler.\"
5692eebe0SSam Leffler.\" Redistribution and use in source and binary forms, with or without
6692eebe0SSam Leffler.\" modification, are permitted provided that the following conditions
7692eebe0SSam Leffler.\" are met:
8692eebe0SSam Leffler.\" 1. Redistributions of source code must retain the above copyright
9692eebe0SSam Leffler.\"    notice, this list of conditions and the following disclaimer.
10692eebe0SSam Leffler.\" 2. Redistributions in binary form must reproduce the above copyright
11692eebe0SSam Leffler.\"    notice, this list of conditions and the following disclaimer in the
12692eebe0SSam Leffler.\"    documentation and/or other materials provided with the distribution.
13692eebe0SSam Leffler.\"
14692eebe0SSam Leffler.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15692eebe0SSam Leffler.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16692eebe0SSam Leffler.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17692eebe0SSam Leffler.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18692eebe0SSam Leffler.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19692eebe0SSam Leffler.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20692eebe0SSam Leffler.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21692eebe0SSam Leffler.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22692eebe0SSam Leffler.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23692eebe0SSam Leffler.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24692eebe0SSam Leffler.\" SUCH DAMAGE.
25692eebe0SSam Leffler.\"
26692eebe0SSam Leffler.Dd August 4, 2009
27692eebe0SSam Leffler.Dt IEEE80211_BMISS 9
28692eebe0SSam Leffler.Os
29692eebe0SSam Leffler.Sh NAME
30692eebe0SSam Leffler.Nm ieee80211_bmiss
31692eebe0SSam Leffler.Nd 802.11 beacon miss support
32692eebe0SSam Leffler.Sh SYNOPSIS
33692eebe0SSam Leffler.In net80211/ieee80211_var.h
34692eebe0SSam Leffler.Pp
35692eebe0SSam Leffler.Ft void
36692eebe0SSam Leffler.Fn ieee80211_beacon_miss "struct ieee80211com *"
37692eebe0SSam Leffler.Sh DESCRIPTION
38692eebe0SSam LefflerThe
39692eebe0SSam Leffler.Nm net80211
40692eebe0SSam Lefflersoftware layer provides a support framework for drivers that includes
41692eebe0SSam Lefflerhandling beacon miss events in station mode.
42692eebe0SSam LefflerDrivers can dispatch beacon miss events that are recognized in hardware or
43692eebe0SSam Leffler.Nm net80211
44692eebe0SSam Lefflercan detect beacon miss if the driver dispatches received beacon frames
45692eebe0SSam Lefflerthrough the normal receive path.
46692eebe0SSam LefflerSoftware beacon miss support is especially useful when multiple vaps
47692eebe0SSam Lefflerare operating and any hardware beacon miss support is not available
48692eebe0SSam Leffler(e.g. operating as an access point together with one or more station
49692eebe0SSam Lefflermode vaps).
50692eebe0SSam Leffler.Pp
51692eebe0SSam LefflerDrivers should dispatch beacon miss events recognized in the driver with
52692eebe0SSam Leffler.Fn ieee80211_beacon_miss .
53692eebe0SSam LefflerThis causes some number of ProbeRequest frames to be sent to the
54692eebe0SSam Leffleraccess point to check if the association is still alive.
55692eebe0SSam LefflerIf no response is received and roaming mode is set to
56692eebe0SSam Leffler.Dv IEEE80211_ROAMING_AUTO
57692eebe0SSam Lefflerthen
58692eebe0SSam Leffler.Nm net80211
59692eebe0SSam Lefflerwill try to re-associate and if that fails
60692eebe0SSam Lefflertrigger a scan to look for the access point or another suitable AP.
61692eebe0SSam LefflerWhen the
62692eebe0SSam Leffler.Nm net80211
63692eebe0SSam Lefflerstate machine is being operated manually, e.g. by
64692eebe0SSam Leffler.Xr wpa_supplicant 8 ,
65692eebe0SSam Lefflerthen applications are notified of the state change and are responsible
66692eebe0SSam Lefflerfor handling the work of scanning for a new access point.
67692eebe0SSam LefflerThe number of beacon miss events (without a ProbeResponse) is user
68692eebe0SSam Lefflersettable with the
69692eebe0SSam Leffler.Dv IEEE80211_IOC_BMISSTHRESHOLD
70692eebe0SSam Lefflerrequest.
71692eebe0SSam Leffler.Pp
72692eebe0SSam LefflerSoftware beacon miss detection is enabled per-vap by setting the
73692eebe0SSam Leffler.Dv IEEE80211_FEXT_SWBMISS
74692eebe0SSam Lefflerflag.
75692eebe0SSam LefflerTypically this is done when a vap is setup
76692eebe0SSam Lefflerwhen the
77692eebe0SSam Leffler.Dv IEEE80211_CLONE_NOBEACONS
78692eebe0SSam Leffleroption is supplied to the clone operation.
79692eebe0SSam LefflerBut drivers may also force this when they know they need help detecting
80692eebe0SSam Lefflerbeacon miss.
81692eebe0SSam LefflerWhen beacon miss is detected in software the event is dispatched without
82692eebe0SSam Lefflerdriver involvement.
83692eebe0SSam LefflerNote that software beacon miss handling is not limited to station mode;
84692eebe0SSam Lefflerit can be used in any operating mode where beacons from a peer station
85692eebe0SSam Lefflerare received.
86692eebe0SSam Leffler.Sh SEE ALSO
87692eebe0SSam Leffler.Xr wpa_supplicant 8 ,
88ace02a6dSChristian Brueffer.Xr ieee80211 9 ,
89ace02a6dSChristian Brueffer.Xr ieee80211_vap 9
90