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