2 .\" Copyright (c) 2009 Sam Leffler, Errno Consulting
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 .\" without modification.
11 .\" 2. Redistributions in binary form must reproduce at minimum a disclaimer
12 .\" similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
13 .\" redistribution must be conditioned upon including a substantially
14 .\" similar Disclaimer requirement for further binary redistribution.
17 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 .\" LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
20 .\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
21 .\" THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
22 .\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
25 .\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
27 .\" THE POSSIBILITY OF SUCH DAMAGES.
36 .Nd standard interface to IEEE 802.11 devices
42 .In net80211/ieee80211_ioctl.h
44 This section describes the standard programming
45 interface to configure and retrieve status information
46 for IEEE 802.11 devices that depend on the
49 The interface is via one
53 .Bl -tag -width ".Dv SIOCG80211"
55 Get configuration or status information.
57 Set configuration information.
60 These requests are made via a modified
63 This structure is defined as follows:
66 char i_name[IFNAMSIZ]; /* if_name, e.g. "wi0" */
67 uint16_t i_type; /* req type */
68 int16_t i_val; /* Index or simple value */
69 int16_t i_len; /* Index or simple value */
70 void *i_data; /* Extra data */
74 Requests that are not supported by the underlying device return
75 -1 and set the global variable errno to
78 requests that return data to an application place small values in
80 or in a user-specified buffer pointed to by
82 When an indirect buffer is used
84 specifies how large the indirect buffer is and on return it is set by the
85 system to the actual amount of data returned.
87 requests use a similar scheme with data passed to the system taken either
90 or an indirect buffer pointed to by
95 the following values of
98 .Bl -tag -width indent
99 .It Dv IEEE80211_IOC_AMPDU
100 Return whether or not AMPDU is enabled in
102 AMPDU is an aggregation scheme that is part of the 802.11n specification
103 and is used only when operating on an HT channel.
104 The value returned is one of:
106 1 (AMPDU enabled for transmit),
107 2 (AMPDU enabled for receive),
109 3 (AMPDU enabled for transmit and receive).
110 The 802.11n specification says a compliant station must receive AMPDU but
111 may not support transmitting AMPDU frames.
112 Disabling AMPDU receive is mainly useful for testing and working around bugs.
113 .It Dv IEEE80211_IOC_AMPDU_DENSITY
114 Return the minimum density for bursting AMPDU frames in
116 The value returned is one of:
117 0 (no time restriction),
126 .It Dv IEEE80211_IOC_AMPDU_LIMIT
127 Return the limit on the size of AMPDU frames in
129 The value returned is one of:
135 .It Dv IEEE80211_IOC_AMSDU
136 Return whether or not AMSDU is enabled in
138 AMSDU is an aggregation scheme that is part of the 802.11n specification
139 and is used only when operating on an HT channel.
140 The value returned is one of:
142 1 (AMSDU enabled for transmit),
143 2 (AMSDU enabled for receive),
145 3 (AMSDU enabled for transmit and receive).
146 The 802.11n specification says a compliant station must receive AMSDU but
147 may not support transmitting AMSDU frames.
148 Disabling AMSDU receive is mainly useful for testing and working around bugs.
149 .It Dv IEEE80211_IOC_AMSDU_LIMIT
150 Return the limit on the size of AMSDU frames in
152 The value returned is one of:
156 Note these values are specified by 802.11n; arbitrary values are not allowed.
157 .It Dv IEEE80211_IOC_APBRIDGE
158 Return whether AP bridging is enabled in
160 Normally packets sent between stations associated
161 to the same access point are delivered without going through system layers
162 that do packet filtering; when AP bridging is disabled packets are
163 passed up the system to be forwarded using some other mechanism.
164 This value will be non-zero when AP bridging is enabled and otherwise zero.
165 .It Dv IEEE80211_IOC_APPIE
166 Return an application information element via
168 Application IE's are maintained for many 802.11 frames; the
169 request must identify the frame to return an IE for in
171 For example, to retrieve the IE sent in each Beacon frame
174 .Va IEEE80211_FC0_SUBTYPE_BEACON | IEEE80211_FC0_TYPE_MGT .
175 If no information element is installed then
178 If the data buffer for returning data is too small to hold the information
179 element the value is truncated; this permits querying the presence of
180 data by requesting zero bytes of data be returned.
181 .It Dv IEEE80211_IOC_AUTHMODE
182 Return the current authentication mode in
185 .Dv IEEE80211_AUTH_NONE
187 .Dv IEEE80211_AUTH_OPEN
188 (open authentication),
189 .Dv IEEE80211_AUTH_SHARED
190 (shared key authentication),
191 .Dv IEEE80211_AUTH_8021X
192 (802.1x only authentication),
194 .Dv IEEE80211_AUTH_WPA
195 (WPA/802.11i/802.1x authentication).
196 .It Dv IEEE80211_IOC_BEACON_INTERVAL
197 Return the time between Beacon frames (in TU) in
199 .It Dv IEEE80211_IOC_BGSCAN
200 Return whether background scanning is enabled in
202 When this value is non-zero and operating in station mode
203 the station will periodically leave
204 the current channel and scan for neighboring stations.
206 .Dv IEEE80211_IOC_BGSCAN_IDLE
208 .Dv IEEE80211_IOC_BGSCAN_INTERVAL .
209 .It Dv IEEE80211_IOC_BGSCAN_IDLE
212 the minimum time (msecs) a station must be idle
213 (i.e. not transmitting or receiving frames)
214 before it will do a background scan.
216 .Dv IEEE80211_IOC_BGSCAN_INTERVAL .
217 .It Dv IEEE80211_IOC_BGSCAN_INTERVAL
220 the minimum time (seconds) between background scan operations.
222 .Dv IEEE80211_IOC_BGSCAN_IDLE .
223 .It Dv IEEE80211_IOC_BMISSTHRESHOLD
226 the number of consecutive missed Beacon frames before the system will
227 attempt to roam to a different/better access point.
228 .It Dv IEEE80211_IOC_BSSID
229 Return the MAC address for the current BSS identifier via
231 When the interface is running, the bssid is either the value
232 configured locally (e.g. for an IBSS network started by the local station)
233 or the value adopted when joining an existing network.
234 For WDS interfaces this value is the address of the remote station.
235 When the interface is not running, the bssid returned is the desired
236 bssid, if any, that has been configured.
237 .It Dv IEEE80211_IOC_BURST
238 Return whether or not packet bursting is enabled in
240 If this value is non-zero then the system will try to send packets closely
241 spaced to improve throughput.
242 .It Dv IEEE80211_IOC_CHANINFO
243 Return the set of available channels via
245 Note this data should be used by user applications to map between
246 channel specifications (frequency and attributes) and IEEE channel numbers
247 as user applications may not have the necessary information to do
248 this directly (e.g. for 900MHz radios, operation in the Public Safety Band).
249 .It Dv IEEE80211_IOC_CHANLIST
250 Return the current list of usable channels via
252 The channel list is returned as a bit vector with bit N set to 1 if
253 IEEE channel number N is available for use.
254 .It Dv IEEE80211_IOC_CHANNEL
255 Return the IEEE channel number of the current channel in
257 Note this request is deprecated; use
258 .Dv IEEE80211_IOC_CURCHAN
260 .It Dv IEEE80211_IOC_COUNTERMEASURES
261 Return whether TKIP Countermeasures are enabled in
263 This value will be non-zero when Countermeasures are enabled and
265 .It Dv IEEE80211_IOC_CURCHAN
266 Return information for the current channel via
268 This information includes the IEEE channel number, the frequency, and
269 attributes that describe the operating constraints (e.g. Passive Scan,
270 DFS, usage restrictions).
271 .It Dv IEEE80211_IOC_DEVCAPS
272 Return device capabilities in the data buffer pointed at by
274 The buffer must be large enough to return the number of available
275 channels but otherwise may be made small to limit how much information
277 .It Dv IEEE80211_IOC_DFS
278 Return whether or not Dynamic Frequency Selection (DFS) is enabled in
280 DFS embodies several facilities including detection of overlapping
281 radar signals, dynamic transmit power control, and channel selection
282 according to a least-congested criteria.
283 DFS support is mandatory for some 5GHz frequencies in certain
285 By default DFS is enabled according to the regulatory definitions
286 and the current country code, regdomain, and channel.
287 .It Dv IEEE80211_IOC_DOTD
288 Return whether or not 802.11d support is enabled in
290 When 802.11d is enabled in station mode, Beacon frames that advertise
291 a country code different than the currently configured country code will
292 cause an event to be dispatched to user applications.
293 This event can be used by the station to adopt that country code and
294 operate according to the associated regulatory constraints.
295 When operating as an access point with 802.11d enabled the Beacon and
296 ProbeResponse frames transmitted will advertise the current regulatory
298 .It Dv IEEE80211_IOC_DOTH
299 Return whether 802.11h support is enabled in
301 When 802.11h is enabled Beacon and ProbeResponse frames will have
302 the SpectrumMgt bit set in the capabilities field and
303 country and power constraint information elements will be present.
304 802.11h support also includes handling Channel Switch Announcements (CSA)
305 which are a mechanism to coordinate channel changes by an access point.
306 By default 802.11h is enabled if the device is capable.
307 .It Dv IEEE80211_IOC_DROPUNENCRYPTED
310 whether unencrypted packets transmit/received should be discarded.
311 This value will be zero if unencrypted packets will be accepted and
312 non-zero if they are to be discarded.
313 .It Dv IEEE80211_IOC_DTIM_PERIOD
314 Return the period (in beacon intervals) between DTIM events in
316 .It Dv IEEE80211_IOC_DWDS
319 whether or not Dynamic WDS support is enabled.
320 Dynamic WDS is a facility by which packets may be tunneled over normal
321 Infrastructure BSS associations using 4-address (WDS) frames.
322 .It Dv IEEE80211_IOC_FF
325 whether Atheros fast-frames support is enabled.
326 Fast-frames is a non-standard protocol extension that aggregates multiple
327 frames to improve throughput.
328 Note that enabling fast-frames support does not guarantee use;
329 the client and access point must negotiate its use.
330 .It Dv IEEE80211_IOC_FRAGTHRESHOLD
333 the threshold (in bytes) for enabling fragmentation frames.
334 Packets larger than this value will automatically be split into multiple
335 fragmented frames that are sent one after the other.
336 .It Dv IEEE80211_IOC_GREENFIELD
339 whether or not Greenfield preamble use is enabled.
340 This setting is meaningful only when operating with 802.11n on an HT channel.
341 .It Dv IEEE80211_IOC_HIDESSID
344 whether SSID hiding/cloaking is enabled.
345 SSID hiding is only meaningful when operating as an access point.
346 When this is enabled Beacon frames do not include the SSID and
347 ProbeRequest frames are not answered unless they include the AP's SSID.
348 This value will be non-zero when SSID hiding is enabled and otherwise zero.
349 .It Dv IEEE80211_IOC_HTCOMPAT
352 whether or not 802.11n compatibility support is enabled.
353 The 802.11n protocol specification went through several incompatible iterations.
354 Some vendors implemented 11n support to older specifications that
355 will not interoperate with a purely 11n-compliant station.
356 In particular the information elements included in management frames
357 for old devices are different.
358 When compatibility support is enabled both standard and compatible data
359 will be provided and/or accepted.
360 .It Dv IEEE80211_IOC_HTCONF
361 Return the setting for automatic promotion of HT channels in
363 Promotion happens when the system must select a channel and may choose
364 between legacy, HT20, and HT40 operation (e.g. when scanning).
366 0 (do not promote, use legacy),
370 .It Dv IEEE80211_IOC_HTPROTMODE
373 the technique used to protect HT frames in a mixed 802.11n network.
375 .Dv IEEE80211_PROTMODE_OFF
376 (no protection enabled)
378 .Dv IEEE80211_PROTMODE_RTSCTS
379 (send RTS and wait for CTS).
380 .It Dv IEEE80211_IOC_HWMP_MAXHOPS
381 Return the maximum acceptable hop count in an HWMP path in
383 .It Dv IEEE80211_IOC_HWMP_ROOTMODE
384 Return the setting for Mesh root mode operation in
387 .Dv IEEE80211_HWMP_ROOTMODE_DISABLED
388 (root mode is disabled),
389 .Dv IEEE80211_HWMP_ROOTMODE_NORMAL
390 (send broadcast Path Request frames),
391 .Dv IEEE80211_HWMP_ROOTMODE_PROACTIVE
392 (send broadcast Path Request frames and force replies)
394 .Dv IEEE80211_HWMP_ROOTMODE_RANN
395 (send broadcast Root Announcement (RANN) frames).
396 .It Dv IEEE80211_IOC_INACTIVITY
397 Return whether or not the system handles inactivity processing in
399 When inactivity processing is enabled the system will track stations
400 that have not transmitted frames and periodically probe them to
401 check if they are still present.
402 Stations that are inactive and do not respond to probes are dropped.
403 .It Dv IEEE80211_IOC_MACCMD
404 Return information about the state of the MAC address
405 access control list (ACL) system.
406 There are two requests supported:
407 .Dv IEEE80211_MACCMD_POLICY
408 (to retrieve the current policy in
411 .Dv IEEE80211_MACCMD_LIST
412 to retrieve the list installed/active ACL's via
416 module must be installed and enabled or
419 .It Dv IEEE80211_IOC_MESH_AP
420 Return whether or not Mesh AP support is enabled in
422 .It Dv IEEE80211_IOC_MESH_ID
423 Return the Mesh ID in the buffer pointed to by
425 .It Dv IEEE80211_IOC_MESH_FWRD
426 Return whether or not packet forwarding support is enabled in
428 .It Dv IEEE80211_IOC_MESH_PP_METRIC
429 Return the link metric protocol in the buffer pointed to by
431 .It Dv IEEE80211_IOC_MESH_PP_PATH
432 Return the path selection protocol in the buffer pointed to by
434 .It Dv IEEE80211_IOC_MESH_RTCMD
435 Return information about the state of the Mesh routing tables.
436 One request is supported:
437 .Dv IEEE80211_MESH_RTCMD_LIST
438 to retrieve the contents of the routing table in the buffer pointed to by
440 .It Dv IEEE80211_IOC_MESH_TTL
443 the Mesh Time To Live (TTL) setting installed in packets
444 transmitted by this mesh node.
445 .It Dv IEEE80211_IOC_NUMSSIDS
446 Return the number of SSIDs supported in
448 .It Dv IEEE80211_IOC_NUMWEPKEYS
449 Return the number of WEP keys supported in
451 .It Dv IEEE80211_IOC_POWERSAVE
452 Return the current powersaving mode in
455 .Dv IEEE80211_POWERSAVE_OFF
456 (power save operation is disabled)
458 .Dv IEEE80211_POWERSAVE_ON
459 (power save operation is enabled).
460 .It Dv IEEE80211_IOC_POWERSAVESLEEP
461 Return the powersave sleep time in TU in
463 This value is also termed the listen interval and represents the maximum time
464 a station will sleep before waking to retrieve packets buffered by
466 .It Dv IEEE80211_IOC_PRIVACY
467 Return the current MLME setting for PRIVACY in
469 When PRIVACY is enabled all data packets must be encrypted.
470 This value will be zero if PRIVACY is disabled and
471 non-zero when PRIVACY is enabled.
472 .It Dv IEEE80211_IOC_PROTMODE
473 Return the current 802.11g protection mode in
475 Protection is the mechanism used to safeguard 802.11b stations operating
476 on an 802.11g network.
478 .Dv IEEE80211_PROTMODE_OFF
479 (no protection enabled),
480 .Dv IEEE80211_PROTMODE_CTS
481 (send CTS to yourself),
483 .Dv IEEE80211_PROTMODE_RTSCTS
484 (send RTS and wait for CTS).
485 .It Dv IEEE80211_IOC_PUREG
486 Return whether ``pure 11g'' mode is enabled in
488 This setting is meaningful only for access point operation;
489 when non-zero, 802.11b stations will not be allowed to associate.
490 .It Dv IEEE80211_IOC_PUREN
491 Return whether ``pure 11n'' mode is enabled in
493 This setting is meaningful only for access point operation;
494 when non-zero, legacy (non-11n capable) stations will not be
495 allowed to associate.
496 .It Dv IEEE80211_IOC_REGDOMAIN
497 Return the regulatory state in the buffer pointed to by
499 .It Dv IEEE80211_IOC_RIFS
500 Return whether or not Reduced InterFrame Spacing (RIFS) is enabled in
502 This setting is meaningful only when operating with 802.11n on an HT channel.
503 .It Dv IEEE80211_IOC_ROAM
504 Return station roaming parameters in the buffer pointed to by
506 .It Dv IEEE80211_IOC_ROAMING
507 Return the current roaming mode in
509 Roaming mode specifies which entity controls operation of the MLME
510 state machine when operating as a station in an Infrastructure BSS.
512 .Dv IEEE80211_ROAMING_DEVICE
513 (driver/firmware is in control),
514 .Dv IEEE80211_ROAMING_AUTO
515 (host 802.11 layer is in control),
517 .Dv IEEE80211_ROAMING_MANUAL
518 (application is in control).
519 .It Dv IEEE80211_IOC_RTSTHRESHOLD
520 Return the threshold (in bytes) for enabling transmission of RTS frames in
522 Packets larger than this value will automatically have an RTS frame
523 sent preceding it to reduce the likelihood of packet loss.
524 .It Dv IEEE80211_IOC_SCAN_RESULTS
525 Return the current contents of the scan cache in the data area pointed to by
527 .It Dv IEEE80211_IOC_SCANVALID
530 how long (in seconds) results from a scan operation will be considered valid.
531 When scan results are no longer valid and they are needed (e.g. to roam) the
532 system will initiate a scan operation to replenish the scan cache.
533 .It Dv IEEE80211_IOC_SHORTGI
534 Return whether or not Short Guard Interval (SGI) is enabled in
536 Note SGI is only used when operating with 802.11n on an HT channel.
537 .It Dv IEEE80211_IOC_SMPS
538 Return the Spatial Multiplexing Power Save (SMPS) setting in
540 This setting is meaningful only when operating with 802.11n on an HT channel.
542 .Dv IEEE80211_HTCAP_SMPS_DYNAMIC
543 (Dynamic SMPS is enabled),
544 .Dv IEEE80211_HTCAP_SMPS_ENA
545 (Static SMPS is enabled),
547 .Dv IEEE80211_HTCAP_SMPS_OFF
549 .It Dv IEEE80211_IOC_SSID
550 Return the requested SSID in the buffer pointed to by
554 is \(>= 0 then the request refers to the configured value for that slot.
555 Generally, 0 is the only valid value, but some interfaces support more
557 .It Dv IEEE80211_IOC_STA_INFO
558 Return information about the current state of the specified station(s) via
560 The MAC address of a single station may be passed in or, if the broadcast
561 address is supplied, information about all stations will be returned.
562 If a single station is requested and the MAC address is unknown then
565 .It Dv IEEE80211_IOC_STA_STATS
566 Return collected statistics for the specified station via
568 The MAC address of the desired station is passed in; if it is unknown
571 .It Dv IEEE80211_IOC_STA_VLAN
572 Return any VLAN tag assigned to a station via
574 .It Dv IEEE80211_IOC_TDMA_SLOT
575 Return the slot number for the station in
577 Slot number zero is the master station in a TDMA network.
578 .It Dv IEEE80211_IOC_TDMA_SLOTCNT
579 Return the count of slots in the TDMA network in
581 .It Dv IEEE80211_IOC_TDMA_SLOTLEN
582 Return the length (in usecs) of the TDMA slot assigned to each
583 station in the network in
585 .It Dv IEEE80211_IOC_TDMA_BINTERVAL
586 Return the number of superframes between Beacon frames in
588 A TDMA network with N slots and slot length T has a superframe of NxT.
589 .It Dv IEEE80211_IOC_TSN
590 Return whether or not Transitional Security Network (TSN) is enabled in
592 .It Dv IEEE80211_IOC_TURBOP
593 Return whether Atheros Dynamic Turbo mode is enabled in
595 Dynamic Turbo mode is a non-standard protocol extension available only
596 on Atheros devices where channel width is dynamically
597 changed between 20MHz and 40MHz.
598 Note that enabling Dynamic Turbo mode support does not guarantee use;
599 both client and access point must use Atheros devices and support must
600 be enabled on both sides.
601 .It Dv IEEE80211_IOC_TXPARAMS
602 Return transmit parameters in the buffer pointed to by
604 .It Dv IEEE80211_IOC_TXPOWER
605 Return the transmit power limit in .5 dBm units in
607 This value represents the effective maximum and is calculated according to
608 the maximum power allowed by local regulations, any user-specified
609 power limit, and the maximum power the device is capable of.
610 .It Dv IEEE80211_IOC_TXPOWMAX
611 Return the user-specified maximum transmit power in .5 dBm units in
613 The maximum setting is applied after any regulatory cap.
614 .It Dv IEEE80211_IOC_WEP
615 Return the current WEP status in
619 (enabled for all packets sent and received),
620 .Dv IEEE80211_WEP_OFF
623 .Dv IEEE80211_WEP_MIXED
624 (enabled for transmit and receive but also willing to receive
626 This request is deprecated; use
627 .Dv IEEE80211_IOC_PRIVACY
629 .Dv IEEE80211_IOC_UNENCRYPTED
631 .It Dv IEEE80211_IOC_WEPKEY
632 Return the requested WEP key via
634 The key number is specified in
637 If the device does not support returning the WEP key or the user is not
638 root then the key may be returned as all zeros.
639 This request is deprecated in favor of
640 .Dv IEEE80211_IOC_WPAKEY .
641 .It Dv IEEE80211_IOC_WEPTXKEY
642 Return the number of the WEP key used for transmission in
644 .It Dv IEEE80211_IOC_WME
645 Return whether 802.11e/WME/WMM support is enabled in
647 This value will be non-zero when support is enabled and otherwise zero.
648 .It Dv IEEE80211_IOC_WME_CWMIN
649 Return the WME CWmin setting (log2) for the specified Access Class (AC) in
651 The AC is passed in through
653 together with an optional IEEE80211_WMEPARAM_BSS flag to indicate if the
654 parameter for the BSS or the channel is desired.
655 If WME is not supported then
658 .It Dv IEEE80211_IOC_WME_CWMAX
659 Return the WME CWmax setting (log2) for the specified Access Class (AC) in
662 .Dv IEEE80211_IOC_WME_CWMIN
663 above for more details.
664 .It Dv IEEE80211_IOC_WME_AIFS
665 Return the WME AIFS setting for the specified Access Class (AC) in
668 .Dv IEEE80211_IOC_WME_CWMIN
669 above for more details.
670 .It Dv IEEE80211_IOC_WME_TXOPLIMIT
671 Return the WME TxOpLimit (msec) for the specified Access Class (AC) in
674 .Dv IEEE80211_IOC_WME_CWMIN
675 above for more details.
676 .It Dv IEEE80211_IOC_WME_ACM
677 Return the WME Admission Control Mechanism (ACM) setting
678 for the specified Access Class (AC) in
680 This value is meaningful only for the BSS (not channel).
682 .Dv IEEE80211_IOC_WME_CWMIN
683 above for more details.
684 .It Dv IEEE80211_IOC_WME_ACKPOLICY
685 Return the WME ACK Policy setting
686 for the specified Access Class (AC) in
688 When this value is zero frames will be transmitted without waiting for
690 This value is meaningful only for the channel (not BSS).
692 .Dv IEEE80211_IOC_WME_CWMIN
693 above for more details.
694 .It Dv IEEE80211_IOC_WPA
695 Return the WPA configuration in
698 0 (WPA is not enabled),
700 2 (WPA2/802.11i is enabled),
702 3 (WPA1 and WPA2/802.11i are both enabled).
703 .It Dv IEEE80211_IOC_WPAIE
704 Return any WPA information element for an associated station via
706 The request passed in through
708 identifies the MAC address of the desired station.
709 If an RSN (802.11i) element is present it is returned; otherwise any WPA
711 Note this request is deprecated; use
712 .Dv IEEE80211_IOC_WPAIE2
714 .It Dv IEEE80211_IOC_WPAIE2
715 Return any WPA information elements for an associated station via
717 The request passed in through
719 identifies the MAC address of the desired station.
720 One or both of RSN (802.11i) and WPA elements may be returned.
721 .It Dv IEEE80211_IOC_WPAKEY
722 Return the requested cryptographic key in the buffer pointed to by
724 The key number is specified in
727 A key number of zero is used to retrieve a station's unicast cipher key
728 when operating with WPA enabled.
729 If the user is not root then the key data returned is all zeros.
730 .It Dv IEEE80211_IOC_WPS
731 Return whether or not Wi-FI Protected Setup (WPS) is enabled in
737 the following values of
740 Note that changing a value on an interface that is running may
741 cause the interface to be
743 Resets may be handled without altering the state if the parameter
744 does not affect the MLME state (e.g. RTS threshold), but in some
745 cases the interface may need to scan for a new network or clear
746 state (including any associated stations); in that case the interface
749 (it is equivalent to marking the interface down and back up).
750 The information below identifies whether changing a value affects the
751 state of a running interface.
752 .Bl -tag -width indent
753 .It Dv IEEE80211_IOC_ADDMAC
754 Add an entry to the MAC address Access Control List (ACL) database using
755 the value pointed to by
759 module must be installed and enabled or
762 .It Dv IEEE80211_IOC_AMPDU
763 Set whether or not AMPDU is enabled for transmit and/or receive
766 This request causes a running interface operating on an HT channel
769 .Dv IEEE80211_IOC_AMPDU
771 .It Dv IEEE80211_IOC_AMPDU_DENSITY
772 Set the minimum density for bursting AMPDU frames to the value in
774 This request causes a running interface to be reset.
776 .Dv IEEE80211_IOC_AMPDU_DENSITY
778 .It Dv IEEE80211_IOC_AMPDU_LIMIT
779 Set the limit on the size of AMPDU frames to the value in
781 This request causes a running interface to be reset.
783 .Dv IEEE80211_IOC_AMPDU_LIMIT
785 .It Dv IEEE80211_IOC_AMSDU
786 Set whether or not AMSDU is enabled for transmit and/or receive
789 This request causes a running interface operating on an HT channel
792 .Dv IEEE80211_IOC_AMSDU
794 .It Dv IEEE80211_IOC_AMSDU_LIMIT
795 Set the limit on the size of AMSDU frames to the value in
797 This request causes a running interface to be reset.
799 .Dv IEEE80211_IOC_AMSDU_LIMIT
801 .It Dv IEEE80211_IOC_APBRIDGE
802 Set whether AP bridging is enabled using the value in
805 .Dv IEEE80211_IOC_APBRIDGE
807 .It Dv IEEE80211_IOC_APPIE
808 Set an application information element using the data pointed to by
810 This request causes a running interface to be restarted if the WPA
811 information element is changed.
813 .Dv IEEE80211_IOC_APPIE
815 .It Dv IEEE80211_IOC_AUTHMODE
816 Set the current authentication mode using the value in
818 This request causes a running interface to be restarted.
820 .Dv IEEE80211_IOC_AUTHMODE
822 This request causes a running interface to be restarted.
823 .It Dv IEEE80211_IOC_BEACON_INTERVAL
824 Set the time between Beacon frames (in TU) to the value in
826 This request causes a running interface to be restarted.
827 .It Dv IEEE80211_IOC_BGSCAN
828 Set whether background scanning is enabled using the value in
830 .It Dv IEEE80211_IOC_BGSCAN_IDLE
831 Set the minimum time (in msecs) a station must be idle
832 before it will do a background scan to the value in
834 .It Dv IEEE80211_IOC_BGSCAN_INTERVAL
835 Set the minimum time (seconds) between background scan operations to the value in
837 .It Dv IEEE80211_IOC_BMISSTHRESHOLD
838 Set the number of consecutive missed Beacon frames before the system will
839 attempt to roam to the value in
841 This request causes a running interface to be reset.
842 .It Dv IEEE80211_IOC_BSSID
843 Set the 802.11 MAC address for the desired BSS identifier according to
845 This request causes a running interface to be restarted.
846 .It Dv IEEE80211_IOC_BURST
847 Set whether or not packet bursting is enabled using the value in
849 This request causes a running interface to be reset.
850 .It Dv IEEE80211_IOC_CHANNEL
851 Set the desired/current channel to the value given by
853 This request causes a running interface to
854 immediately change to the specified channel if possible;
855 otherwise the interface will be restarted.
856 Note this request is deprecated; use
857 .Dv IEEE80211_IOC_CURCHAN
859 .It Dv IEEE80211_IOC_CHANLIST
860 Set the list of available channels using the channel list pointed to by
862 The channel list is a bit vector with bit N set to 1 if
863 IEEE channel number N is available for use.
864 The specified channel list is checked against the set of supported
865 channels and any channels not supported are silently ignored.
866 If the intersection of the channel list and the supported channels is empty
869 Note the current channel may be marked invalid after installing a
871 This request causes a running interface to be restarted.
872 .It Dv IEEE80211_IOC_COUNTERMEASURES
873 Set whether TKIP Countermeasures are enabled using the value in
875 This request can only be used when the authentication mode is set
879 .It Dv IEEE80211_IOC_CURCHAN
880 Set the current channel using the information referenced by
882 This request causes a running interface to
883 immediately change to the specified channel if possible;
884 otherwise the interface will be restarted.
885 .It Dv IEEE80211_IOC_DELKEY
886 Delete the key specified by the information referenced by
888 .It Dv IEEE80211_IOC_DELMAC
889 Remove an entry in the MAC address Access Control List (ACL) database using
890 the value pointed to by
894 module must be installed and enabled or
897 .It Dv IEEE80211_IOC_DFS
898 Set whether or not Dynamic Frequency Selection (DFS) is enabled
901 This request will fail with
903 if 802.11h support is not enabled.
905 .Dv IEEE80211_IOC_DFS
907 .It Dv IEEE80211_IOC_DOTD
908 Set whether or not 802.11d support is enabled using the value in
910 This request causes a running interface to be restarted.
912 .Dv IEEE80211_IOC_DOTD
914 .It Dv IEEE80211_IOC_DOTH
915 Return whether 802.11h support is enabled using the value in
918 .Dv IEEE80211_IOC_DOTH
920 .It Dv IEEE80211_IOC_DROPUNENCRYPTED
921 Set whether unencrypted packets transmit/received should be discarded
924 .It Dv IEEE80211_IOC_DTIM_PERIOD
925 Set the period (in beacon intervals) between DTIM events to the value in
927 This request causes a running interface to be restarted.
928 .It Dv IEEE80211_IOC_DWDS
929 Set whether or not Dynamic WDS support is enabled using the value in
932 .Dv IEEE80211_IOC_DWDS
934 .It Dv IEEE80211_IOC_FF
935 Set whether Atheros fast-frames support is enabled using the value in
937 This request causes a running interface to be restarted.
941 .It Dv IEEE80211_IOC_FRAGTHRESHOLD
942 Set the threshold (in bytes) for enabling fragmentation frames using the value in
944 This request causes a running interface to be reset.
946 .Dv IEEE80211_IOC_FRAGTHRESHOLD
948 .It Dv IEEE80211_IOC_GREENFIELD
949 Set whether or not Greenfield preamble use is enabled using the value in
951 This request causes a running interface to be reset.
953 .Dv IEEE80211_IOC_GREENFIELD
955 .It Dv IEEE80211_IOC_HIDESSID
956 Set whether SSID hiding/cloaking is enabled using the value in
958 This request causes a running interface to be reset.
960 .Dv IEEE80211_IOC_HIDESSID
962 .It Dv IEEE80211_IOC_HTCOMPAT
963 Set whether or not 802.11n compatibility support is enabled using the value in
965 This request causes a running interface to be reset if operating on HT channel.
967 .Dv IEEE80211_IOC_HTCOMPAT
969 .It Dv IEEE80211_IOC_HTCONF
970 Set automatic promotion of HT channels using the value in
972 This request causes a running interface to be restarted.
974 .Dv IEEE80211_IOC_HTCONF
976 .It Dv IEEE80211_IOC_HTPROTMODE
977 Set the technique used to protect HT frames in a mixed 802.11n network
980 This request causes a running interface to be reset.
982 .Dv IEEE80211_IOC_HTPROTMODE
984 .It Dv IEEE80211_IOC_HWMP_MAXHOPS
985 Set the maximum acceptable hop count in an HWMP path according to
987 Values must be in the range [0-255].
988 .It Dv IEEE80211_IOC_HWMP_ROOTMODE
989 Set the Mesh root mode operation according to
992 .Dv IEEE80211_HWMP_ROOTMODE_DISABLED
993 (root mode is disabled),
994 .Dv IEEE80211_HWMP_ROOTMODE_NORMAL
995 (send broadcast Path Request frames),
996 .Dv IEEE80211_HWMP_ROOTMODE_PROACTIVE
997 (send broadcast Path Request frames and force replies)
999 .Dv IEEE80211_HWMP_ROOTMODE_RANN
1000 (send broadcast Root Announcement (RANN) frames).
1001 .It Dv IEEE80211_IOC_INACTIVITY
1002 Set whether or not the system handles inactivity processing using the value in
1004 When inactivity processing is enabled the system will track stations
1005 that have not transmitted frames and periodically probe them to
1006 check if they are still present.
1007 Stations that are inactive and do not respond to probes are dropped.
1008 .It Dv IEEE80211_IOC_MACCMD
1009 Change the state of the MAC address Access Control List (ACL) system.
1010 There are several requests supported:
1011 .Dv IEEE80211_MACCMD_POLICY_OPEN
1012 (set the current policy to disable ACL use),
1013 .Dv IEEE80211_MACCMD_POLICY_ALLOW
1014 (set the current policy to allow only addresses listed in the database),
1015 .Dv IEEE80211_MACCMD_POLICY_DENY
1016 (set the current policy to deny addresses listed in the database),
1017 .Dv IEEE80211_MACCMD_POLICY_RADUS
1018 (set the current policy to enable use of a RADIUS backend),
1019 .Dv IEEE80211_MACCMD_FLUSH
1020 (flush all addresses from the database),
1022 .Dv IEEE80211_MACCMD_DETACH
1023 (detach the ACL subsystem, disabling it).
1026 module must be installed or
1029 .It Dv IEEE80211_IOC_MESH_AP
1030 Set whether or not Mesh AP support is enabled using
1032 .It Dv IEEE80211_IOC_MESH_FWRD
1033 Set whether or not packet forwarding support is enabled using
1035 .It Dv IEEE80211_IOC_MESH_ID
1036 Set the Mesh ID using the value pointed to by
1038 A Mesh ID can be up to
1039 .Dv IEEE80211_MESHID_LEN
1041 .It Dv IEEE80211_IOC_MESH_PP_METRIC
1042 Set the link metric protocol using the value pointed to by
1044 .It Dv IEEE80211_IOC_MESH_PP_PATH
1045 Set the path selection protocol using the value pointed to by
1047 .It Dv IEEE80211_IOC_MESH_RTCMD
1048 Manipulate the state of the Mesh routing tables.
1049 Several requests are supported:
1050 .Dv IEEE80211_MESH_RTCMD_FLUSH
1051 (flush the contents of the routing table),
1052 .Dv IEEE80211_MESH_RTCMD_ADD
1053 (add an entry for the MAC address specified in
1055 and start the Peer discovery process),
1057 .Dv IEEE80211_MESH_RTCMD_DELETE
1058 (delete the entry corresponding to the MAC address specified in
1060 .It Dv IEEE80211_IOC_MESH_TTL
1061 Set the Mesh Time To Live (TTL) setting installed in packets
1062 transmitted by this mesh node using
1064 .It Dv IEEE80211_IOC_MLME
1065 Explicitly control the MLME state machine for a station using the
1066 MLME request pointed to by
1068 There are several MLME operations supported:
1069 .Dv IEEE80211_MLME_ASSOC
1070 (request association to an access point),
1071 .Dv IEEE80211_MLME_DIASSOC
1072 (diassociate the specified station),
1073 .Dv IEEE80211_MLME_DEAUTH
1074 (deauthenticate the specified station),
1075 .Dv IEEE80211_MLME_AUHORIZE
1076 (mark the specified station authorized to pass data frames),
1077 .Dv IEEE80211_MLME_UNAUTHORIZE
1078 (revoke the specified station's ability to pass data frames),
1080 .Dv IEEE80211_MLME_AUTH
1081 (request authentication to an access point).
1082 Note when this facility is used for stations operating in infrastructure mode
1083 the roaming mode should be set to manual.
1084 .It Dv IEEE80211_IOC_POWERSAVE
1085 Set the current powersaving mode to the value in
1088 .Dv IEEE80211_IOC_POWERSAVE
1089 above for valid values.
1090 This request causes a running interface to be reset.
1091 .It Dv IEEE80211_IOC_POWERSAVESLEEP
1092 Set the powersave sleep time in TU to the value in
1094 This request causes a running interface to be reset.
1095 .It Dv IEEE80211_IOC_PRIVACY
1096 Set the current MLME setting for PRIVACY using the value in
1099 .Dv IEEE80211_IOC_PRIVACY
1101 .It Dv IEEE80211_IOC_PROTMODE
1102 Set the current 802.11g protection mode to the value in
1104 This request causes a running interface to be reset.
1106 .Dv IEEE80211_IOC_PROTMODE
1108 This request causes a running interface to be reset.
1109 .It Dv IEEE80211_IOC_PUREG
1110 Set whether ``pure 11g'' mode is enabled using the value in
1112 This request causes a running interface to be restarted.
1114 .Dv IEEE80211_IOC_PUREG
1116 .It Dv IEEE80211_IOC_PUREN
1117 Set whether ``pure 11n'' mode is enabled using the value in
1119 This request causes a running interface to be restarted.
1121 .Dv IEEE80211_IOC_PUREN
1123 .It Dv IEEE80211_IOC_REGDOMAIN
1124 Set the regulatory state using the data referenced by
1126 This request can only be issued when all interfaces cloned from the
1127 underlying physical device are marked down; otherwise
1130 Note the new regulatory data may invalidate any desired channel.
1131 .It Dv IEEE80211_IOC_RIFS
1132 Set whether or not Reduced InterFrame Spacing (RIFS) is enabled
1135 This setting is meaningful only when operating with 802.11n on an HT channel.
1136 This request causes a running interface to be reset.
1137 .It Dv IEEE80211_IOC_ROAM
1138 Set station roaming parameters using the data pointed to by
1140 .It Dv IEEE80211_IOC_ROAMING
1141 Set the current roaming mode to the value in
1144 .Dv IEEE80211_IOC_ROAMING
1146 .It Dv IEEE80211_IOC_RTSTHRESHOLD
1147 Set the threshold (in bytes) for enabling transmission of RTS frames
1150 This request causes a running interface to be reset.
1152 .Dv IEEE80211_IOC_RTSTHRESHOLD
1154 .It Dv IEEE80211_IOC_SCANVALID
1155 Set the age (in seconds) that results from a scan operation will be
1157 When scan results are no longer valid and they are needed (e.g. to roam) the
1158 system will initiate a scan operation to replenish the scan cache.
1159 .It Dv IEEE80211_IOC_SCAN_REQ
1160 Request a scan operation using the parameters pointed to by
1162 The underlying device must be running or
1170 shorter than 1 clock tick are rounded up to a tick.
1171 If more SSID's are supplied than the system is capable of handling
1172 the extra ones are silently ignored.
1173 If a scan operation is already in progress the request will be
1175 .It Dv IEEE80211_IOC_SCAN_CANCEL
1176 Cancel any pending/active scan operation.
1177 .It Dv IEEE80211_IOC_SHORTGI
1178 Set whether or not Short Guard Interval (SGI) is enabled using the value in
1180 Note SGI is only used when operating on an HT (802.11n) channel.
1181 This request causes a running interface to be reset.
1182 .It Dv IEEE80211_IOC_SMPS
1183 Set the Spatial Multiplexing Power Save (SMPS) setting to the value in
1185 This request causes a running interface to be reset.
1187 .Dv IEEE80211_IOC_SMPS
1189 .It Dv IEEE80211_IOC_SSID
1190 Set the desired SSID using the value pointed to by
1192 The string may be at most IEEE80211_NWID_LEN bytes.
1193 This request causes a running interface to be restarted.
1194 .It Dv IEEE80211_IOC_STA_STATS
1195 Clear accumulated statistics for the specified station.
1196 .It Dv IEEE80211_IOC_STA_VLAN
1197 Set the VLAN tag for the specified station using the information pointed to by
1199 .It Dv IEEE80211_IOC_TDMA_BINTERVAL
1200 Set the interval between Beacon frames to the value in
1202 Values must be positive.
1203 This request causes a running interface to be reset.
1204 .It Dv IEEE80211_IOC_TDMA_SLOT
1205 Set the current TDMA slot to the value in
1207 Values must be in the range [0-slotcnt].
1208 Slot 0 identifies the master in the TDMA network; if it running it will
1209 immediately start sending Beacon frames.
1210 .It Dv IEEE80211_IOC_TDMA_SLOTCNT
1211 Set the number of slots in the TDMA network to the value in
1213 This request causes a running interface to be reset.
1214 .It Dv IEEE80211_IOC_TDMA_SLOTLEN
1215 Set the length of the TDMA slot assigned to each station in the network
1218 Slot lengths must be in the range 200 usecs to 1024 milliseconds
1219 (though values outside the range 1-200ms are unlikely to work well).
1220 This request causes a running interface to be reset.
1221 .It Dv IEEE80211_IOC_TSN
1222 Set whether or not Transitional Security Network (TSN) is enabled
1225 .It Dv IEEE80211_IOC_TURBOP
1226 Set whether Atheros Dynamic Turbo mode is enabled using the value in
1228 This request causes a running interface to be restarted.
1229 .It Dv IEEE80211_IOC_TXPARAMS
1230 Set transmit parameters using the data pointed to be
1232 This request causes a running interface to be restarted.
1233 .It Dv IEEE80211_IOC_TXPOWER
1234 Set the maximum transmit power limit in .5 dBm units to the value in
1236 This request causes a running interface to be reset.
1237 .It Dv IEEE80211_IOC_WEP
1238 Set the current WEP mode to the value in
1241 .Dv IEEE80211_IOC_WEP
1242 above for valid values.
1243 This request causes a running interface to be restarted.
1244 Note this request is deprecated; use
1245 .Dv IEEE80211_IOC_PRIVACY
1247 .Dv IEEE80211_IOC_DROPUNENCRYPTED
1249 .It Dv IEEE80211_IOC_WEPKEY
1250 Set the WEP key indicated by
1252 using the data pointed to by
1254 Note this request is deprecated; use
1255 .Dv IEEE80211_IOC_WPAKEY
1257 .It Dv IEEE80211_IOC_WEPTXKEY
1258 Set the default transmit key used for transmission to the value in
1260 .It Dv IEEE80211_IOC_WME
1261 Set whether or not WME/WMM support is enabled using the value in
1263 This request causes a running interface to be reset.
1264 .It Dv IEEE80211_IOC_WME_ACKPOLICY
1265 Set the WME ACK Policy for the Access Class (AC) specified in
1269 .It Dv IEEE80211_IOC_WME_ACM
1270 Set the WME Admission Control Mechanism for the Access Class (AC) specified in
1274 .It Dv IEEE80211_IOC_WME_AIFS
1275 Set the WME AIFS parameter for the Access Class (AC) specified in
1279 .It Dv IEEE80211_IOC_WME_CWMAX
1280 Set the WME CWmax parameter for the Access Class (AC) specified in
1284 .It Dv IEEE80211_IOC_WME_CWMIN
1285 Set the WME CWmin parameter for the Access Class (AC) specified in
1289 .It Dv IEEE80211_IOC_WME_TXOPLIMIT
1290 Set the WME TxOpLimit parameter for the Access Class (AC) specified in
1294 .It Dv IEEE80211_IOC_WPA
1295 Set the WPA configuration using the value in
1297 This request causes a running interface to be reset.
1299 .Dv IEEE80211_IOC_WPA
1301 .It Dv IEEE80211_IOC_WPAKEY
1302 Set the requested cryptographic key using data in the buffer pointed to by
1305 .Dv IEEE80211_IOC_WPAKEY
1307 .It Dv IEEE80211_IOC_WPS
1308 Set whether or not Wi-FI Protected Setup (WPS) is enabled using the value in
1318 .Xr wpa_supplicant 8 .