Please note: This project is no longer active. The website is kept online for historic purposes only.
If you´re looking for a Linux driver for your Atheros WLAN device, you should continue here .

Chapter 1

  1. Chapter 1
    1. Configuring MadWifi using Wireless Extensions
      1. 1.1 Using iwconfig
        1. essid - ESSID or Network Name
        2. freq/channel - RF Frequency or Channel
        3. sens - Sensitivity Threshold
        4. ap - Use a Specific AP
        5. rate - Set the Data Transmit Rate
        6. rts - Set the RTS/CTS Threshold
        7. frag - Set the Fragmentation Threshold
        8. key/enc - Manipulate WEP Encryption Keys and Mode
        9. txpower - Set Transmit Power
        10. retry - Set Retry Limit
      2. 1.2 Using wlanconfig
      3. 1.3 Private (Driver Specific) Driver Commands
        1. setoptie - Set Optional Information Element
        2. getoptie - Get Optional Information Element
        3. mode - Set Wireless Mode
        4. get_mode - Get Wireless Mode
        5. hide_ssid - Enable/Disable Hiding of the 802.11 SSID
        6. get_hide_ssid - Get Status of 802.11 SSID Hiding Support
        7. protmode - Enable/Disable 802.11g Protection Mode
        8. get_protmode - Get Status of 802.11g Protection Mode
        9. ap_bridge - Set Internal Client Bridging
        10. get_ap_bridge - Get Status of Internal Client Bridging
        11. inact_init - Set Inactivity Period for INIT State
        12. get_inact_init - Get Inactivity Period for INIT State
        13. inact_auth - Set Inactivity Period for AUTH State
        14. get_inact_auth - Get Inactivity Period for AUTH State
        15. inact - Set Inactivity Period for RUN State
        16. get_inact - Get Inactivity Period for RUN State
        17. dtim_period - Set DTIM Period
        18. get_dtim_period - Get Beacon DTIM Period
        19. bintval - Set Beacon Interval Value
        20. get_bintval - Get Beacon Interval Value
        21. doth - 802.11h Support Enable/Disable
        22. get_doth - Get 802.11h Support Status
        23. doth_reassoc - Generate a Reassociation Request
        24. doth_pwrtgt - Set Maximum Desired Power for Transmission
        25. wpa - Enable/Disable WPA/WPA2 Support
        26. mcastcipher - Set Group Key Length
        27. get_mcastcipher - Get Group Key Length
        28. mcastcipher - Set Group Key Cipher
        29. get_mcastcipher - Get Group Key Cipher
        30. ucastciphers - Set Pairwise Unicast Key Ciphers
        31. get_ucastciphers - Get Pairwise Unicast Key Ciphers
        32. ucastcipher - Set Unicast Cipher
        33. get_ucastcipher - Get Current Unicast cipher
        34. ucastkeylen - Set Unicast Key Length
        35. get_ucastkeylen - Get Current Unicast Key Length
        36. keymgtalgs - Select Key Management Algorithm
        37. get_keymgtalgs - Get Current Key Management Algorithm
        38. rsncaps - Set ???
        39. get_rsncaps - Get Current ???
        40. hostroaming - Set Roaming Mode
        41. get_hostroaming - Get Roaming Mode
        42. privacy - Enable/Disable Privacy
        43. get_privacy - Get Privacy Status
        44. dropunencrypted - Enable/Disable Dropping of Unencrypted non-PAE frames
        45. get_wpa - Get WPA/WPA2 Support
        46. countermeasures - Enable/Disable WPA/WPA2 Countermeasures
        47. get_countermeas - Get Status of WPA/WPA2 Countermeasures
        48. get_driver_caps - Get Driver Capabilities
        49. addmac - Add MAC address to ACL list
        50. delmac - Delete MAC address to ACL list
        51. maccmd - Set or Modify the MAC/ACL Handling
        52. kickmac - Disassociate an associated station
        53. wmm - WMM Support Enable/Disable
        54. get_wmm - Get WMM Support
        55. cwmin - WMM CWmin Parameter
        56. get_cwmin - Get WMM CWmin Parameter
        57. cwmax - WMM CWmax Parameter
        58. get_cwmax - Get WMM CWmax Parameter
        59. txoplimit - WMM TxOp Limit Parameter
        60. get_txoplimit - Get WMM TxOp Limit Parameter
        61. aifs - WMM AIFS Parameter
        62. get_aifs - Get WMM AIFS Parameter
        63. acm - WMM ACM Bit Value
        64. get_acm - Get WMM ACM Bit Value
        65. noackpolicy - WMM NoAck? Policy Bit Value
        66. get_noackpolicy - Get WMM NoAck? Policy Bit Value
        67. ff - Atheros Fast Frame Support Enable/Disable
        68. get_ff - Get Atheros Fast Frame Support
        69. xr - Atheros XR Support Enable/Disable
        70. get_xr - Get Atheros XR Support
        71. burst - Atheros SuperA/G Bursting Support Enable/Disable
        72. get_burst - Get Atheros SuperA/G Bursting Support
        73. ar - Atheros SuperA/G Adaptive Radio (AR) Support Enable/Disable
        74. get_ar - Get Atheros SuperA/G Adaptive Radio (AR) Support
        75. compression - Atheros SuperA/G Compression Support Enable/Disable
        76. get_compression - Get Atheros SuperA/G Compression Support
        77. abolt - Set ABOLT value
        78. pureg - Use Only 802.11g Data Rates (no legacy 802.11b support) …
        79. get_pureg - Get Status of 802.11g Only Data Rates Support
        80. wds - Enable/Disable 4 Address (WDS) Parsing
        81. get_wds - Get Status of 4 Address (WDS) Parsing
        82. countryie - Enable Country IE in Beacon Enable/Disable
        83. get_countryie - Get Country IE Status
        84. coverageclass - Set Coverage Class for AP
        85. get_coveragecls - Get Coverage Class Value
        86. regclass - Enable Regulatory class ids to be used in country IE in Beacon. …
        87. get_regclass - Get Regulatory Class ID Status
    2. 1.4 IOCTLS That Need Better Documentation
        1. ackrate - Set ACK Bitrate
        2. setkey
        3. delkey
        4. setmlme
        5. kickmac
        6. wds_add
        7. wds_del
        8. setchanlist
        9. getchanlist
        10. getchaninfo
        11. setwmmparams
        12. getwmmparams
        13. setparam
        14. getparam
        15. authmode - authentication mode
        16. get_authmode
        17. mcastkeylen
        18. get_mcastkeylen
        19. get_uciphers
        20. hostroaming - roaming mode ??
        21. get_hostroaming
        22. driver_caps - driver capabilities
        23. abolt
        24. get_abolt - Atheros Adv. Capabilities
        25. turbo- turbo mode
        26. get_turbo
        27. doth_chanswitch
        28. bgscan - bg scanning (on, off)
        29. get_bgscan
        30. bgscanidle - bg scan idle threshold
        31. get_bgscanidle
        32. bgscanintvl - bg scan interval
        33. get_bgscanintvl
        34. mcast_rate -Multicast Tx Rate
        35. get_mcast_rate
        36. scanvalid = scan cache valid threshold
        37. get_scanvalid
        38. rssi11a - rssi threshold in 11a
        39. get_rssi11a
        40. rssi11b - rssi threshold in 11b
        41. get_rssi11b - rssi threshold in 11g
        42. rssi11g
        43. get_rssi11g
        44. rate11a - tx rate threshold in 11a
        45. get_rate11a
        46. rate11b - tx rate threshold in 11b
        47. get_rate11b
        48. rate11g - tx rate threshold in 11g
        49. get_rate11g
        50. uapsd
        51. get_uapsd
        52. sleep - force sleep/wake
        53. get_sleep
        54. qosnull
        55. pspoll - force ps-poll generation (sta only)
        56. eospdrop - force uapsd EOSP drop (ap only)
        57. get_eospdrop
        58. markdfs - mark a dfs interference channel when found
        59. get_markdfs

Configuring MadWifi using Wireless Extensions

This section describes the configuration of the Atheros wireless driver using the Wireless Extension Tools.

1.1 Using iwconfig

The generic iwconfig tool is used to set parameters which common across most drivers. For a detailed description of iwconfig, please use man iwconfig. In this Section, we will describe the use of iwconfig in the Madwifi driver. The formats of the iwconfig command is:

    iwconfig 	-help 	
    iwconfig 	-version 	
    iwconfig 	[interface] 	
    iwconfig 	interface 	[essid X] [freq F] [channel C] [sens S] [ap A] [rate R]
    		[rts RT] [frag FT] [txpower T] [enc E] [key K] [retry R]

The first form of the iwconfig command gives a brief help message. The second form of the iwconfig command returns the current version of iwconfig along with the version of the wireless extensions with which it was built. In the third form of the iwconfig command, the current wireless status of the interface is returned. If no interface is specified, the current wireless status of every network interface is returned. Non-wireless devices will not return any wireless status.

The last form of the iwconfig command allows the user to change any of the optional parameters. Only the parameters which you wish to change need to be specified. Unspecified parameters will not be modified. Each parameter is described below.

essid - ESSID or Network Name

Set the ESSID (also known as network name) to the given value. In station mode, the driver will attempt to join the network with the same ESSID. In AP mode, the driver will use the parameter as the ESSID.

Example: The following command sets the ssid to "Atheros Wireless Network" on ath0:

        myprompt# iwconfig ath0 essid √Ątheros Wireless Network"

freq/channel - RF Frequency or Channel

Set the frequency or channel of the device to the given value. Values below 1000 are interpreted as channel numbers. Values above 1000 are interpreted as frequency measured in Hz. For frequency values, the suffix k, M, or G can be appended to the value to specify kilohertz, Megahertz, and Gigahertz, so that 2.412G, 2412M, and 2412000000 refer to the same frequency. Setting the channel to a specific value will override the private mode control described in Section .

Example: The following command sets the operating frequency to 5.2GHz:

        myprompt# iwconfig ath0 freq 5.2G 

Either of the following commands set device to operate on channel 11:

        myprompt# iwconfig ath0 freq 11
        myprompt# iwconfig ath0 channel 11 

sens - Sensitivity Threshold

Set the sensitivity threshold to the given value. This is the lowest signal strength at which the packets are received. Currently, this threshold is not implemented and any returned value is meaningless.

ap - Use a Specific AP

Specify which AP the device should associate with. The supplied value should be the MAC address of the desired AP or any of the keywords any, auto, or off.

Example: The following command instructs the ath0 device to associate with the AP that has MAC address 00:03:7f:03:a0:0d.

        myprompt# iwconfig ath0 ap 00:03:7f:03:a0:0d 

rate - Set the Data Transmit Rate

Set the bit rate for transmitted packets. The value is specified in bits per second and the values can be suffixed by k, M, or G for kilobits, megabits, and gigabits respectively. The value auto is also valid and causes the device to use the bit rate selected by the rate control module. It's also possible to supply the bit rate followed by auto, in which case the driver will automatically select from the bit rates not exceeding that rate.

Example: The following commands sets the maximum bit rate to 36Mbs. Thus, the driver will automatically select the best rate less than or equal to 36Mbs.

         myprompt# iwconfig ath0 rate 36M auto  

rts - Set the RTS/CTS Threshold

Set the minimum packet size for which the device sends an RTS using the RTS/CTS handshake. The parameter is the threshold in bytes or the off keyword. If it's set to off or the maximum packet size, RTS/CTS will be disabled.

Example: The following command sets the minimum packet size to use the RTS/CTS handshake to 40.

         myprompt# iwconfig ath0 rts 40  

frag - Set the Fragmentation Threshold

Set the maximum fragment size. The parameter is either the threshold in bytes, or the off keyword, which disables fragmentation.

Example: The following command sets ath0 to fragment all packets to at most 512 bytes.

         myprompt# iwconfig ath0 frag 512  

key/enc - Manipulate WEP Encryption Keys and Mode

This parameter is used to manipulate the WEP key and authentication mode. It can be used to set the key, change the key, select the active key, enable and disable WEP, and set the authentication mode. The driver can store up to 4 keys. Each instance of the key command manipulates only one key. Thus, to change all 4 keys, 4 separate commands must be used. The key value can be specified as is in the hexadecimal form. If an ASCII string is used for the key value, prepend "s:" to the key. To change a key other than the current key, prepend "[index]" to the key value, where index is the number of the key you wish to change. To select which key is active, use "[index]" without supplying any keys, where index is the desired key number. Including the keywords open or restricted changes the authentication mode between open authentication and restricted authentication. Use the off keyword to disable WEP.

Example: The following command sets the default key to be key 3:

         myprompt# iwconfig ath0 key [3]  

The following command sets the default key to be the hex key 0xDEAD-BEEF-AA:

         myprompt# iwconfig ath0 key DEAD-BEEF-AA  

The following command sets key 2 to the ASCII phrase "password" and sets the authentication type to open:

        myprompt# iwconfig ath0 key [2] s:password open  

The following command disables WEP:

          myprompt# iwconfig ath0 key off  

txpower - Set Transmit Power

Set the transmit power for data packets. Bare numbers are interpreted as values in dBm. If the number is followed by mW, the value is interpreted in milliwatts. The value can also be auto for automatic power control and off for disabling the radio transmission.

Example: The following command sets all data packets to transmit at either 30 dBm or the maximum allowed in the current regulatory domain:

          myprompt# iwconfig ath0 txpower 30  

retry - Set Retry Limit

This parameter sets the maximum number of retries used in the software retry algorithm. Currently, the driver does not implement software retry, thus this parameter is meaningless.

1.2 Using wlanconfig

The current MadWifi driver supports multiple APs and concurrent AP/Station mode operation on the same device. The devices are restricted to using the same underlying hardware, thus are limited to coexisting on the same channel and using the same physical layer features. Each instance of an AP or station is called a Virtual AP (or VAP). Each VAP can be in either AP mode, station mode, "special" station mode, and monitor mode. Every VAP has an associated underlying base device, which is created when the driver is loaded. Creating and destroying VAPs are done through the wlanconfig tool found in the MadWifi tools directory. Running the wlanconfig utility with no arguments returns a brief help line. The format of the wlanconfig command takes two forms:

    wlanconfig VAP create wlandev Base Device wlanmode mode [uniquebssid]
    wlanconfig VAP destroy 

Every Linux network device consists of a prefix followed by a number indicating the device number of the network device. For instance, the ethernet devices are named eth0, eth1, eth2, etc. Each VAP which is created is also registered as a Linux network device. The value VAP can be either a prefix name of the Linux network device, or it can be the entire device name. For instance, specifying VAP as ath lets the Linux kernel add the network device as the next device with the prefix ath. Thus, the Linux kernel appends the proper number to the end to form the full device name, e.g., ath1 if ath0 already exists. However, the full device name can also be specified. For instance, VAP can also be ath2. In this case, the network device ath2 is registered, regardless of whether ath1 exists.

The Base Device is the underlying wireless network device name created when the driver is loaded. The MadWifi driver creates wifi0, wifi1, etc. as the underlying devices. By specifying the Base Device, the VAP is created with the Base Device as the parent device. The mode is the operating mode of the VAP. The operating mode of the VAP cannot be changed once it is created. In special cases, the operating mode of the VAP can be different from the operating mode of the underlying parent device. The first VAP which is created sets the operating mode of the underlying device. If the first VAP is deleted and a new VAP is created with a different operating mode than the original VAP, then the operating mode of the underlying device is changed to the new operating mode. The valid operating modes and their descriptions are given in Table 1.

Mode Description
Auto Auto select operating mode
Managed Station mode for infrastructure networks
MasterAP mode
MonitorPassive monitor

Table 1: wlanconfig Operating Modes

Only one station VAP can exist on a device. If the station VAP is the first VAP created, then no other VAPs are allowed to be created. If the first VAP created is in AP (Master) mode, then one station VAP is allowed to be created. In this case, other AP VAPs can also be created after the station VAP. Prior to r3476, when AP and station VAPs coexist, a "nosbeacon" parameter was required on the wlanconfig command line when creating the station. This flag disables the use of hardware beacon timers for station mode operation. This is now automatically handled. Concurrent AP and station operation implies the station should not modify the TSF clock for the APs. Creating multiple VAPs typically implies that the MAC address of each VAP is different. In point of fact, you canot have multiple VAPs up and running concurrently. In most VAP types, unique MAC addresses are assigned to each VAP - starting with the MAC address of the underlying device. By using the uniquebssid parameter (formerly "bssid") you will skip over the underlying radio's MAC address and prevent it from being used by the first VAP created. The unique MAC addresses are assigned to the VAPs being created from a small pool of 64 addresses allocated by setting the 'locally administered' bit in the MAC and adjusting the five highest bits in the MAC address. In this way, the MAC address is mostly left unchanged and diagnostics are a bit easier. To destroy a VAP, the wlanconfig command is used with the destroy parameter. In this case, the full device name must be used, i.e. you must specify the entire name, such as "ath12" not just the prefix.

Example: If we wish to use the system as a station only, we would create a single station VAP once the driver is loaded. The following command creates a single station VAP named ath0 on device wifi0:

          myprompt# wlanconfig ath create wlandev wifi0 wlanmode sta  

Note that no other VAPs can be created since the we are assuming this is the first VAP created on wifi0. Since this is the first VAP created, we only need to specify ath, not ath0. However, the following command would also be correct:

          myprompt# wlanconfig ath0 create wlandev wifi0 wlanmode sta  

The MAC address of the station VAP is the same as the underlying device's MAC address since it is the first VAP created.

Example: Now, we wish to create two AP VAPs on device wifi0. The first device will have a cloned MAC address taken from the underlying device. The second VAP will have a "virtual" MAC address formed from the underlying device's MAC address. The first VAP will be ath0 and the second device will be ath2.

          myprompt# wlanconfig ath create wlandev wifi0 wlanmode ap 
          myprompt# wlanconfig ath2 create wlandev wifi0 wlanmode ap  

Example: Now, we wish to create two AP VAPs on device wifi0. The first device will have the MAC address cloned from the underlying device, and the second will have the next available unique MAC. The first VAP will be ath0 and the second VAP will be ath1.

          myprompt# wlanconfig ath create wlandev wifi0 wlanmode ap
          myprompt# wlanconfig ath create wlandev wifi0 wlanmode ap

NOTE: In revisions prior to r3476 it was often recommended [but not necessary] to specify "bssid" parameter when creating the second AP to indicate a unique MAC should be used. Such assignments are now correctly done automatically. NOTE: To prevent the use of the underlying device MAC, you can specify the "uniquebssid" parameter and all VAPs will be allocated MAC addresses from the pool of ("locally administered") unique MAC addresses derived from the MAC assigned by the hardware manufacturer.

Example: Now, we wish to create two AP VAPs and one station VAP. The AP VAPs will be ath0 and ath2 and the station VAP will be ath1.

          myprompt# wlanconfig ath create wlandev wifi0 wlanmode ap 
          myprompt# wlanconfig ath create wlandev wifi0 wlanmode sta
          myprompt# wlanconfig ath create wlandev wifi0 wlanmode ap  

NOTE: In revisions prior to r3476 it was necessary to specify "nosbeacon" parameter in the station create command, but this is obvious in context and is now handled automatically by the driver.

Example: Now, we wish to destroy a VAP (regardless of its operating mode). We assume that there is a VAP named ath0, and it's the one we wish to destroy.

          myprompt# wlanconfig ath0 destroy  

1.3 Private (Driver Specific) Driver Commands

The following is a list of the private commands which are accessible using iwpriv. The general syntax of iwpriv is

     iwpriv device [command] [parameters].  

The entire list of iwpriv commands can be found by running iwpriv to a device without any command. The resulting list of commands has several columns. The number of parameters allowed for each command is listed. Parameters are classified as either "set" or "get" parameters. "Set" parameters are parameters which the user supplies to the driver. "Get" parameters are parameters which the driver returns to the user.

setoptie - Set Optional Information Element

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: ?? Resets State Machine After Command: ??

This command takes a 256 byte input parameter which specifies?

getoptie - Get Optional Information Element

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: ??

This command gets the optional information element. The information element is returned as 256 bytes.

mode - Set Wireless Mode

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: auto Resets State Machine After Command: Yes

This command sets the wireless mode, i.e. the frequency band and the protocol used. The mode can be specified either by name or by number. The allowed mode names and corresponding numbers are given in Table 2.

Mode Number Description
auto 0 Auto select operating mode
11a 1 802.11a (5GHz) mode (54Mbps)
11b 2 802.11b (2.4GHz) mode (11Mbps)
11g 3 802.11g (2.4GHz) mode with 802.11b compatibility (54Mbps)
fh 4 802.11 frequency hopping mode
11adt/111at 5 802.11a (5GHz) dynamic turbo mode
11gdt/11gt 6 802.11g (2GHz) dynamic turbo mode (108Mbps)
11ast 7 802.11a (5GHz) static turbo mode

Table 2: 802.11 Operating Modes

Example: Either of the following two commands will set the wireless operating mode on a device named ath0 to use 802.11a dynamic turbo:

          myprompt# iwpriv ath0 mode 11a  

or

          myprompt# iwpriv ath0 mode 1  

get_mode - Get Wireless Mode

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns the wireless mode of VAP. The returned values correspond to the modes given in Table 2.

Example: The following command retrieves the wireless mode of a device named ath0 which we will assume is operating in the 802.11g mode:

          myprompt# iwpriv ath0 get_mode
        ath0        get_mode:11g  

hide_ssid - Enable/Disable Hiding of the 802.11 SSID

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Disabled Resets State Machine After Command: Yes

This command enables and disables the ability to hide the 802.11 SSID in the beacon if the VAP is in AP mode. To enable hiding of the SSID, a value of 1 is passed into the driver. To disable hiding of the SSID, a value of 0 is passed into the driver.

Example: The following command enables hiding the 802.11 SSID on ath0:

          myprompt# iwpriv ath0 hide_ssid 1  

get_hide_ssid - Get Status of 802.11 SSID Hiding Support

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether the driver is currently hiding the 802.11 SSID in beacons. A value of 1 indicates that the VAP is hiding the 802.11 SSID. A value of 0 indicates the VAP is not hiding the 802.11 SSID.

Example: The following command retrieves whether ath0 is hiding the 802.11 SSID in its beacon:

          myprompt# iwpriv ath0 get_hide_ssid
        ath0        get_hide_ssid:0  

protmode - Enable/Disable 802.11g Protection Mode

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Enabled Resets State Machine After Command: Yes

This command enables and disables the 802.11g protection mode. To enable 802.11g protection, a value of 1 is passed into the driver. To disable 802.11g protection, a value of 0 is passed into the driver.

Example: The following command disables 802.11g protection on ath0:

          myprompt# iwpriv ath0 protmode 0  

get_protmode - Get Status of 802.11g Protection Mode

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether the driver is currently using 802.11g protection mode. A value of 1 indicates that the VAP is using 802.11g protection. A value of 0 indicates the VAP is not using 802.11g protection.

Example: The following command retrieves whether ath0 is using 802.11g protection mode:

          myprompt# iwpriv ath0 get_protmode
        ath0        get_protmode:1  

ap_bridge - Set Internal Client Bridging

This command is used to moderate the internal bridging on the access point. Setting ap_bridge to 0 will prevent connected clients from being able to access each other. Setting the ap_bridge to 1 will allow connected clients to access each other.

ap_bridge        (0014) : set   1 int   & get   0
Referenced in: 
net80211/ieee80211_wireless.c:2
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:  
    myprompt# iwpriv ath0 ap_bridge 0 

get_ap_bridge - Get Status of Internal Client Bridging

This command will show the current state of the ap_bridge. 0 is down, 1 is up

get_ap_bridge    (0014) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:
    myprompt# iwprive ath0 get_ap_bridge

inact_init - Set Inactivity Period for INIT State

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: 30 secs Resets State Machine After Command: No

This commands sets the inactivity period for when the net80211 state machine is in the INIT (initialization) state. The argument passed into the driver is the desired inactivity period in seconds.

Example: The following command sets the inactivity period for the INIT state on ath0 to 90 seconds:

          myprompt# iwpriv ath0 inact_init 90 

get_inact_init - Get Inactivity Period for INIT State

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This commands gets the inactivity period for when the net80211 state machine is in the INIT (initialization) state.

Example: The following command gets the inactivity period for the INIT state on ath0:

          myprompt# iwpriv ath0 get_inact_init
        ath0        get_inact_init:30  

inact_auth - Set Inactivity Period for AUTH State

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: 180 secs Resets State Machine After Command: No

This commands sets the inactivity period for when the net80211 state machine is in the AUTH (authorization) state. The argument passed into the driver is the desired inactivity period in seconds.

Example: The following command sets the inactivity period for the AUTH state on ath0 to 90 seconds:

          myprompt# iwpriv ath0 inact_auth 90 

get_inact_auth - Get Inactivity Period for AUTH State

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This commands gets the inactivity period for when the net80211 state machine is in the AUTH (authorization) state.

Example: The following command gets the inactivity period for the AUTH state on ath0:

          myprompt# iwpriv ath0 get_inact_auth
        ath0        get_inact_auth:180  

inact - Set Inactivity Period for RUN State

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: 300 secs Resets State Machine After Command: No

This commands sets the inactivity period for when the net80211 state machine is in the RUN (running) state. The argument passed into the driver is the desired inactivity period in seconds.

Example: The following command sets the inactivity period for the RUN state on ath0 to 90 seconds:

          myprompt# iwpriv ath0 inact 90  

get_inact - Get Inactivity Period for RUN State

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This commands gets the inactivity period for when the net80211 state machine is in the RUN (running) state.

Example: The following command gets the inactivity period for the RUN state on ath0:

          myprompt# iwpriv ath0 get_inact
        ath0        get_inact:300  

dtim_period - Set DTIM Period

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: Yes

This command sets the beacon DTIM period. The argument passed to the driver is the desired DTIM period in ms.

Example: The following command sets the DTIM period to 2 ms on ath0:

          myprompt# iwpriv ath0 dtim_period 2  

get_dtim_period - Get Beacon DTIM Period

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command gets the current beacon DTIM in ms.

Example: The following command gets the DTIM period on ath0:

          myprompt# iwpriv ath0 get_dtim_period
        ath0        get_dtim_period:1  

bintval - Set Beacon Interval Value

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: Yes

This command sets the beacon interval. The argument passed to the driver is the desired beacon interval in ms.

Example: The following command sets the beacon interval to 25 ms on ath0:

          myprompt# iwpriv ath0 bintval 25  

get_bintval - Get Beacon Interval Value

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command gets the current beacon interval in ms.

Example: The following command gets the beacon interval on ath0:

          myprompt# iwpriv ath0 get_bintval
        ath0        get_bintval:100  

doth - 802.11h Support Enable/Disable

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Disabled Resets State Machine After Command: Yes

This command enables and disables the 802.11h support. To enable the support, a value of 1 is passed into the driver. To disable 802.11h support, a value of 0 is passed into the driver.

Example: The following command enables 802.11h on ath0:

          myprompt# iwpriv ath0 doth 1  

get_doth - Get 802.11h Support Status

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether 802.11h support is enabled or disabled in the driver.

Example: The following command retrieves the 802.11h status on ath0:

          myprompt# iwpriv ath0 get_doth
        ath0        get_doth:0  

doth_reassoc - Generate a Reassociation Request

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: No

This command instructs the driver to generate a Reassociation request. A single input parameter is needed but ignored.

Example: Either of the following commands generates a reassociation request on ath0.

          myprompt# iwpriv ath0 doth_reassoc 1  

or

          myprompt# iwpriv ath0 doth_reassoc 0 

doth_pwrtgt - Set Maximum Desired Power for Transmission

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: No

This command sets the desired maximum power on the current channel. The minimum of this desired value and the regulatory maximum is used as the true transmission power. The single argument passed into the driver is the desired power level in 0.5 dBm steps.

Example: To set the desired power level on the current channel to be 13 dBm, the following command is used:

          myprompt# iwpriv ath0 doth_pwrtgt 26  

wpa - Enable/Disable WPA/WPA2 Support

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Disabled Resets State Machine After Command: Yes

This command enables or disables WPA or WPA2 support. A single argument is passed to the driver indicating which encryption protocols is to be supported. Table 3 lists the arguments and the encryption protocols supported.

Argument Protocol Supported
0 No WPA
1 WPA Supported
2 WPA2 Supported
3 Both WPA and WPA2 supported

Table 3: WPA/WPA2 Support Arguments

Example: To enable both WPA and WPA2, the following command is used:

          myprompt# iwpriv ath0 wpa 3  

mcastcipher - Set Group Key Length

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: No

This command sets the group key (multicast) key length. This command is used mainly by hostapd. See the driver_madwifi.c file in hostapd for details on the use of this command.

get_mcastcipher - Get Group Key Length

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns the current group key length. This command is used mainly by hostapd.

mcastcipher - Set Group Key Cipher

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: No

This command sets the group key (multicast) cipher. This command is used mainly by hostapd. See the driver_madwifi.c file in hostapd for details on the use of this command.

get_mcastcipher - Get Group Key Cipher

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns the current group key cipher. This command is used mainly by hostapd.

ucastciphers - Set Pairwise Unicast Key Ciphers

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: No

This command sets the pairwise unicast key cipher. Each bit position indicates a supported WPA pairwise cipher. The bitmask and definitions are defined in hostapd. This command is used mainly by hostapd. See the driver_madwifi.c file in hostapd for details on the use of this command.

get_ucastciphers - Get Pairwise Unicast Key Ciphers

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns the current pairwise unicast key ciphers. This command is used mainly by hostapd.

ucastcipher - Set Unicast Cipher

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: No

This command sets the unicast key cipher. Currently not used.

get_ucastcipher - Get Current Unicast cipher

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns the current unicast key cipher. Currently not used.

ucastkeylen - Set Unicast Key Length

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: 13 Resets State Machine After Command: No

This command sets the length of the unicast key. A single parameter is supplied which is the desired length of the unicast key. The desired length must be a positive number less than 16. Currently not used.

Example: To set the unicast key length on ath0 to 10, the following command is used:

          myprompt# iwpriv ath0 ucastkeylen 10  

get_ucastkeylen - Get Current Unicast Key Length

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns the current unicast key length. Currently not used.

Example: The following command returns the current unicast key length being used on ath0.

          myprompt# iwpriv ath0 get_ucastkeylen
        ath0        get_ucastkeylen:13  

keymgtalgs - Select Key Management Algorithm

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: 3 Resets State Machine After Command: Yes if WPA/WPA2 is enabled

This command selects the key management algorithm used. A single parameter is passed into the driver indicating which algorithm to use. Table 4 lists the parameter value and the corresponding algorithm. This command is used by hostapd and wpa_supplicant.

Parameter Algorithm
0 No WPA Algorithm
1 WEP Algorithm
2 WPA TKIP Algorithm
3 WPA CCMP Algorithm

Table 4: Key Management Algorithms

Example: To set the key management algorithm to ??? on ath0, the following command is used:

          myprompt# iwpriv ath0 keymgtalgs 2  

get_keymgtalgs - Get Current Key Management Algorithm

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns the current key management algorithm. The value returned corresponds to the key management algorithm as dictated by Table 4.

Example: The following command returns the current key management algorithm being used on ath0.

          myprompt# iwpriv ath0 get_keymgtalgs
        ath0        get_keymgtalgs:3  

rsncaps - Set ???

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: ?? Resets State Machine After Command: Yes if WPA/WPA2 is enabled

This commands sets ???.

Example: The following command sets the ??? of ath0 to XX:

          myprompt# iwpriv ath0 rsncaps XX  

get_rsncaps - Get Current ???

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns the current value of ???.

Example: The following command returns the current value of ??? on ath0.

          myprompt# iwpriv ath0 get_rsncaps
        ath0        get_rsncaps:0  

hostroaming - Set Roaming Mode

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Auto Resets State Machine After Command: No

This command sets the roaming mode which is effectively who controls the operation (state transitions) of the 802.11 state machine when running as a station. Stations are either controlled by the driver (typically when management frames are processed by the hardware), the host (auto/normal operation of the 802.11 layer), or explicitly through ioctl requests when applications such as wpa_supplicant want control. A single argument is passed to the driver indicating the desired roaming mode. Table 5 lists the arguments and corresponding roaming modes.

Argument Roaming Mode Description
0 Device Driver/hardware control
1 Auto 802.11 layer control
2 Manual ioctl/application control

Table 5: Roaming Mode Arguments

Example: The following command sets the roaming mode to Auto on ath0.

          myprompt# iwpriv ath0 hostroaming 1  

get_hostroaming - Get Roaming Mode

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns the roaming mode of the device. The returned value corresponds to the modes given in Table 5.

Example: The following command returns the roaming mode of ath0:

          myprompt# iwpriv ath0 get_hostroaming
        ath0        get_hostroaming:1  

privacy - Enable/Disable Privacy

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Disabled Resets State Machine After Command: No

This command enables or disables privacy on the device. Passing a value of 1 enables privacy. Passing a value of 0 disables privacy.

Example: The following command enables privacy on ath0:

          myprompt# iwpriv ath0 privacy 1  

get_privacy - Get Privacy Status

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns the privacy status on the device. A value of 1 indicates privacy is enabled. A value of 0 indicates privacy is disabled.

Example: The following command returns the privacy status on ath0:

          myprompt# iwpriv ath0 get_privacy
        ath0        get_privacy:0  

dropunencrypted - Enable/Disable Dropping of Unencrypted non-PAE frames

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Disabled Resets State Machine After Command: No

This command enables or disables dropping of unencrypted non-PAE frames received. Passing a value of 1 enables dropping of unencrypted non-PAE frames. Passing a value of 0 disables dropping of unencrypted non-PAE frames.

Example: The following command enables dropping of unencrypted non-PAE frames on ath0:

          myprompt# iwpriv ath0 dropunencrypted 1  

get_dropunencry - Get Status of Dropping of Unencrypted non-PAE frames

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether the device is dropping unencrypted non-PAE frames. A value of 1 indicates that unencrypted non-PAE frames are being dropped. A value of 0 indicates that unencrypted non-PAE frames are not being dropped.

Example: The following command returns whether ath0 is dropping unencrypted non-PAE frames:

          myprompt# iwpriv ath0 get_dropunencry
        ath0        get_dropunencry:0  

get_wpa - Get WPA/WPA2 Support

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command gets the current status of WPA/WPA2 support in the driver.

Example: The following command retrieves the status of WPA/WPA2 support in the driver:

          myprompt# iwpriv ath0 get_wpa
        ath0        get_wpa:0  

countermeasures - Enable/Disable WPA/WPA2 Countermeasures

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Disabled Resets State Machine After Command: No

This command enables or disables WPA/WPA2 countermeasures. Passing a value of 1 enables countermeasures if WPA or WPA2 are enabled. Passing a value of 0 disables countermeasures.

Example: The following command enables WPA/WPA2 countermeasures in the driver:

          myprompt# iwpriv ath0 countermeasures 1  

get_countermeas - Get Status of WPA/WPA2 Countermeasures

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Disabled Resets State Machine After Command: No

This command returns the status of WPA/WPA2 countermeasure support. A value of 1 indicates WPA/WPA2 countermeasures are enabled. A value of 0 indicates WPA/WPA2 countermeasures are disabled.

Example: The following command retrieves the status of WPA/WPA2 countermeasures in the driver:

          myprompt# iwpriv ath0 get_countermeas
        ath0        get_countermeas:0  

get_driver_caps - Get Driver Capabilities

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command gets the current driver capabilities. The bitmask of capabilities can be found in the file net80211/ieee80211_var.h.

Example: The following command retrieves the capabilities of the driver

          myprompt# iwpriv ath0 get_driver_caps
        ath0        get_driver_caps:126018575  

addmac - Add MAC address to ACL list

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: No

This command takes a single argument which is the MAC address to be added to the ACL list.

Example: The following command adds the MAC address 00:03:7F:03:A0:0C to the ACL list.

          myprompt# iwpriv ath0 add_mac 00:03:7f:03:a0:0c  

delmac - Delete MAC address to ACL list

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: No

This command takes a single argument which is the MAC address to be deleted from the ACL list.

Example: The following command deletes the MAC address 00:03:7F:03:A0:0C from the ACL list.

          myprompt# iwpriv ath0 del_mac 00:03:7F:03:A0:0C  

maccmd - Set or Modify the MAC/ACL Handling

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: No

This command takes a single argument which describes the action one wishes to take on the MAC/ACL list. MAC addresses can be added/deleted from the ACL list using the addmac and delmac commands. Table 6 gives the commands and their associated actions.

Argument Action
0 No ACL checking is performed
1 Only allow ACLs in the ACL list
2 Only deny ACLs in the ACL list
3 Flush the ACL database
4 Remove the ACL policy

Table 6: ACL Commands

Example: The following command denies traffic to all MAC addresses in the ACL list on ath0.

          myprompt# iwpriv ath0 maccmd 2  

kickmac - Disassociate an associated station

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: No

This command takes a single argument which is the MAC address of a currently associated client. The client is immediately sent a disassociate frame (with an unspecified reason). There is nothing to prevent the client from immediately reassociating. If you are wishing to permanently remove a client from the access point you will need to also make use of the maccmd, addmac and delmac commands to configure the appropriate ACL entries.

Example: The following command immediately disassociates the client with MAC address 00:03:7f:03:42:3f.

         myprompt# iwpriv ath0 kickmac 00:03:7f:03:42:3f  

wmm - WMM Support Enable/Disable

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Enabled Resets State Machine After Command: Yes

This command enables or disables WMM support. Passing a value of 1 to the driver enables WMM. Passing a value of 0 to the driver disables WMM. By default, WMM is enabled.

Example: The following command disables WMM support on ath0.

         myprompt# iwpriv ath0 wmm 0  

get_wmm - Get WMM Support

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether WMM support is enabled or disabled in the driver.

Example: The following command retrieves the status of WMM support in the driver:

          myprompt# iwpriv ath0 get_wmm
        ath0        get_wmm:1  

cwmin - WMM CWmin Parameter

Number of Input Arguments: 3 Number of Returned Arguments: 0 Default Value: Varies Resets State Machine After Command: No

This command sets the CWmin WMM parameter for either the AP or station parameter set. A description of the AP and station parameter set and their default values can be found in the WMM standard. The cwmin command must be followed by 3 values. The first value is the access class (AC) number as defined in Table 7 taken from the WMM standard. The second value indicates whether the CWmin value is intended for the AP or station parameter set. A value of 0 indicates the CWmin is for the AP parameter set. A value of 1 indicates the CWmin is for the station parameter set. The third value is the actual value of the CWmin in units as described in the WMM standard.

AC Number Access Class Description
0 BE - Best Effort
1 BK - Background
2 VI - Video
3 VO - Voice

Table 7: Access class (AC) Values

Example: The following command sets the CWmin in the station parameter set for the VO AC to 2.

          myprompt# iwpriv ath0 cwmin 3 1 2  

get_cwmin - Get WMM CWmin Parameter

Number of Input Arguments: 2 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command retrieves the CWmin WMM parameter for either the AP or station parameter set. The get_cwmin command must be followed by 2 values. The first value is the access class (AC) number as defined in Table 7. The second value indicates whether to retrieve the value from the AP or station parameter set. A value of 0 indicates the CWmin is from the AP parameter set. A value of 1 indicates the CWmin is from the station parameter set.

Example: The following command gets the CWmin in the AP parameter set for the VI AC.

          myprompt# iwpriv ath0 get_cwmin 2 0
        ath0        get_cwmax:4  

cwmax - WMM CWmax Parameter

Number of Input Arguments: 3 Number of Returned Arguments: 0 Default Value: Varies Resets State Machine After Command: No

This command sets the CWmax WMM parameter for either the AP or station parameter set. The cwmax command must be followed by 3 values. The first value is the access class (AC) number as defined in Table 7. The second value indicates whether the CWmax value is intended for the AP or station parameter set. A value of 0 indicates the CWmax is for the AP parameter set. A value of 1 indicates the CWmax is for the station parameter set. The third value is the actual value of the CWmax in units as described in the WMM standard.

Example: The following command sets the CWmax in the AP parameter set for the BK AC to 5.

          myprompt# iwpriv ath0 cwmax 1 0 5  

get_cwmax - Get WMM CWmax Parameter

Number of Input Arguments: 2 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command retrieves the CWmax WMM parameter for either the AP or station parameter set. The get_cwmax command must be followed by 2 values. The first value is the access class (AC) number as defined in Table 7. The second value indicates whether to retrieve the value from the AP or Station parameter set. A value of 0 indicates the CWmax is from the AP parameter set. A value of 1 indicates the CWmax is from the station parameter set.

Example: The following command gets the CWmax in the station parameter set for the BE AC.

          myprompt# iwpriv ath0 get_cwmax 0 1
        ath0        get_cwmax:10  

txoplimit - WMM TxOp Limit Parameter

Number of Input Arguments: 3 Number of Returned Arguments: 0 Default Value: Varies Resets State Machine After Command: No

This command sets the TxOp limit WMM parameter for either the AP or station parameter set. The txoplimit command must be followed by 3 values. The first value is the access class (AC) number as defined in Table 7. The second value indicates whether the TxOp limit is intended for the AP or station parameter set. A value of 0 indicates the TxOp limit is for the AP parameter set. A value of 1 indicates the TxOp limit is for the station parameter set. The third value is the actual value of the TxOp limit in units as described in the WMM standard.

Example: The following command sets the TxOp limit in the AP parameter set for the BE AC to 1024.

          myprompt# iwpriv ath0 txoplimit 0 0 1024  

get_txoplimit - Get WMM TxOp Limit Parameter

Number of Input Arguments: 2 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command retrieves the TxOp Limit WMM parameter for either the AP or station parameter set. The get_txoplimit command must be followed by 2 values. The first value is the access class (AC) number as defined in Table 7. The second value indicates whether to retrieve the value from the AP or station parameter set. A value of 0 indicates the TxOp limit is from the AP parameter set. A value of 1 indicates the TxOp limit is from the station parameter set.

Example: The following command gets the TxOp limit in the station parameter set for the BE AC.

          myprompt# iwpriv ath0 get_txoplimit 0 1
        ath0        get_txoplimit:2048  

aifs - WMM AIFS Parameter

Number of Input Arguments: 3 Number of Returned Arguments: 0 Default Value: Varies Resets State Machine After Command: No

This command sets the AIFS WMM parameter for either the AP or station parameter set. The aifs command must be followed by 3 values. The first value is the access class (AC) number as defined in Table 7. The second value indicates whether the AIFS is intended for the AP or station parameter set. A value of 0 indicates the AIFS is for the AP parameter set. A value of 1 indicates the AIFS is for the station parameter set. The third value is the actual AIFS value in units as described in the WMM standard.

Example: The following command sets the AIFS value in the AP parameter set for the BE AC to 3.

          myprompt# iwpriv ath0 aifs 0 0 3 

get_aifs - Get WMM AIFS Parameter

Number of Input Arguments: 2 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command retrieves the AIFS WMM parameter for either the AP or station parameter set. The get_aifs command must be followed by 2 values. The first value is the access class (AC) number as defined in Table 7. The second value indicates whether to retrieve the value from the AP or station parameter set. A value of 0 indicates the AIFS value is from the AP parameter set. A value of 1 indicates the AIFS value is from the station parameter set.

Example: The following command gets the AIFS value in the station parameter set for the BE AC.

           iwpriv ath0 get_aifs 0 1
        ath0        get_aifs:2  

acm - WMM ACM Bit Value

Number of Input Arguments: 3 Number of Returned Arguments: 0 Default Value: Varies Resets State Machine After Command: No

This command sets the ACM bit value in the WMM parameters for the station parameter set. The acm command must be followed by 3 values. The first value is the access class (AC) number as defined in Table 7. The second value indicates the ACM bit value is intended for the station parameter set. Thus, the second value should always be 1. The third value is the desired ACM bit value (either 0 or 1).

Example: The following command sets the ACM bit to 1 in the station parameter set for the BE AC.

          myprompt# iwpriv ath0 acm 0 1 1  

get_acm - Get WMM ACM Bit Value

Number of Input Arguments: 2 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command retrieves the ACM bit value in the current station WMM parameter set. The get_acm command must be followed by 2 values. The first value is the access class (AC) number as defined in Table 7. The second value indicates the ACM value is from the station parameter set, thus the second value should be 1.

Example: The following command gets the ACM bit value in the station parameter set for the BE AC.

          myprompt# iwpriv ath0 get_acm 0 1
        ath0        get_acm:0  

noackpolicy - WMM NoAck? Policy Bit Value

Number of Input Arguments: 3 Number of Returned Arguments: 0 Default Value: Varies Resets State Machine After Command: No

This command sets the NoAck? Policy bit value in the WMM parameters for the AP parameter set. The noackpolicy command must be followed by 3 values. The first value is the access class (AC) number as defined in Table 7. The second value indicates the NoAck? policy bit value is intended for the AP parameter set. Thus, the second value should always be 0. The third value is the desired NoAck? Policy bit value (either 0 or 1).

Example: The following command sets the NoAck? Policy bit to 1 in the AP parameter set for the BE AC.

          myprompt# iwpriv ath0 noackpolicy 0 1 1  

get_noackpolicy - Get WMM NoAck? Policy Bit Value

Number of Input Arguments: 2 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command retrieves the NoAck? Policy bit value in the current AP WMM parameter set. The get_noackpolicy command must be followed by 2 values. The first value is the access class (AC) number as defined in Table 7. The second value indicates the NoAck? policy value is from the AP parameter set, thus the second value should be 0.

Example: The following command gets the NoAck? Policy bit value in the AP parameter set for the BE AC.

          myprompt# iwpriv ath0 get_noackpolicy 0 1
        ath0        get_noackpolicy:0  

ff - Atheros Fast Frame Support Enable/Disable

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Enabled Resets State Machine After Command: No

This command enables or disables Atheros Fast Frame support. Passing a value of 1 to the driver enables fast frames. Passing a value of 0 to the driver disables fast frames. By default, fast frames is enabled if the hardware supports fast frames.

Example: The following command disables Atheros Fast Frame support on ath0.

          myprompt# iwpriv ath0 ff 0  

get_ff - Get Atheros Fast Frame Support

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether Atheros Fast Frame support is enabled or disabled in the driver.

Example: The following command retrieves the status of Atheros Fast Frame support in the driver:

          myprompt# iwpriv ath0 get_ff
        ath0        get_ff:1  

xr - Atheros XR Support Enable/Disable

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Disabled Resets State Machine After Command: No

This command enables or disables Atheros XR support in the driver. Passing a value of 1 to the driver enables XR support. Passing a value of 0 to the driver disables XR support.

Example: The following command enables Atheros XR support in the driver:

          myprompt# iwpriv ath0 xr 1  

get_xr - Get Atheros XR Support

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether Atheros XR support is enabled or disabled in the driver.

Example: The following command retrieves the status of Atheros XR support in the driver:

          myprompt# iwpriv ath0 get_xr
        ath0        get_xr:1  

burst - Atheros SuperA/G Bursting Support Enable/Disable

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Enabled Resets State Machine After Command: No

This command enables or disables Atheros SuperA/G bursting support in the driver. Passing a value of 1 to the driver enables SuperG bursting. Passing a value of 0 to the driver disables SuperA/G bursting.

Example: The following command disables Atheros SuperA/G bursting in the driver:

          myprompt# iwpriv ath0 burst 0  

get_burst - Get Atheros SuperA/G Bursting Support

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether Atheros SuperA/G bursting support is enabled or disabled in the driver.

Example: The following command retrieves the status of Atheros SuperA/G bursting support in the driver:

          myprompt# iwpriv ath0 get_burst
        ath0        get_burst:1  

ar - Atheros SuperA/G Adaptive Radio (AR) Support Enable/Disable

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Enabled Resets State Machine After Command: No

This command enables or disables Atheros SuperA/G Adaptive Radio (AR)support in the driver. Passing a value of 1 to the driver enables AR. Passing a value of 0 to the driver disables AR.

Example: The following command disables Atheros SuperA/G AR in the driver:

          myprompt# iwpriv ath0 ar 0  

get_ar - Get Atheros SuperA/G Adaptive Radio (AR) Support

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether Atheros SuperA/G AR support is enabled or disabled in the driver.

Example: The following command retrieves the status of Atheros SuperA/G AR support in the driver:

          myprompt# iwpriv ath0 get_ar
        ath0        get_ar:1  

compression - Atheros SuperA/G Compression Support Enable/Disable

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Disabled Resets State Machine After Command: No

This command enables or disables Atheros SuperA/G compression in the driver. Passing a value of 1 to the driver enables hardware compression. Passing a value of 0 to the driver disables hardware compression.

Example: The following command disables Atheros SuperA/G hardware compression in the driver:

          myprompt# iwpriv ath0 compression 0  

get_compression - Get Atheros SuperA/G Compression Support

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether Atheros SuperA/G hardware compression support is enabled or disabled in the driver.

Example: The following command retrieves the status of Atheros SuperA/G hardware compression support in the driver:

          myprompt# iwpriv ath0 get_compression
        ath0        get_compression:0  

abolt - Set ABOLT value

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Varies Resets State Machine After Command: Yes

This command sets the abolt value used to control the Atheros proprietary features. This is a bitmask where each bit position corresponds to a feature. Setting the bit to 1 enables the feature if hardware is capable. Setting the bit to 0 disables the feature. The bitmask is described in Table 8.

Bit Position Feature
1 Static Turbo G (disabled)
2 Dynamic turbo
3 Compression
4 Fast Frames
5 Bursting
6 WMM based cwmin/cwmax/burst tuning
7 XR
8 AR

Table 8: Abolt Bit Position Definitions

pureg - Use Only 802.11g Data Rates (no legacy 802.11b support) Enable/Disable

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Disabled Resets State Machine After Command: Yes

This command enables or disables 802.11g only operation (no legacy 802.11b rates are supported). Passing a value of 1 to the driver enables 802.11g rates only operation (rates below 6Mbps are disabled). Passing a value of 0 to the driver disables 802.11g only operation and allows legacy 802.11b rates to be supported.

Example: The following command enables 802.11g rates only operation. Thus, no rates below 6Mbps will be supported.

          myprompt# iwpriv ath0 pureg 0  

As of r4096, this command doesn't function as described.

get_pureg - Get Status of 802.11g Only Data Rates Support

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether the driver is using only 802.11g rates (no rates below 6Mbps).

Example: The following command returns whether the driver supports 802.11g rates only.

          myprompt# iwpriv ath0 get_pureg
        ath0        get_pureg:0  

wds - Enable/Disable 4 Address (WDS) Parsing

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: N/A Resets State Machine After Command: No

This command enables or disables 4 address parsing on the device. For Stations, enabling 4 address parsing results in the station passing up any packet received in a 4 address from to the network layer. Also, any unicast packet not destined for the AP which is passed to the station by the network layer will be sent in 4 address mode. For APs, enabling 4 address parsing will result in the AP forwarding packets to any MAC address from which it has received a 4 address packet. Passing a value of 1 will enable 4 address parsing. Passing a value of 0 will disable 4 address parsing.

Example: The following command enables 4 address parsing on ath0:

          myprompt# iwpriv ath0 wds 1  

get_wds - Get Status of 4 Address (WDS) Parsing

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether 4 address parsing is enabled or disabled in the driver. A value of 1 indicates that 4 address parsing is enabled. A value of 0 indicates that 4 address parsing is disabled.

Example: The following command returns the stats of address parsing on ath0:

          myprompt# iwpriv ath0 get_wds
        ath0        get_wds:0  

countryie - Enable Country IE in Beacon Enable/Disable

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Disabled Resets State Machine After Command: Yes

This command enables and disables generation of country IE in beacon and probe response. To enable the support, a value of 1 is passed into the driver. To disable, a value of 0 is passed into the driver.

Example: The following command enables country ie in beacon on ath0:

          myprompt# iwpriv ath0 countryie 1  

get_countryie - Get Country IE Status

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether country IE is enabled or disabled in the driver.

Example: The following command retrieves the country IE status on ath0:

          myprompt# iwpriv ath0 get_countryie
        ath0        get_countryie:0  

coverageclass - Set Coverage Class for AP

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: 0 Resets State Machine After Command: Yes

This commands sets the coverage class for AP. Coverage class determines the air propagation time used in BSS operation. The coverageclass value can be between 0 to 31. The coverageclass value is sent by AP via country IE element in beacon.

Example: The following command sets the coverage class to 12. on ath0:

          myprompt# iwpriv ath0 coverageclass 12 

get_coveragecls - Get Coverage Class Value

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This commands gets current coverage class value.

Example: The following command gets coverageclass value on ath0:

          myprompt# iwpriv ath0 get_coveragecls
        ath0        get_coveragecls:12  

regclass - Enable Regulatory class ids to be used in country IE in Beacon. Enable/Disable

Number of Input Arguments: 1 Number of Returned Arguments: 0 Default Value: Disabled Resets State Machine After Command: Yes

This command enables advertising regclass ids in country IE in beacon instead of regular channel triplet (chan no/no.of channels/max transmit power). If set country does not have any regclass ids defined, it reverts back to regular triplet. The option needs to be enabled when using coverageclass. To enable the support, a value of 1 is passed into the driver. To disable, a value of 0 is passed into the driver.

Example: The following command enables country ie in beacon on ath0:

          myprompt# iwpriv ath0 regclass 1  

get_regclass - Get Regulatory Class ID Status

Number of Input Arguments: 0 Number of Returned Arguments: 1 Default Value: N/A Resets State Machine After Command: No

This command returns whether regulatory class ids are getting advertised in country IE in beacon.

Example: The following command retrieves the country IE status on ath0:

          myprompt# iwpriv ath0 get_regclass
        ath0        get_regclass:0  

1.4 IOCTLS That Need Better Documentation

Not all private controls have been well documented. The following information is a work in progress. Please repair and add to it freely.

From /net80211/ieee80211_ioctl.h - NB: Even-numbered ioctl numbers have set semantics and are privileged!

ackrate - Set ACK Bitrate

    Number of Input Arguments:  1
    Number of Returned Arguments:  
    Default Value:  0
    Resets State Machine After Command:

This command adds the option to set ack bitrate (hi vs default),  it only works on 5212, 5213 devices. 

    Example:

sysctl -w dev.wifi0.ackrate=1 # send acks at high bit-rate
sysctl -w dev.wifi0.ackrate=0 # send it at a basic-rate (default)

setkey

setkey           (8BF2) : set  60 byte  & get   0
ieee80211_ioctl_setkey(struct net_device *dev, struct iw_request_info *info, void *w, char *extra)
Referenced in: 
ath/if_ath.c:2
net80211/ieee80211_crypto_ccmp.c:4
net80211/ieee80211_crypto.c:7
net80211/ieee80211_node.c:2
net80211/ieee80211_crypto_none.c:3
net80211/ieee80211_wireless.c:8
net80211/ieee80211_crypto_wep.c:3
net80211/ieee80211_crypto_tkip.c:3
tools/athkey.c:9
tools/80211stats.c:6
 
    Number of Input Arguments:   
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


delkey

delkey           (8BF4) : set   7 byte  & get   0
ieee80211_ioctl_delkey(struct net_device *dev, struct iw_request_info *info,void *w, char *extra)
Referenced in: 
ath/if_ath.c:2
net80211/ieee80211_crypto.c:7
net80211/ieee80211_node.c:1
net80211/ieee80211_wireless.c:6
tools/athkey.c:4
tools/80211stats.c:1 
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


setmlme

setmlme          (8BF0) : set  42 byte  & get   0
Referenced in: 
net80211/ieee80211_wireless.c:5
 
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


kickmac

kickmac          (8BFE) : set   1 addr  & get   0
Referenced in: 
net80211/ieee80211_wireless.c:3
 
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


wds_add

wds_add          (8BFA) : set   1 addr  & get   0
Referenced in: 
net80211/ieee80211_node.c:12
net80211/ieee80211_wireless.c:1
net80211/ieee80211_input.c:3
net80211/ieee80211_output.c:1
net80211/ieee80211_proto.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


wds_del

wds_del          (8BFC) : set   1 addr  & get   0
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


setchanlist

setchanlist      (8BE6) : set  32 byte  & get   0
Referenced in: 
net80211/ieee80211_wireless.c:3
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:

getchanlist

getchanlist      (8BE7) : set   0       & get  32 byte
Referenced in: 
net80211/ieee80211_wireless.c:3
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


getchaninfo

getchaninfo      (8BED) : set   0       & get 2044 byte
Referenced in: 
net80211/ieee80211_wireless.c:3
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


setwmmparams

setwmmparams     (8BE4) : set   4 int   & get   0
Referenced in: 
net80211/ieee80211_wireless.c:3
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


getwmmparams

getwmmparams     (8BE5) : set   3 int   & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:3
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


setparam

setparam         (8BE0) : set   2 int   & get   0
Referenced in: 
net80211/ieee80211_wireless.c:13
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


getparam

getparam         (8BE1) : set   1 int   & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:12
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


authmode - authentication mode

authmode         (0003) : set   1 int   & get   0
Referenced in: 
ath/if_ath.c:1
net80211/ieee80211_node.c:7
net80211/ieee80211_wireless.c:5
net80211/ieee80211_input.c:6
net80211/ieee80211_output.c:2
net80211/ieee80211_proto.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_authmode

Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


mcastkeylen

mcastkeylen      (0006) : set   1 int   & get   0
Referenced in: 
net80211/ieee80211_node.c:1
net80211/ieee80211_wireless.c:4
net80211/ieee80211_input.c:3
net80211/ieee80211_output.c:2
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_mcastkeylen

get_mcastkeylen  (0006) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_uciphers

get_uciphers     (0007) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


hostroaming - roaming mode ??

hostroaming      (000C) : set   1 int   & get   0
Referenced in: 
net80211/ieee80211_wireless.c:2
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_hostroaming

get_hostroaming  (000C) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


driver_caps - driver capabilities

driver_caps      (0010) : set   1 int   & get   0
Referenced in: 
net80211/ieee80211_wireless.c:2
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


abolt

abolt            (001A) : set   1 int   & get   0
Referenced in: 
net80211/ieee80211_wireless.c:3
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_abolt - Atheros Adv. Capabilities

get_abolt        (001A) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


turbo- turbo mode

turbo            (0001) : set   1 int   & get   0
Referenced in: 
ath/if_ath.c:20
ath_rate/sample/sample.c:1
net80211/ieee80211.c:2
net80211/ieee80211_node.c:4
net80211/ieee80211_beacon.c:1
net80211/ieee80211_scan_sta.c:7
net80211/ieee80211_wireless.c:8
net80211/ieee80211_input.c:4
net80211/ieee80211_scan_ap.c:6
net80211/ieee80211_proto.c:3
tools/80211debug.c:1
tools/athdebug.c:2
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_turbo

get_turbo        (0001) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


doth_chanswitch

doth_chanswitch  (8BE8) : set   2 int   & get   0
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


bgscan - bg scanning (on, off)

bgscan           (0028) : set   1 int   & get   0

bgscan - Enable or disable background scanning. By default it is on so it can be turned off by setting it to 0.

Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_bgscan

get_bgscan       (0028) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


bgscanidle - bg scan idle threshold

bgscanidle       (0029) : set   1 int   & get   0

bgscanidle - How often is background scanning done. Measured in milliseconds.

 By default it is set to 250. The minimum is 100. 

This measures how long the medium must be idle for before it begins a background scan.

The idle time is probably based upon unicast traffic sent/received by this node. 
Background scan tells the AP that it's going to sleep for a specified duration 
while it does the scan... so no inbound traffic is lost.  The issue is really one 
of user experience.

Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_bgscanidle

get_bgscanidle   (0029) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


bgscanintvl - bg scan interval

bgscanintvl      (002A) : set   1 int   & get   0

bgscanintvl - How often a background scan is performed. Measured in seconds.
 By default it is set to 300s or 5 mins. The minimum is 15 seconds.

Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_bgscanintvl

get_bgscanintvl  (002A) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


mcast_rate -Multicast Tx Rate

mcast_rate       (002B) : set   1 int   & get   0
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_mcast_rate

get_mcast_rate   (002B) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


scanvalid = scan cache valid threshold

scanvalid        (002E) : set   1 int   & get   0
> scanvalid - Scan cache valid threshold. By default it is 60. Not really 
> sure what this does.

scanvalid - How long (seconds) are the scan cache contents regarded valid.
 If the last scan is too old the cache is refreshed with a new scan before an AP is 
selected, e.g. after losing AP association (beacon miss) or manually with
 'iwconfig ath0 ap auto'. Preventive roaming in sta_roam_check() also uses 
scanvalid.  Any single scan will not see all the nodes because of the brief window 
of passive scanning for some DFS channels and intermittent hidden node problems.

Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_scanvalid

get_scanvalid    (002E) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


rssi11a - rssi threshold in 11a

rssi11a          (002F) : set   1 int   & get   0
Referenced in: 
net80211/ieee80211_scan.c:1
net80211/ieee80211_scan_sta.c:1
net80211/ieee80211_wireless.c:3
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_rssi11a

get_rssi11a      (002F) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


rssi11b - rssi threshold in 11b

rssi11b          (0030) : set   1 int   & get   0
Referenced in: 
net80211/ieee80211_scan.c:1
net80211/ieee80211_scan_sta.c:1
net80211/ieee80211_wireless.c:3
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_rssi11b - rssi threshold in 11g

get_rssi11b      (0030) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


rssi11g

rssi11g          (0031) : set   1 int   & get   0
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_rssi11g

get_rssi11g      (0031) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


rate11a - tx rate threshold in 11a

rate11a          (0032) : set   1 int   & get   0
Referenced in: 
net80211/ieee80211_scan.c:1
net80211/ieee80211_scan_sta.c:1
net80211/ieee80211_wireless.c:3
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_rate11a

get_rate11a      (0032) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


rate11b - tx rate threshold in 11b

rate11b          (0033) : set   1 int   & get   0
Referenced in: 
net80211/ieee80211_scan.c:1
net80211/ieee80211_scan_sta.c:1
net80211/ieee80211_wireless.c:3
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_rate11b

get_rate11b      (0033) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


rate11g - tx rate threshold in 11g

rate11g          (0034) : set   1 int   & get   0
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_rate11g

get_rate11g      (0034) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


uapsd

Unscheduled Automatic Power Save Delivery (UAPSD) is a strategy for the delivery of downlink buffered frames in the AP to the appropriate station without the need for PS Polls to indicate that the PS station is awake and ready to receive transmitted frames. Unscheduled Automatic Power Save Delivery defaults to on if the hardware is capable and we have sufficient hardware queues to do proper priority scheduling ( per comments in if_ath.c). The UAPSD queing and state can be reported by ath_debug. While there is extensive logic to implement UAPSD in if_ath.c, I haven't figured out what the uapsd ioctl does explicitly.

uapsd (0035) : set 1 int & get 0 Referenced in: ath/if_ath.c:1 net80211/ieee80211_wireless.c:1 tools/athdebug.c:2

Number of Input Arguments: Number of Returned Arguments: Default Value: Resets State Machine After Command:

Example:

}}}

get_uapsd

get_uapsd (0035) : set 0 & get 1 int

Unscheduled Automatic Power Save Delivery (APSD) is a strategy for the delivery of downlink buffered frames in the AP to the appropriate station without the need for PS Polls to indicate that the PS station is awake and ready to receive transmitted frames.

   This ioctl sets IEEE80211_PARAM_UAPSDINFO, which is used in ieee80211_wireless.c as follows:
  	        case IEEE80211_PARAM_UAPSDINFO:
  	                if (vap->iv_opmode == IEEE80211_M_HOSTAP) {
  	                        if (ic->ic_caps & IEEE80211_C_UAPSD) {
  	                                if (value)
  	                                        IEEE80211_VAP_UAPSD_ENABLE(vap);
  	                                else
  	                                        IEEE80211_VAP_UAPSD_DISABLE(vap);
  	                                retv = ENETRESET;
  	                        }
  	                } else if (vap->iv_opmode == IEEE80211_M_STA) {
  	                        vap->iv_uapsdinfo = value;
  	                        IEEE80211_VAP_UAPSD_ENABLE(vap);
  	                        retv = ENETRESET;
  	                }
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


sleep - force sleep/wake

sleep            (0036) : set   1 int   & get   0

This ioctl sets IEEE80211_PARAM_SLEEP and forces sleep for testing. It does not actually place the HW in sleep mode yet. This only makes sense for STAs.

                if (value) {
                        /* goto sleep */
                        IEEE80211_VAP_GOTOSLEEP(vap);
	                } else {
	               /* wakeup */
                        IEEE80211_VAP_WAKEUP(vap);
               }

Referenced in: 
ath/if_ath.c:9
net80211/ieee80211_wireless.c:4
net80211/ieee80211_power.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_sleep

get_sleep        (0036) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


qosnull

qosnull          (0037) : set   1 int   & get   0

This var sets  IEEE80211_PARAM_QOSNULL and forces a QoS Null for testing.

Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


pspoll - force ps-poll generation (sta only)

pspoll           (0038) : set   1 int   & get   0

This var sets IEEE80211_PARAM_PSPOLL and forces a PS-POLL for testing.

Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


eospdrop - force uapsd EOSP drop (ap only)

eospdrop (0039) : set 1 int & get 0

Unscheduled Automatic Power Save Delivery (APSD) is a strategy for the delivery of downlink buffered frames in the AP to the appropriate station without the need for PS Polls to indicate that the PS station is awake and ready to receive transmitted frames.

The AP sets the EOSP (end of service period) bit to 1 in the last frame it transmits in order to signal to the station that it will not transmit any more frames downlink until the next service period. This signals the station that it can go back to sleep.

See " Delivery of buffered frames to power saving stations in wireless local area networks", http://64.233.167.104/search?q=cache:Is3gYzROElkJ:www.freepatentsonline.com/20050213534.html+EOSP+frame&hl=en&ct=clnk&cd=2&gl=us for more discussion of power saving.

Referenced in: 
net80211/ieee80211_wireless.c:1
Ticket #900: ath-mib-irq-status-debug.diff

    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_eospdrop

get_eospdrop     (0039) : set   0       & get   1 int
Referenced in: 
net80211/ieee80211_wireless.c:1
    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


markdfs - mark a dfs interference channel when found

markdfs (003A) : set 1 int & get 0

Dynamic Frequency Selection (DFS) is a requirement for IEEE 802.11h for 5 GHz outdoor use in ETSI regulation domain. DFS ensures that channels containing radar are avoided by an Access Point (AP) and energy is spread acoss the band to reduce interference to satellites.

Referenced in:

Changeset 2214: Strip out old DFS processing code due to HAL API changes, HAL 0.9.20.3 has no procdfs method. The dfstest timer has been removed. Still wait before transmitting on a channel to see if the channel is clear.

Ticket #678 Radar Detection does not work. Appearently, the presence of a radar signal should invoke ath_hal_radar_event, but as of 5/13/07, it does not (mike.taylor@apprion.com indicates that he's currrently working on a fix). The PHY chip detected radar perfectly when manipulated directly, but none of the radar related HAL functions seemed to do anything. To get interrupted after a radar pulse: * enable HAL_INT_RXPHY in the interrupt mask (via HAL), see ar5212reg.h from openhal.

net80211/ieee80211.c:1
net80211/ieee80211_wireless.c:1

    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example:


get_markdfs

get_markdfs      (003A) : set   0       & get   1 int

Referenced in: 
net80211/ieee80211_wireless.c:1

    Number of Input Arguments:  
    Number of Returned Arguments:  
    Default Value:  
    Resets State Machine After Command:

    Example: