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_IC_NAME
397 Return the underlying hardware
399 name in the buffer pointed to by
401 and the name length including terminating NUL character in
403 If the buffer length is too small to hold the full name
406 .It Dv IEEE80211_IOC_INACTIVITY
407 Return whether or not the system handles inactivity processing in
409 When inactivity processing is enabled the system will track stations
410 that have not transmitted frames and periodically probe them to
411 check if they are still present.
412 Stations that are inactive and do not respond to probes are dropped.
413 .It Dv IEEE80211_IOC_MACCMD
414 Return information about the state of the MAC address
415 access control list (ACL) system.
416 There are two requests supported:
417 .Dv IEEE80211_MACCMD_POLICY
418 (to retrieve the current policy in
421 .Dv IEEE80211_MACCMD_LIST
422 to retrieve the list installed/active ACL's via
426 module must be installed and enabled or
429 .It Dv IEEE80211_IOC_MESH_AP
430 Return whether or not Mesh AP support is enabled in
432 .It Dv IEEE80211_IOC_MESH_ID
433 Return the Mesh ID in the buffer pointed to by
435 .It Dv IEEE80211_IOC_MESH_FWRD
436 Return whether or not packet forwarding support is enabled in
438 .It Dv IEEE80211_IOC_MESH_PP_METRIC
439 Return the link metric protocol in the buffer pointed to by
441 .It Dv IEEE80211_IOC_MESH_PP_PATH
442 Return the path selection protocol in the buffer pointed to by
444 .It Dv IEEE80211_IOC_MESH_RTCMD
445 Return information about the state of the Mesh routing tables.
446 One request is supported:
447 .Dv IEEE80211_MESH_RTCMD_LIST
448 to retrieve the contents of the routing table in the buffer pointed to by
450 .It Dv IEEE80211_IOC_MESH_TTL
453 the Mesh Time To Live (TTL) setting installed in packets
454 transmitted by this mesh node.
455 .It Dv IEEE80211_IOC_NUMSSIDS
456 Return the number of SSIDs supported in
458 .It Dv IEEE80211_IOC_NUMWEPKEYS
459 Return the number of WEP keys supported in
461 .It Dv IEEE80211_IOC_POWERSAVE
462 Return the current powersaving mode in
465 .Dv IEEE80211_POWERSAVE_OFF
466 (power save operation is disabled)
468 .Dv IEEE80211_POWERSAVE_ON
469 (power save operation is enabled).
470 .It Dv IEEE80211_IOC_POWERSAVESLEEP
471 Return the powersave sleep time in TU in
473 This value is also termed the listen interval and represents the maximum time
474 a station will sleep before waking to retrieve packets buffered by
476 .It Dv IEEE80211_IOC_PRIVACY
477 Return the current MLME setting for PRIVACY in
479 When PRIVACY is enabled all data packets must be encrypted.
480 This value will be zero if PRIVACY is disabled and
481 non-zero when PRIVACY is enabled.
482 .It Dv IEEE80211_IOC_PROTMODE
483 Return the current 802.11g protection mode in
485 Protection is the mechanism used to safeguard 802.11b stations operating
486 on an 802.11g network.
488 .Dv IEEE80211_PROTMODE_OFF
489 (no protection enabled),
490 .Dv IEEE80211_PROTMODE_CTS
491 (send CTS to yourself),
493 .Dv IEEE80211_PROTMODE_RTSCTS
494 (send RTS and wait for CTS).
495 .It Dv IEEE80211_IOC_PUREG
496 Return whether ``pure 11g'' mode is enabled in
498 This setting is meaningful only for access point operation;
499 when non-zero, 802.11b stations will not be allowed to associate.
500 .It Dv IEEE80211_IOC_PUREN
501 Return whether ``pure 11n'' mode is enabled in
503 This setting is meaningful only for access point operation;
504 when non-zero, legacy (non-11n capable) stations will not be
505 allowed to associate.
506 .It Dv IEEE80211_IOC_REGDOMAIN
507 Return the regulatory state in the buffer pointed to by
509 .It Dv IEEE80211_IOC_RIFS
510 Return whether or not Reduced InterFrame Spacing (RIFS) is enabled in
512 This setting is meaningful only when operating with 802.11n on an HT channel.
513 .It Dv IEEE80211_IOC_ROAM
514 Return station roaming parameters in the buffer pointed to by
516 .It Dv IEEE80211_IOC_ROAMING
517 Return the current roaming mode in
519 Roaming mode specifies which entity controls operation of the MLME
520 state machine when operating as a station in an Infrastructure BSS.
522 .Dv IEEE80211_ROAMING_DEVICE
523 (driver/firmware is in control),
524 .Dv IEEE80211_ROAMING_AUTO
525 (host 802.11 layer is in control),
527 .Dv IEEE80211_ROAMING_MANUAL
528 (application is in control).
529 .It Dv IEEE80211_IOC_RTSTHRESHOLD
530 Return the threshold (in bytes) for enabling transmission of RTS frames in
532 Packets larger than this value will automatically have an RTS frame
533 sent preceding it to reduce the likelihood of packet loss.
534 .It Dv IEEE80211_IOC_SCAN_RESULTS
535 Return the current contents of the scan cache in the data area pointed to by
537 .It Dv IEEE80211_IOC_SCANVALID
540 how long (in seconds) results from a scan operation will be considered valid.
541 When scan results are no longer valid and they are needed (e.g. to roam) the
542 system will initiate a scan operation to replenish the scan cache.
543 .It Dv IEEE80211_IOC_SHORTGI
544 Return whether or not Short Guard Interval (SGI) is enabled in
546 Note SGI is only used when operating with 802.11n on an HT channel.
547 .It Dv IEEE80211_IOC_SMPS
548 Return the Spatial Multiplexing Power Save (SMPS) setting in
550 This setting is meaningful only when operating with 802.11n on an HT channel.
552 .Dv IEEE80211_HTCAP_SMPS_DYNAMIC
553 (Dynamic SMPS is enabled),
554 .Dv IEEE80211_HTCAP_SMPS_ENA
555 (Static SMPS is enabled),
557 .Dv IEEE80211_HTCAP_SMPS_OFF
559 .It Dv IEEE80211_IOC_SSID
560 Return the requested SSID in the buffer pointed to by
564 is \(>= 0 then the request refers to the configured value for that slot.
565 Generally, 0 is the only valid value, but some interfaces support more
567 .It Dv IEEE80211_IOC_STA_INFO
568 Return information about the current state of the specified station(s) via
570 The MAC address of a single station may be passed in or, if the broadcast
571 address is supplied, information about all stations will be returned.
572 If a single station is requested and the MAC address is unknown then
575 .It Dv IEEE80211_IOC_STA_STATS
576 Return collected statistics for the specified station via
578 The MAC address of the desired station is passed in; if it is unknown
581 .It Dv IEEE80211_IOC_STA_VLAN
582 Return any VLAN tag assigned to a station via
584 .It Dv IEEE80211_IOC_TDMA_SLOT
585 Return the slot number for the station in
587 Slot number zero is the master station in a TDMA network.
588 .It Dv IEEE80211_IOC_TDMA_SLOTCNT
589 Return the count of slots in the TDMA network in
591 .It Dv IEEE80211_IOC_TDMA_SLOTLEN
592 Return the length (in usecs) of the TDMA slot assigned to each
593 station in the network in
595 .It Dv IEEE80211_IOC_TDMA_BINTERVAL
596 Return the number of superframes between Beacon frames in
598 A TDMA network with N slots and slot length T has a superframe of NxT.
599 .It Dv IEEE80211_IOC_TSN
600 Return whether or not Transitional Security Network (TSN) is enabled in
602 .It Dv IEEE80211_IOC_TURBOP
603 Return whether Atheros Dynamic Turbo mode is enabled in
605 Dynamic Turbo mode is a non-standard protocol extension available only
606 on Atheros devices where channel width is dynamically
607 changed between 20MHz and 40MHz.
608 Note that enabling Dynamic Turbo mode support does not guarantee use;
609 both client and access point must use Atheros devices and support must
610 be enabled on both sides.
611 .It Dv IEEE80211_IOC_TXPARAMS
612 Return transmit parameters in the buffer pointed to by
614 .It Dv IEEE80211_IOC_TXPOWER
615 Return the transmit power limit in .5 dBm units in
617 This value represents the effective maximum and is calculated according to
618 the maximum power allowed by local regulations, any user-specified
619 power limit, and the maximum power the device is capable of.
620 .It Dv IEEE80211_IOC_TXPOWMAX
621 Return the user-specified maximum transmit power in .5 dBm units in
623 The maximum setting is applied after any regulatory cap.
624 .It Dv IEEE80211_IOC_WEP
625 Return the current WEP status in
629 (enabled for all packets sent and received),
630 .Dv IEEE80211_WEP_OFF
633 .Dv IEEE80211_WEP_MIXED
634 (enabled for transmit and receive but also willing to receive
636 This request is deprecated; use
637 .Dv IEEE80211_IOC_PRIVACY
639 .Dv IEEE80211_IOC_UNENCRYPTED
641 .It Dv IEEE80211_IOC_WEPKEY
642 Return the requested WEP key via
644 The key number is specified in
647 If the device does not support returning the WEP key or the user is not
648 root then the key may be returned as all zeros.
649 This request is deprecated in favor of
650 .Dv IEEE80211_IOC_WPAKEY .
651 .It Dv IEEE80211_IOC_WEPTXKEY
652 Return the number of the WEP key used for transmission in
654 .It Dv IEEE80211_IOC_WME
655 Return whether 802.11e/WME/WMM support is enabled in
657 This value will be non-zero when support is enabled and otherwise zero.
658 .It Dv IEEE80211_IOC_WME_CWMIN
659 Return the WME CWmin setting (log2) for the specified Access Class (AC) in
661 The AC is passed in through
663 together with an optional IEEE80211_WMEPARAM_BSS flag to indicate if the
664 parameter for the BSS or the channel is desired.
665 If WME is not supported then
668 .It Dv IEEE80211_IOC_WME_CWMAX
669 Return the WME CWmax setting (log2) for the specified Access Class (AC) in
672 .Dv IEEE80211_IOC_WME_CWMIN
673 above for more details.
674 .It Dv IEEE80211_IOC_WME_AIFS
675 Return the WME AIFS setting for the specified Access Class (AC) in
678 .Dv IEEE80211_IOC_WME_CWMIN
679 above for more details.
680 .It Dv IEEE80211_IOC_WME_TXOPLIMIT
681 Return the WME TxOpLimit (msec) for the specified Access Class (AC) in
684 .Dv IEEE80211_IOC_WME_CWMIN
685 above for more details.
686 .It Dv IEEE80211_IOC_WME_ACM
687 Return the WME Admission Control Mechanism (ACM) setting
688 for the specified Access Class (AC) in
690 This value is meaningful only for the BSS (not channel).
692 .Dv IEEE80211_IOC_WME_CWMIN
693 above for more details.
694 .It Dv IEEE80211_IOC_WME_ACKPOLICY
695 Return the WME ACK Policy setting
696 for the specified Access Class (AC) in
698 When this value is zero frames will be transmitted without waiting for
700 This value is meaningful only for the channel (not BSS).
702 .Dv IEEE80211_IOC_WME_CWMIN
703 above for more details.
704 .It Dv IEEE80211_IOC_WPA
705 Return the WPA configuration in
708 0 (WPA is not enabled),
710 2 (WPA2/802.11i is enabled),
712 3 (WPA1 and WPA2/802.11i are both enabled).
713 .It Dv IEEE80211_IOC_WPAIE
714 Return any WPA information element for an associated station via
716 The request passed in through
718 identifies the MAC address of the desired station.
719 If an RSN (802.11i) element is present it is returned; otherwise any WPA
721 Note this request is deprecated; use
722 .Dv IEEE80211_IOC_WPAIE2
724 .It Dv IEEE80211_IOC_WPAIE2
725 Return any WPA information elements for an associated station via
727 The request passed in through
729 identifies the MAC address of the desired station.
730 One or both of RSN (802.11i) and WPA elements may be returned.
731 .It Dv IEEE80211_IOC_WPAKEY
732 Return the requested cryptographic key in the buffer pointed to by
734 The key number is specified in
737 A key number of zero is used to retrieve a station's unicast cipher key
738 when operating with WPA enabled.
739 If the user is not root then the key data returned is all zeros.
740 .It Dv IEEE80211_IOC_WPS
741 Return whether or not Wi-FI Protected Setup (WPS) is enabled in
747 the following values of
750 Note that changing a value on an interface that is running may
751 cause the interface to be
753 Resets may be handled without altering the state if the parameter
754 does not affect the MLME state (e.g. RTS threshold), but in some
755 cases the interface may need to scan for a new network or clear
756 state (including any associated stations); in that case the interface
759 (it is equivalent to marking the interface down and back up).
760 The information below identifies whether changing a value affects the
761 state of a running interface.
762 .Bl -tag -width indent
763 .It Dv IEEE80211_IOC_ADDMAC
764 Add an entry to the MAC address Access Control List (ACL) database using
765 the value pointed to by
769 module must be installed and enabled or
772 .It Dv IEEE80211_IOC_AMPDU
773 Set whether or not AMPDU is enabled for transmit and/or receive
776 This request causes a running interface operating on an HT channel
779 .Dv IEEE80211_IOC_AMPDU
781 .It Dv IEEE80211_IOC_AMPDU_DENSITY
782 Set the minimum density for bursting AMPDU frames to the value in
784 This request causes a running interface to be reset.
786 .Dv IEEE80211_IOC_AMPDU_DENSITY
788 .It Dv IEEE80211_IOC_AMPDU_LIMIT
789 Set the limit on the size of AMPDU frames to the value in
791 This request causes a running interface to be reset.
793 .Dv IEEE80211_IOC_AMPDU_LIMIT
795 .It Dv IEEE80211_IOC_AMSDU
796 Set whether or not AMSDU is enabled for transmit and/or receive
799 This request causes a running interface operating on an HT channel
802 .Dv IEEE80211_IOC_AMSDU
804 .It Dv IEEE80211_IOC_AMSDU_LIMIT
805 Set the limit on the size of AMSDU frames to the value in
807 This request causes a running interface to be reset.
809 .Dv IEEE80211_IOC_AMSDU_LIMIT
811 .It Dv IEEE80211_IOC_APBRIDGE
812 Set whether AP bridging is enabled using the value in
815 .Dv IEEE80211_IOC_APBRIDGE
817 .It Dv IEEE80211_IOC_APPIE
818 Set an application information element using the data pointed to by
820 This request causes a running interface to be restarted if the WPA
821 information element is changed.
823 .Dv IEEE80211_IOC_APPIE
825 .It Dv IEEE80211_IOC_AUTHMODE
826 Set the current authentication mode using the value in
828 This request causes a running interface to be restarted.
830 .Dv IEEE80211_IOC_AUTHMODE
832 This request causes a running interface to be restarted.
833 .It Dv IEEE80211_IOC_BEACON_INTERVAL
834 Set the time between Beacon frames (in TU) to the value in
836 This request causes a running interface to be restarted.
837 .It Dv IEEE80211_IOC_BGSCAN
838 Set whether background scanning is enabled using the value in
840 .It Dv IEEE80211_IOC_BGSCAN_IDLE
841 Set the minimum time (in msecs) a station must be idle
842 before it will do a background scan to the value in
844 .It Dv IEEE80211_IOC_BGSCAN_INTERVAL
845 Set the minimum time (seconds) between background scan operations to the value in
847 .It Dv IEEE80211_IOC_BMISSTHRESHOLD
848 Set the number of consecutive missed Beacon frames before the system will
849 attempt to roam to the value in
851 This request causes a running interface to be reset.
852 .It Dv IEEE80211_IOC_BSSID
853 Set the 802.11 MAC address for the desired BSS identifier according to
855 This request causes a running interface to be restarted.
856 .It Dv IEEE80211_IOC_BURST
857 Set whether or not packet bursting is enabled using the value in
859 This request causes a running interface to be reset.
860 .It Dv IEEE80211_IOC_CHANNEL
861 Set the desired/current channel to the value given by
863 This request causes a running interface to
864 immediately change to the specified channel if possible;
865 otherwise the interface will be restarted.
866 Note this request is deprecated; use
867 .Dv IEEE80211_IOC_CURCHAN
869 .It Dv IEEE80211_IOC_CHANLIST
870 Set the list of available channels using the channel list pointed to by
872 The channel list is a bit vector with bit N set to 1 if
873 IEEE channel number N is available for use.
874 The specified channel list is checked against the set of supported
875 channels and any channels not supported are silently ignored.
876 If the intersection of the channel list and the supported channels is empty
879 Note the current channel may be marked invalid after installing a
881 This request causes a running interface to be restarted.
882 .It Dv IEEE80211_IOC_COUNTERMEASURES
883 Set whether TKIP Countermeasures are enabled using the value in
885 This request can only be used when the authentication mode is set
889 .It Dv IEEE80211_IOC_CURCHAN
890 Set the current channel using the information referenced by
892 This request causes a running interface to
893 immediately change to the specified channel if possible;
894 otherwise the interface will be restarted.
895 .It Dv IEEE80211_IOC_DELKEY
896 Delete the key specified by the information referenced by
898 .It Dv IEEE80211_IOC_DELMAC
899 Remove an entry in the MAC address Access Control List (ACL) database using
900 the value pointed to by
904 module must be installed and enabled or
907 .It Dv IEEE80211_IOC_DFS
908 Set whether or not Dynamic Frequency Selection (DFS) is enabled
911 This request will fail with
913 if 802.11h support is not enabled.
915 .Dv IEEE80211_IOC_DFS
917 .It Dv IEEE80211_IOC_DOTD
918 Set whether or not 802.11d support is enabled using the value in
920 This request causes a running interface to be restarted.
922 .Dv IEEE80211_IOC_DOTD
924 .It Dv IEEE80211_IOC_DOTH
925 Return whether 802.11h support is enabled using the value in
928 .Dv IEEE80211_IOC_DOTH
930 .It Dv IEEE80211_IOC_DROPUNENCRYPTED
931 Set whether unencrypted packets transmit/received should be discarded
934 .It Dv IEEE80211_IOC_DTIM_PERIOD
935 Set the period (in beacon intervals) between DTIM events to the value in
937 This request causes a running interface to be restarted.
938 .It Dv IEEE80211_IOC_DWDS
939 Set whether or not Dynamic WDS support is enabled using the value in
942 .Dv IEEE80211_IOC_DWDS
944 .It Dv IEEE80211_IOC_FF
945 Set whether Atheros fast-frames support is enabled using the value in
947 This request causes a running interface to be restarted.
951 .It Dv IEEE80211_IOC_FRAGTHRESHOLD
952 Set the threshold (in bytes) for enabling fragmentation frames using the value in
954 This request causes a running interface to be reset.
956 .Dv IEEE80211_IOC_FRAGTHRESHOLD
958 .It Dv IEEE80211_IOC_GREENFIELD
959 Set whether or not Greenfield preamble use is enabled using the value in
961 This request causes a running interface to be reset.
963 .Dv IEEE80211_IOC_GREENFIELD
965 .It Dv IEEE80211_IOC_HIDESSID
966 Set whether SSID hiding/cloaking is enabled using the value in
968 This request causes a running interface to be reset.
970 .Dv IEEE80211_IOC_HIDESSID
972 .It Dv IEEE80211_IOC_HTCOMPAT
973 Set whether or not 802.11n compatibility support is enabled using the value in
975 This request causes a running interface to be reset if operating on HT channel.
977 .Dv IEEE80211_IOC_HTCOMPAT
979 .It Dv IEEE80211_IOC_HTCONF
980 Set automatic promotion of HT channels using the value in
982 This request causes a running interface to be restarted.
984 .Dv IEEE80211_IOC_HTCONF
986 .It Dv IEEE80211_IOC_HTPROTMODE
987 Set the technique used to protect HT frames in a mixed 802.11n network
990 This request causes a running interface to be reset.
992 .Dv IEEE80211_IOC_HTPROTMODE
994 .It Dv IEEE80211_IOC_HWMP_MAXHOPS
995 Set the maximum acceptable hop count in an HWMP path according to
997 Values must be in the range [0-255].
998 .It Dv IEEE80211_IOC_HWMP_ROOTMODE
999 Set the Mesh root mode operation according to
1002 .Dv IEEE80211_HWMP_ROOTMODE_DISABLED
1003 (root mode is disabled),
1004 .Dv IEEE80211_HWMP_ROOTMODE_NORMAL
1005 (send broadcast Path Request frames),
1006 .Dv IEEE80211_HWMP_ROOTMODE_PROACTIVE
1007 (send broadcast Path Request frames and force replies)
1009 .Dv IEEE80211_HWMP_ROOTMODE_RANN
1010 (send broadcast Root Announcement (RANN) frames).
1011 .It Dv IEEE80211_IOC_INACTIVITY
1012 Set whether or not the system handles inactivity processing using the value in
1014 When inactivity processing is enabled the system will track stations
1015 that have not transmitted frames and periodically probe them to
1016 check if they are still present.
1017 Stations that are inactive and do not respond to probes are dropped.
1018 .It Dv IEEE80211_IOC_MACCMD
1019 Change the state of the MAC address Access Control List (ACL) system.
1020 There are several requests supported:
1021 .Dv IEEE80211_MACCMD_POLICY_OPEN
1022 (set the current policy to disable ACL use),
1023 .Dv IEEE80211_MACCMD_POLICY_ALLOW
1024 (set the current policy to allow only addresses listed in the database),
1025 .Dv IEEE80211_MACCMD_POLICY_DENY
1026 (set the current policy to deny addresses listed in the database),
1027 .Dv IEEE80211_MACCMD_POLICY_RADUS
1028 (set the current policy to enable use of a RADIUS backend),
1029 .Dv IEEE80211_MACCMD_FLUSH
1030 (flush all addresses from the database),
1032 .Dv IEEE80211_MACCMD_DETACH
1033 (detach the ACL subsystem, disabling it).
1036 module must be installed or
1039 .It Dv IEEE80211_IOC_MESH_AP
1040 Set whether or not Mesh AP support is enabled using
1042 .It Dv IEEE80211_IOC_MESH_FWRD
1043 Set whether or not packet forwarding support is enabled using
1045 .It Dv IEEE80211_IOC_MESH_ID
1046 Set the Mesh ID using the value pointed to by
1048 A Mesh ID can be up to
1049 .Dv IEEE80211_MESHID_LEN
1051 .It Dv IEEE80211_IOC_MESH_PP_METRIC
1052 Set the link metric protocol using the value pointed to by
1054 .It Dv IEEE80211_IOC_MESH_PP_PATH
1055 Set the path selection protocol using the value pointed to by
1057 .It Dv IEEE80211_IOC_MESH_RTCMD
1058 Manipulate the state of the Mesh routing tables.
1059 Several requests are supported:
1060 .Dv IEEE80211_MESH_RTCMD_FLUSH
1061 (flush the contents of the routing table),
1062 .Dv IEEE80211_MESH_RTCMD_ADD
1063 (add an entry for the MAC address specified in
1065 and start the Peer discovery process),
1067 .Dv IEEE80211_MESH_RTCMD_DELETE
1068 (delete the entry corresponding to the MAC address specified in
1070 .It Dv IEEE80211_IOC_MESH_TTL
1071 Set the Mesh Time To Live (TTL) setting installed in packets
1072 transmitted by this mesh node using
1074 .It Dv IEEE80211_IOC_MLME
1075 Explicitly control the MLME state machine for a station using the
1076 MLME request pointed to by
1078 There are several MLME operations supported:
1079 .Dv IEEE80211_MLME_ASSOC
1080 (request association to an access point),
1081 .Dv IEEE80211_MLME_DIASSOC
1082 (diassociate the specified station),
1083 .Dv IEEE80211_MLME_DEAUTH
1084 (deauthenticate the specified station),
1085 .Dv IEEE80211_MLME_AUHORIZE
1086 (mark the specified station authorized to pass data frames),
1087 .Dv IEEE80211_MLME_UNAUTHORIZE
1088 (revoke the specified station's ability to pass data frames),
1090 .Dv IEEE80211_MLME_AUTH
1091 (request authentication to an access point).
1092 Note when this facility is used for stations operating in infrastructure mode
1093 the roaming mode should be set to manual.
1094 .It Dv IEEE80211_IOC_POWERSAVE
1095 Set the current powersaving mode to the value in
1098 .Dv IEEE80211_IOC_POWERSAVE
1099 above for valid values.
1100 This request causes a running interface to be reset.
1101 .It Dv IEEE80211_IOC_POWERSAVESLEEP
1102 Set the powersave sleep time in TU to the value in
1104 This request causes a running interface to be reset.
1105 .It Dv IEEE80211_IOC_PRIVACY
1106 Set the current MLME setting for PRIVACY using the value in
1109 .Dv IEEE80211_IOC_PRIVACY
1111 .It Dv IEEE80211_IOC_PROTMODE
1112 Set the current 802.11g protection mode to the value in
1114 This request causes a running interface to be reset.
1116 .Dv IEEE80211_IOC_PROTMODE
1118 This request causes a running interface to be reset.
1119 .It Dv IEEE80211_IOC_PUREG
1120 Set whether ``pure 11g'' mode is enabled using the value in
1122 This request causes a running interface to be restarted.
1124 .Dv IEEE80211_IOC_PUREG
1126 .It Dv IEEE80211_IOC_PUREN
1127 Set whether ``pure 11n'' mode is enabled using the value in
1129 This request causes a running interface to be restarted.
1131 .Dv IEEE80211_IOC_PUREN
1133 .It Dv IEEE80211_IOC_REGDOMAIN
1134 Set the regulatory state using the data referenced by
1136 This request can only be issued when all interfaces cloned from the
1137 underlying physical device are marked down; otherwise
1140 Note the new regulatory data may invalidate any desired channel.
1141 .It Dv IEEE80211_IOC_RIFS
1142 Set whether or not Reduced InterFrame Spacing (RIFS) is enabled
1145 This setting is meaningful only when operating with 802.11n on an HT channel.
1146 This request causes a running interface to be reset.
1147 .It Dv IEEE80211_IOC_ROAM
1148 Set station roaming parameters using the data pointed to by
1150 .It Dv IEEE80211_IOC_ROAMING
1151 Set the current roaming mode to the value in
1154 .Dv IEEE80211_IOC_ROAMING
1156 .It Dv IEEE80211_IOC_RTSTHRESHOLD
1157 Set the threshold (in bytes) for enabling transmission of RTS frames
1160 This request causes a running interface to be reset.
1162 .Dv IEEE80211_IOC_RTSTHRESHOLD
1164 .It Dv IEEE80211_IOC_SCANVALID
1165 Set the age (in seconds) that results from a scan operation will be
1167 When scan results are no longer valid and they are needed (e.g. to roam) the
1168 system will initiate a scan operation to replenish the scan cache.
1169 .It Dv IEEE80211_IOC_SCAN_REQ
1170 Request a scan operation using the parameters pointed to by
1172 The underlying device must be running or
1180 shorter than 1 clock tick are rounded up to a tick.
1181 If more SSID's are supplied than the system is capable of handling
1182 the extra ones are silently ignored.
1183 If a scan operation is already in progress the request will be
1185 .It Dv IEEE80211_IOC_SCAN_CANCEL
1186 Cancel any pending/active scan operation.
1187 .It Dv IEEE80211_IOC_SHORTGI
1188 Set whether or not Short Guard Interval (SGI) is enabled using the value in
1190 Note SGI is only used when operating on an HT (802.11n) channel.
1191 This request causes a running interface to be reset.
1192 .It Dv IEEE80211_IOC_SMPS
1193 Set the Spatial Multiplexing Power Save (SMPS) setting to the value in
1195 This request causes a running interface to be reset.
1197 .Dv IEEE80211_IOC_SMPS
1199 .It Dv IEEE80211_IOC_SSID
1200 Set the desired SSID using the value pointed to by
1202 The string may be at most IEEE80211_NWID_LEN bytes.
1203 This request causes a running interface to be restarted.
1204 .It Dv IEEE80211_IOC_STA_STATS
1205 Clear accumulated statistics for the specified station.
1206 .It Dv IEEE80211_IOC_STA_VLAN
1207 Set the VLAN tag for the specified station using the information pointed to by
1209 .It Dv IEEE80211_IOC_TDMA_BINTERVAL
1210 Set the interval between Beacon frames to the value in
1212 Values must be positive.
1213 This request causes a running interface to be reset.
1214 .It Dv IEEE80211_IOC_TDMA_SLOT
1215 Set the current TDMA slot to the value in
1217 Values must be in the range [0-slotcnt].
1218 Slot 0 identifies the master in the TDMA network; if it running it will
1219 immediately start sending Beacon frames.
1220 .It Dv IEEE80211_IOC_TDMA_SLOTCNT
1221 Set the number of slots in the TDMA network to the value in
1223 This request causes a running interface to be reset.
1224 .It Dv IEEE80211_IOC_TDMA_SLOTLEN
1225 Set the length of the TDMA slot assigned to each station in the network
1228 Slot lengths must be in the range 200 usecs to 1024 milliseconds
1229 (though values outside the range 1-200ms are unlikely to work well).
1230 This request causes a running interface to be reset.
1231 .It Dv IEEE80211_IOC_TSN
1232 Set whether or not Transitional Security Network (TSN) is enabled
1235 .It Dv IEEE80211_IOC_TURBOP
1236 Set whether Atheros Dynamic Turbo mode is enabled using the value in
1238 This request causes a running interface to be restarted.
1239 .It Dv IEEE80211_IOC_TXPARAMS
1240 Set transmit parameters using the data pointed to be
1242 This request causes a running interface to be restarted.
1243 .It Dv IEEE80211_IOC_TXPOWER
1244 Set the maximum transmit power limit in .5 dBm units to the value in
1246 This request causes a running interface to be reset.
1247 .It Dv IEEE80211_IOC_WEP
1248 Set the current WEP mode to the value in
1251 .Dv IEEE80211_IOC_WEP
1252 above for valid values.
1253 This request causes a running interface to be restarted.
1254 Note this request is deprecated; use
1255 .Dv IEEE80211_IOC_PRIVACY
1257 .Dv IEEE80211_IOC_DROPUNENCRYPTED
1259 .It Dv IEEE80211_IOC_WEPKEY
1260 Set the WEP key indicated by
1262 using the data pointed to by
1264 Note this request is deprecated; use
1265 .Dv IEEE80211_IOC_WPAKEY
1267 .It Dv IEEE80211_IOC_WEPTXKEY
1268 Set the default transmit key used for transmission to the value in
1270 .It Dv IEEE80211_IOC_WME
1271 Set whether or not WME/WMM support is enabled using the value in
1273 This request causes a running interface to be reset.
1274 .It Dv IEEE80211_IOC_WME_ACKPOLICY
1275 Set the WME ACK Policy for the Access Class (AC) specified in
1279 .It Dv IEEE80211_IOC_WME_ACM
1280 Set the WME Admission Control Mechanism for the Access Class (AC) specified in
1284 .It Dv IEEE80211_IOC_WME_AIFS
1285 Set the WME AIFS parameter for the Access Class (AC) specified in
1289 .It Dv IEEE80211_IOC_WME_CWMAX
1290 Set the WME CWmax parameter for the Access Class (AC) specified in
1294 .It Dv IEEE80211_IOC_WME_CWMIN
1295 Set the WME CWmin parameter for the Access Class (AC) specified in
1299 .It Dv IEEE80211_IOC_WME_TXOPLIMIT
1300 Set the WME TxOpLimit parameter for the Access Class (AC) specified in
1304 .It Dv IEEE80211_IOC_WPA
1305 Set the WPA configuration using the value in
1307 This request causes a running interface to be reset.
1309 .Dv IEEE80211_IOC_WPA
1311 .It Dv IEEE80211_IOC_WPAKEY
1312 Set the requested cryptographic key using data in the buffer pointed to by
1315 .Dv IEEE80211_IOC_WPAKEY
1317 .It Dv IEEE80211_IOC_WPS
1318 Set whether or not Wi-FI Protected Setup (WPS) is enabled using the value in
1328 .Xr wpa_supplicant 8