mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-01 08:11:52 +02:00
fb189822fc
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15918 3c298f89-4303-0410-b956-a3cf2f4a3e73
4422 lines
116 KiB
C
4422 lines
116 KiB
C
/*
|
||
*
|
||
* Copyright (c) 2004-2007 Atheros Communications Inc.
|
||
* All rights reserved.
|
||
*
|
||
*
|
||
* This program is free software; you can redistribute it and/or modify
|
||
* it under the terms of the GNU General Public License version 2 as
|
||
* published by the Free Software Foundation;
|
||
*
|
||
* Software distributed under the License is distributed on an "AS
|
||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||
* implied. See the License for the specific language governing
|
||
* rights and limitations under the License.
|
||
*
|
||
*
|
||
*
|
||
*/
|
||
|
||
|
||
#if 0
|
||
Wireless Module Interface (WMI) Documentaion
|
||
|
||
This section describes the format and the usage model for WMI control and
|
||
data messages between the host and the AR6000-based targets. The header
|
||
file include/wmi.h contains all command and event manifest constants as
|
||
well as structure typedefs for each set of command and reply parameters.
|
||
|
||
Data Frames
|
||
|
||
The data payload transmitted and received by the target follows RFC-1042
|
||
encapsulation and thus starts with an 802.2-style LLC-SNAP header. The
|
||
WLAN module completes 802.11 encapsulation of the payload, including the
|
||
MAC header, FCS, and WLAN security related fields. At the interface to the
|
||
message transport (HTC), a data frame is encapsulated in a WMI message.
|
||
|
||
WMI Message Structure
|
||
|
||
The WMI protocol leverages an 802.3-style Ethernet header in communicating
|
||
the source and destination information between the host and the AR6000
|
||
modules using a 14-byte 802.3 header ahead of the 802.2-style payload. In
|
||
addition, the WMI protocol adds a header to all data messages:
|
||
|
||
{
|
||
INT8 rssi
|
||
The RSSI of the received packet and its units are shown in db above the
|
||
noise floor, and the noise floor is shown in dbm.
|
||
UINT8 info
|
||
Contains information on message type and user priority. Message type
|
||
differentiates between a data packet and a synchronization message.
|
||
} WMI_DATA_HDR
|
||
|
||
User priority contains the 802.1d user priority info from host to target. Host
|
||
software translates the host Ethernet format to 802.3 format prior to Tx and
|
||
802.3 format to host format in the Rx direction. The host does not transmit the
|
||
FCS that follows the data. MsgType differentiates between a regular data
|
||
packet (msgType=0) and a synchronization message (msgType=1).
|
||
|
||
Data Endpoints
|
||
|
||
The AR6000 chipset provides several data endpoints to support quality of
|
||
service (QoS) and maintains separate queues and separate DMA engines for
|
||
each data endpoint. A data endpoint can be bi-directional.
|
||
|
||
Best effort (BE) class traffic uses the default data endpoint (2). The host can
|
||
establish up to two additional data endpoints for other traffic classes. Once
|
||
such a data endpoint is established, it sends and receives corresponding QoS
|
||
traffic in a manner similar to the default data endpoint.
|
||
|
||
If QoS is desired over the interconnect, host software must classify each data
|
||
packet and place it on the appropriate data endpoint. The information
|
||
required to classify data is generally available in-band as an 802.1p/q style
|
||
tag or as the ToS field in the IP header. The information may also be available
|
||
out-of-band depending on the host DDI.
|
||
|
||
Connection States
|
||
|
||
Table B-1 describes the AR6000 WLAN connection states:
|
||
|
||
Table B-1. AR6000 Connection States
|
||
|
||
Connection State
|
||
Description
|
||
|
||
DISCONNECTED
|
||
In this state, the AR6000 device is not connected to a wireless
|
||
network. The device is in this state after reset when it sends the
|
||
WIRELESS MODULE <20>READY<44> EVENT, after it processes a
|
||
DISCONNECT command, and when it loses its link with the
|
||
access point (AP) that it was connected to. The device signals a
|
||
transition to the DISCONNECTED state with a <20>DISCONNECT<43>
|
||
event.
|
||
|
||
CONNECTED
|
||
In this state, the AR6000 device is connected to wireless networks.
|
||
The device enters this state after successfully processing a
|
||
CONNECT, which establishes a connection with a wireless
|
||
network. The device signals a transition to the CONNECTED state
|
||
with a <20>CONNECT<43> event.
|
||
|
||
|
||
Message Types
|
||
|
||
WMI uses commands, replies, and events for the control and configuration of
|
||
the AR6000 device. The control protocol is asynchronous. Table B-2 describes
|
||
AR6000 message types:
|
||
|
||
Table B-2. AR6000 Message Types
|
||
|
||
Message Type
|
||
Description
|
||
|
||
Commands
|
||
Control messages that flow from the host to the device
|
||
|
||
Replies/Events
|
||
Control messages that flow from the device to the host.
|
||
|
||
The device issues a reply to some WMI commands, but not to others.
|
||
The payload in a reply is command-specific, and some commands do
|
||
not trigger a reply message at all. Events are control messages issued
|
||
by the device to signal the occurrence of an asynchronous event.
|
||
|
||
|
||
WMI Message Format
|
||
|
||
All WMI control commands, replies and events use the header format:
|
||
|
||
WMI_CMD_HDR Header Format
|
||
{
|
||
UINT16 id
|
||
This 16-bit constant identifies which WMI command the host is issuing,
|
||
which command the target is replying to, or which event has occurred.
|
||
WMI_CMD_HDR
|
||
}
|
||
|
||
|
||
A variable-size command-, reply-, or event-specific payload follows the
|
||
header. Over the interconnect, all fields in control messages (including
|
||
WMI_CMD_HDR and the command specific payload) use 32-bit little Endian
|
||
byte ordering and fields are packed. The AR6000 device always executes
|
||
commands in order, and the host may send multiple commands without
|
||
waiting for previous commands to complete. A majority of commands are
|
||
processed to completion once received. Other commands trigger a longer
|
||
duration activity whose completion is signaled to the host through an event.
|
||
|
||
Command Restrictions
|
||
|
||
Some commands may only be issued when the AR6000 device is in a certain
|
||
state. The host is required to wait for an event signaling a state transition
|
||
before such a command can be issued. For example, if a command requires
|
||
the device to be in the CONNECTED state, then the host is required to wait
|
||
for a <20>CONNECT<43> event before it issues that command.
|
||
|
||
The device ignores any commands inappropriate for its current state. If the
|
||
command triggers a reply, the device generates an error reply. Otherwise, the
|
||
device silently ignores the inappropriate command.
|
||
|
||
Command and Data Synchronization
|
||
|
||
WMI provides a mechanism for a host to advise the device of necessary
|
||
synchronization between commands and data. The device implements
|
||
synchronization; no implicit synchronization exists between endpoints.
|
||
|
||
The host controls synchronization using the <20>SYNCHRONIZE<5A> command
|
||
over the control channel and synchronization messages over data channels.
|
||
The device stops each data channel upon receiving a synchronization message
|
||
on that channel, processing all data packets received prior to that message.
|
||
After the device receives synchronization messages for each data endpoint
|
||
and the <20>SYNCHRONIZE<5A> command, it resumes all channels.
|
||
|
||
When the host must guarantee a command executes before processing new
|
||
data packets, it first issues the command, then issues the <20>SYNCHRONIZE<5A>
|
||
command and sends synchronization messages on data channels. When the
|
||
host must guarantee the device has processed all old data packets before a
|
||
processing a new command, it issues a <20>SYNCHRONIZE<5A> command and
|
||
synchronization messages on all data channels, then issues the desired
|
||
command.
|
||
|
||
|
||
|
||
WMI Commands
|
||
|
||
ADD_BAD_AP
|
||
Cause the AR6000 device to avoid a particular AP
|
||
ADD_CIPHER_KEY
|
||
Add or replace any of the four AR6000 encryption keys
|
||
ADD_WOW_PATTERN
|
||
Used to add a pattern to the WoW pattern list
|
||
CLR_RSSI_SNR
|
||
Clear the current calculated RSSI and SNR value
|
||
CONNECT_CMD
|
||
Request that the AR6000 device establish a wireless connection
|
||
with the specified SSID
|
||
CREATE_PSTREAM
|
||
Create prioritized data endpoint between the host and device
|
||
DELETE_BAD_AP
|
||
Clear an entry in the bad AP table
|
||
DELETE_CIPHER_KEY
|
||
Delete a previously added cipher key
|
||
DELETE_PSTREAM
|
||
Delete a prioritized data endpoint
|
||
DELETE_WOW_PATTERN
|
||
Remove a pre-specified pattern from the WoW pattern list
|
||
EXTENSION
|
||
WMI message interface command
|
||
GET_BIT_RATE
|
||
Retrieve rate most recently used by the AR6000
|
||
GET_CHANNEL_LIST
|
||
Retrieve list of channels used by the AR6000
|
||
GET_FIXRATES
|
||
Retrieves the rate-mask set via the SET_FIXRATES command.
|
||
GET_PMKID_LIST_CMD
|
||
Retrieve the firmware list of PMKIDs
|
||
GET_ROAM_DATA
|
||
Internal use for data collection; available in special build only
|
||
GET_ROAM_TBL
|
||
Retrieve the roaming table maintained on the target
|
||
GET_TARGET_STATS
|
||
Request that the target send the statistics it maintains
|
||
GET_TX_PWR
|
||
Retrieve the current AR6000 device Tx power levels
|
||
GET_WOW_LIST
|
||
Retrieve the current list of WoW patterns
|
||
LQ_THRESHOLD_PARAMS
|
||
Set the link quality thresholds
|
||
OPT_TX_FRAME
|
||
Send a special frame (special feature)
|
||
RECONNECT
|
||
Request a reconnection to a BSS
|
||
RSSI_THRESHOLD_PARAMS
|
||
Configure how the AR6000 device monitors and reports signal
|
||
strength (RSSI) of the connected BSS
|
||
SCAN_PARAMS
|
||
Determine dwell time and changes scanned channels
|
||
SET_ACCESS_PARAMS
|
||
Set access parameters for the wireless network
|
||
SET_ADHOC_BSSID
|
||
Set the BSSID for an ad hoc network
|
||
SET_AKMP_PARAMS
|
||
Set multiPMKID mode
|
||
SET_APPIE
|
||
Add application-specified IE to a management frame
|
||
SET_ASSOC_INFO
|
||
Specify the IEs the device should add to association or
|
||
reassociation requests
|
||
SET_AUTH_MODE
|
||
Set 802.11 authentication mode of reconnection
|
||
SET_BEACON_INT
|
||
Set the beacon interval for an ad hoc network
|
||
SET_BIT_RATE
|
||
Set the AR6000 to a specific fixed bit rate
|
||
SET_BMISS_TIME
|
||
Set the beacon miss time
|
||
SET_BSS_FILTER
|
||
Inform the AR6000 of network types about which it wants to
|
||
receive information using a <20>BSSINFO<46> event
|
||
SET_BT_PARAMS
|
||
Set the status of a Bluetooth stream (SCO or A2DP) or set
|
||
Bluetooth coexistence register parameters
|
||
SET_BT_STATUS
|
||
Set the status of a Bluetooth stream (SCO or A2DP)
|
||
SET_CHANNEL_PARAMETERS
|
||
Configure WLAN channel parameters
|
||
SET_DISC_TIMEOUT
|
||
Set the amount of time the AR6000 spends attempting to
|
||
reestablish a connection
|
||
SET_FIXRATES
|
||
Set the device to a specific fixed PHY rate (supported subset)
|
||
SET_HALPARAM
|
||
Internal AR6000 command to set certain hardware parameters
|
||
SET_HOST_SLEEP_MODE
|
||
Set the host mode to asleep or awake
|
||
SET_IBSS_PM_CAPS
|
||
Support a non-standard power management scheme for an
|
||
ad hoc network
|
||
SET_LISTEN_INT
|
||
Request a listen interval
|
||
SET_LPREAMBLE
|
||
Override the short preamble capability of the AR6000 device
|
||
SET_MAX_SP_LEN
|
||
Set the maximum service period
|
||
SET_OPT_MODE
|
||
Set the special mode on/off (special feature)
|
||
SET_PMKID
|
||
Set the pairwise master key ID (PMKID)
|
||
SET_PMKID_LIST_CMD
|
||
Configure the firmware list of PMKIDs
|
||
SET_POWER_MODE
|
||
Set guidelines on trade-off between power utilization
|
||
SET_POWER_PARAMS
|
||
Configure power parameters
|
||
SET_POWERSAVE_PARAMS
|
||
Set the two AR6000 power save timers
|
||
SET_PROBED_SSID
|
||
Provide list of SSIDs the device should seek
|
||
SET_REASSOC_MODE
|
||
Specify whether the disassociated frame should be sent upon
|
||
reassociation
|
||
SET_RETRY_LIMITS
|
||
Limit how many times the device tries to send a frame
|
||
SET_ROAM_CTRL
|
||
Control roaming behavior
|
||
SET_RTS
|
||
Determine when RTS should be sent
|
||
SET_SCAN_PARAMS
|
||
Set the AR6000 scan parameters
|
||
SET_TKIP_COUNTERMEASURES
|
||
Enable/disable reports of TKIP MIC errors
|
||
SET_TX_PWR
|
||
Specify the AR6000 device Tx power levels
|
||
SET_VOICE_PKT_SIZE
|
||
Set voice packet size
|
||
SET_WMM
|
||
Override the AR6000 WMM capability
|
||
SET_WMM_TXOP
|
||
Configure TxOP bursting when sending traffic to a WMM-
|
||
capable AP
|
||
SET_WOW_MODE
|
||
Enable/disable WoW mode
|
||
SET_WSC_STATUS
|
||
Enable/disable profile check in cserv when the WPS protocol
|
||
is in progress
|
||
SNR_THRESHOLD_PARAMS
|
||
Configure how the device monitors and reports SNR of BSS
|
||
START_SCAN
|
||
Start a long or short channel scan
|
||
SYNCHRONIZE
|
||
Force a synchronization point between command and data
|
||
paths
|
||
TARGET_REPORT_ERROR_BITMASK
|
||
Control <20>ERROR_REPORT<52> events from the AR6000
|
||
|
||
|
||
|
||
|
||
Name
|
||
ADD_BAD_AP
|
||
|
||
Synopsis
|
||
The host uses this command to cause the AR6000 to avoid a particular AP. The
|
||
AR6000 maintain a table with up to two APs to avoid. An ADD_BAD_AP command
|
||
adds or replaces the specified entry in this bad AP table.
|
||
|
||
If the AR6000 are currently connected to the AP specified in this command, they
|
||
disassociate.
|
||
|
||
Command
|
||
wmiconfig eth1 --badap <bssid> <badApIndex>
|
||
|
||
Command Parameters
|
||
UINT8 badApIndex Index [0...1] that identifies which entry in the
|
||
bad AP table to use
|
||
|
||
|
||
UINT8 bssid[6] MAC address of the AP to avoid
|
||
|
||
Command Values
|
||
badApIndex = 0, 1 Entry in the bad AP table to use
|
||
|
||
Reset Value
|
||
The bad AP table is cleared
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
<20>DELETE_BAD_AP<41> on page B-13
|
||
|
||
=====================================================================
|
||
Name
|
||
ADD_CIPHER_KEY
|
||
|
||
Synopsis
|
||
The host uses this command to add/replace any of four encryption keys on the
|
||
AR6000. The ADD_CIPHER_KEY command is issued after the CONNECT event
|
||
has been received by the host for all dot11Auth modes except for SHARED_AUTH.
|
||
When the dot11AuthMode is SHARED_AUTH, then the ADD_CIPHER_KEY
|
||
command should be issued before the <20>CONNECT<43> command.
|
||
|
||
Command
|
||
wmiconfig eth1 --cipherkey <keyIndex> <keyType> <keyUsage>
|
||
<keyLength> <keyopctrl> <keyRSC> <key>
|
||
|
||
Command Parameters
|
||
UINT8 keyIndex Index (0...3) of the key to add/replace;
|
||
uniquely identifies the key
|
||
UINT8 keyType CRYPTO_TYPE
|
||
UINT8 keyUsage Specifies usage parameters of the key when
|
||
keyType = WEP_CRYPT
|
||
UINT8 keyLength Length of the key in bytes
|
||
UINT8 keyOpCtrl bit[0] = Initialize TSC (default),
|
||
bit[1] = Initialize RSC
|
||
UINT8 keyRSC[8] Key replay sequence counter (RSC) initial
|
||
value the device should use
|
||
UINT8 key[32] Key material used for this connection
|
||
Command Values
|
||
{
|
||
NONE_CRYPT = 1
|
||
WEP_CRYPT = 2
|
||
TKIP_CRYPT = 3
|
||
AES_CRYPT = 4
|
||
KEY_OP_INIT_TSC 0x01
|
||
KEY_OP_INIT_RSC 0x02
|
||
KEY_OP_INIT_VAL 0x03
|
||
Default is to Initialize the TSC
|
||
KEY_OP_VALID_MASK 0x04
|
||
Two operations defined
|
||
} CRYPTO_TYPE
|
||
|
||
{
|
||
PAIRWISE_USAGE = 0 Set if the key is used for unicast traffic only
|
||
GROUP_USAGE = 1 Set if the key is used to receive multicast
|
||
traffic (also set for static WEP keys)
|
||
TX_USAGE = 2 Set for the GROUP key used to transmit frames
|
||
All others are reserved
|
||
} KEY_USAGE
|
||
|
||
Reset Value
|
||
The four available keys are disabled.
|
||
|
||
Restrictions
|
||
The cipher should correspond to the encryption mode specified in the <20>CONNECT<43>
|
||
command.
|
||
|
||
See Also
|
||
<20>DELETE_CIPHER_KEY<45>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
ADD_WOW_PATTERN
|
||
|
||
Synopsis
|
||
The host uses this command to add a pattern to the WoW pattern list; used for
|
||
pattern-matching for host wakeups by the WoW module. If the host mode is asleep
|
||
and WoW is enabled, all packets are matched against the existing WoW patterns. If a
|
||
packet matches any of the patterns specified, the target will wake up the host. All
|
||
non-matching packets are discarded by the target without being sent up to the host.
|
||
|
||
Command
|
||
wmiconfig <20>addwowpattern <list-id> <filter-size> <filter-offset>
|
||
<pattern> <mask>
|
||
|
||
Command Parameters
|
||
A_UINT8 filter_list_id ID of the list that is to include the new pattern
|
||
A_UINT8 filter_size Size of the new pattern
|
||
A_UINT8 filter_offset Offset at which the pattern matching for this
|
||
new pattern should begin at
|
||
A_UINT8 filter[1] Byte stream that contains both the pattern and
|
||
the mask of the new WoW wake-up pattern
|
||
|
||
Reply Parameters
|
||
None
|
||
|
||
Reset Value
|
||
None defined (default host mode is awake)
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
<20>DELETE_WOW_PATTERN<52>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
CLR_RSSI_SNR
|
||
|
||
Synopsis
|
||
Clears the current calculated RSSI and SNR value. RSSI and SNR are reported by
|
||
running-average value. This command will clear the history and have a fresh start
|
||
for the running-average mechanism.
|
||
|
||
Command
|
||
wmiconfig eth1 --cleanRssiSnr
|
||
|
||
Command Parameters
|
||
None
|
||
|
||
Reply Parameters
|
||
None
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
CONNECT_CMD
|
||
|
||
Synopsis
|
||
New connect control information (connectCtrl) is added, with 32 possible modifiers.
|
||
|
||
CONNECT_SEND_REASSOC
|
||
Valid only for a host-controlled connection to a
|
||
particular AP. If this bit is set, a reassociation frame is
|
||
sent. If this bit is clear, an association request frame is
|
||
sent to the AP.
|
||
|
||
CONNECT_IGNORE_WPAx_GROUP_CIPHER
|
||
No group key is issued in the CONNECT command,
|
||
so use the group key advertised by the AP. In a target-
|
||
initiated roaming situation this allows a STA to roam
|
||
between APs that support different multicast ciphers.
|
||
|
||
CONNECT_PROFILE_MATCH_DONE
|
||
In a host-controlled connection case, it is possible that
|
||
during connect, firmware may not have the
|
||
information for a profile match (e.g, when the AP
|
||
supports hidden SSIDs and the device may not
|
||
transmit probe requests during connect). By setting
|
||
this bit in the connection control information, the
|
||
firmware waits for a beacon from the AP with the
|
||
BSSID supplied in the CONNECT command. No
|
||
additional profile checks are done.
|
||
|
||
CONNECT_IGNORE_AAC_BEACON
|
||
Ignore the Admission Capacity information in the
|
||
beacon of the AP
|
||
|
||
CONNECT_ASSOC_POLICY_USER
|
||
When set, the CONNECT_SEND_REASSOC setting
|
||
determines if an Assoc or Reassoc is sent to an AP
|
||
|
||
Command
|
||
wmiconfig --setconnectctrl <ctrl flags bitmask>
|
||
|
||
Command Parameters
|
||
typedef struct{
|
||
A_UINT8 networktype;
|
||
A_UINT8 dot11authmode;
|
||
A_UINT8 authmode;
|
||
A_UINT8 pairwiseCryptoType; /*CRYPTO_TYPE*/
|
||
A_UINT8 pairwiseCryptoLen;
|
||
A_UINT8 groupCryptoType; /*CRYPTO_TYPE*/
|
||
A_UINT8 groupCryptoLen;
|
||
A_UINT8 ssidLength;
|
||
A_UCHAR ssid[WMI_MAX_SSID_LEN];
|
||
A_UINT16 channel;
|
||
A_UINT8 bssid[AUTH_MAC_LEN];
|
||
A_UINT8 ctrl_flags; /*WMI_CONNECT_CTRL_FLAGS_BITS*/
|
||
} WMI_CONNECT_CMD;
|
||
|
||
ctrl flags bitmask
|
||
= 0x0001 CONNECT_ASSOC_POLICY_USER
|
||
Assoc frames are sent using the policy specified by
|
||
the flag
|
||
= 0x0002 CONNECT_SEND_REASSOC
|
||
Send Reassoc frame while connecting, otherwise send
|
||
assoc frames
|
||
= 0x0004 CONNECT_IGNORE_WPAx_GROUP_CIPHER
|
||
Ignore WPAx group cipher for WPA/WPA2
|
||
= 0x0008 CONNECT_PROFILE_MATCH_DONE
|
||
Ignore any profile check
|
||
= 0x0010 CONNECT_IGNORE_AAC_BEACON
|
||
Ignore the admission control information in the
|
||
beacon
|
||
... CONNECT_CMD, continued
|
||
Command Values
|
||
typedef enum {
|
||
INFRA_NETWORK = 0x01,
|
||
ADHOC_NETWORK = 0x02,
|
||
ADHOC_CREATOR = 0x04,
|
||
} NETWORK_TYPE;
|
||
|
||
typedef enum {
|
||
OPEN_AUTH = 0x01,
|
||
SHARED_AUTH = 0x02,
|
||
LEAP_AUTH = 0x04,
|
||
} DOT11_AUTH_MODE;
|
||
typedef enum {
|
||
NONE_AUTH = 0x01,
|
||
WPA_AUTH = 0x02,
|
||
WPA_PSK_AUTH = 0x03,
|
||
WPA2_AUTH = 0x04,
|
||
WPA2_PSK_AUTH = 0x05,
|
||
WPA_AUTH_CCKM = 0x06,
|
||
WPA2_AUTH_CCKM = 0x07,
|
||
} AUTH_MODE;
|
||
typedef enum {
|
||
NONE_CRYPT = 0x01,
|
||
WEP_CRYPT = 0x02,
|
||
TKIP_CRYPT = 0x03,
|
||
AES_CRYPT = 0x04,
|
||
} CRYPTO_TYPE;
|
||
typedef enum {
|
||
CONNECT_ASSOC_POLICY_USER = 0x0001,
|
||
CONNECT_SEND_REASSOC = 0x0002,
|
||
CONNECT_IGNORE_WPAx_GROUP_CIPHER = 0x0004,
|
||
CONNECT_PROFILE_MATCH_DONE = 0x0008,
|
||
CONNECT_IGNORE_AAC_BEACON = 0x0010,
|
||
} WMI_CONNECT_CTRL_FLAGS_BITS;
|
||
|
||
pairwiseCryptoLen and groupCryptoLen are valid when the respective
|
||
CryptoTypesis WEP_CRYPT, otherwise this value should be 0. This is the length in
|
||
bytes.
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
CREATE_PSTREAM
|
||
|
||
Synopsis
|
||
The host uses this command to create a new prioritized data endpoint between the
|
||
host and the AR6000 device that carries a prioritized stream of data. If the AP that the
|
||
device connects to requires TSPEC stream establishment, the device requests the
|
||
corresponding TSPEC with the AP. The maximum and minimum service interval
|
||
ranges from 0 <20> 0x7FFFFFFF (ms), where 0 = disabled. The device does not send a
|
||
reply event for this command, as it is always assumed the command has succeeded.
|
||
An AP admission control response comes to the host via a WMI_CAC_INDICATION
|
||
event, once the response for the ADDTS frame comes.
|
||
|
||
Examples of cases where reassociation is generated (when WMM) and cases where
|
||
ADDTS is generated (when WMM and enabling ACM) are when:
|
||
Changing UAPSD flags in WMM mode, reassociation is generated
|
||
Changing the interval of sending auto QoS Null frame in WMM mode;
|
||
reassociation is not generated
|
||
Issuing a command with same previous parameters in WMM mode and enabling
|
||
ACM, an ADDTS request is generated
|
||
Changing the interval of a QoS null frame sending in WMM mode and enabling
|
||
ACM, an ADDTS request is generated
|
||
Issuing the command in disconnected state, reassociation or ADDTS is not
|
||
generated but the parameters are available after (re)association
|
||
|
||
Command
|
||
--createqos <user priority> <direction> <traffic class>
|
||
<trafficType> <voice PS capability> <min service interval> <max
|
||
service interval> <inactivity interval> <suspension interval>
|
||
<service start time> <tsid> <nominal MSDU> <max MSDU> <min data
|
||
rate> <mean data rate> <peak data rate> <max burst size> <delay
|
||
bound> <min phy rate> <sba> <medium time> where:
|
||
|
||
<user priority>
|
||
802.1D user priority range (0<>7)
|
||
<direction>
|
||
= 0 Tx (uplink) traffic
|
||
= 1 Rx (downlink) traffic
|
||
= 2 Bi-directional traffic
|
||
<traffic class>
|
||
= 1 BK
|
||
= 2 VI
|
||
= 3 VO
|
||
<trafficType>
|
||
= 0 Aperiodic
|
||
= 1 Periodic
|
||
<voice PS capability>
|
||
Specifies whether the voice power save mechanism
|
||
(APSD if AP supports it or legacy/simulated APSD
|
||
[using PS-Poll]) should be used
|
||
= 0 Disable voice power save for traffic class
|
||
= 1 Enable APSD voice power save for traffic class
|
||
= 2 Enable voice power save for all traffic classes
|
||
<min service interval>
|
||
(In ms)
|
||
<max service interval>
|
||
Inactivity interval (in ms) (0 = Infinite)
|
||
<suspension interval>
|
||
(In ms)
|
||
<service start time>
|
||
Service start time
|
||
<tsid>
|
||
TSID range (0<>15)
|
||
<nominal MSDU>
|
||
Nominal MAC SDU size
|
||
<max MSDU>
|
||
Maximum MAC SDU size
|
||
<min data rate>
|
||
Minimum data rate (in bps)
|
||
<mean data rate>
|
||
Mean data rate (in bps)
|
||
<peak data rate>
|
||
Peak data rate (in bps)
|
||
<max burst size>
|
||
Maximum burst size (in bps)
|
||
<delay bound>
|
||
Delay bound
|
||
<min phy rate>
|
||
Minimum PHY rate (in bps)
|
||
<sba>
|
||
Surplus bandwidth allowance
|
||
<medium time>
|
||
Medium time in TU of 32-ms periods per sec
|
||
... CREATE_PSTREAM (continued)
|
||
|
||
Command Parameters
|
||
UINT8 trafficClass TRAFFIC_CLASS value
|
||
UINT8 traffic
|
||
Direction
|
||
DIR_TYPE value
|
||
UINT8 rxQueueNum
|
||
AR6000 device mailbox index (2 or 3)
|
||
corresponding to the endpoint the host
|
||
wishes to use to receive packets for the
|
||
prioritized stream
|
||
UINT8 trafficType TRAFFIC_TYPE value
|
||
UINT8 voicePS
|
||
Capability
|
||
VOICEPS_CAP_TYPE value
|
||
UINT8 tsid Traffic stream ID
|
||
UINT8 userPriority 802.1D user priority
|
||
UINT16 nominalMSDU Nominal MSDU in octets
|
||
UINT16 maxMSDU Maximum MSDU in octets
|
||
UINT32 minServiceInt Minimum service interval: the min.
|
||
period of traffic specified (in ms)
|
||
UINT32 maxServiceInt Maximum service interval: the max.
|
||
period of traffic specified (in ms)
|
||
UINT32 inactivityInt Indicates how many ms an established
|
||
stream is inactive before the prioritized
|
||
data endpoint is taken down and the
|
||
corresponding T-SPEC deleted
|
||
UINT32 suspensionInt Suspension interval (in ms)
|
||
UINT32 service StartTime Service start time
|
||
UINT32 minDataRate Minimum data rate (in bps)
|
||
UINT32 meanDataRate Mean data rate (in bps)
|
||
UINT32 peakDataRate Peak data rate (in bps)
|
||
UINT32 maxBurstSize
|
||
UINT32 delayBound
|
||
UINT32 minPhyRate Minimum PHY rate for TSPEC (in bps)
|
||
UINT32 sba Surplus bandwidth allowance
|
||
UINT32 mediumTime Medium TSPEC time (in units of 32 ms)
|
||
Command Values
|
||
{
|
||
WMM_AC_BE = 0 Best Effort
|
||
WMM_AC_BK = 1 Background
|
||
WMM_AC_VI = 2 Video
|
||
WMM_AC_VO = 3 Voice
|
||
All other values reserved
|
||
} TRAFFIC_CLASS
|
||
{
|
||
UPLINK_TRAFFIC = 0 From the AR6000 device to the AP
|
||
DOWNLINK_TRAFFIC = 1 From the AP to the AR6000 device
|
||
BIDIR_TRAFFIC = 2 Bi-directional traffic
|
||
All other values reserved
|
||
} DIR_TYPE
|
||
{
|
||
DISABLE_FOR_THIS_AC = 0
|
||
ENABLE_FOR_THIS_AC = 1
|
||
ENABLE_FOR_ALL_AC = 2
|
||
All other values reserved
|
||
} VOICEPS_CAP_TYPE
|
||
|
||
... CREATE_PSTREAM (continued)
|
||
|
||
|
||
VI BE BK Supported, Y/N?
|
||
0 0 0 0 Y
|
||
0 0 0 1 Y
|
||
0 0 1 0 N
|
||
0 0 1 1 N
|
||
0 1 0 0 Y
|
||
0 1 0 1 Y
|
||
0 1 1 0 N
|
||
0 1 1 1 N
|
||
1 0 0 0 Y
|
||
1 0 0 1 Y
|
||
1 0 1 0 N
|
||
1 1 0 0 N
|
||
1 1 0 1 Y
|
||
1 1 0 0 N
|
||
1 1 1 0 N
|
||
1 1 1 1 Y
|
||
|
||
Reset Value
|
||
No pstream is present after reset; each of the BE, BK, VI,VO pstreams must be created
|
||
(either implicitly by data flow or explicitly by user)
|
||
|
||
Restrictions
|
||
This command can only be issued when the device is in the CONNECTED state. If
|
||
the device receives the command while in DISCONNECTED state, it replies with a
|
||
failure indication. At most four prioritized data endpoints can be created, one for
|
||
each AC.
|
||
|
||
See Also
|
||
<20>DELETE_PSTREAM<41>
|
||
=====================================================================
|
||
|
||
Name
|
||
DELETE_BAD_AP
|
||
|
||
Synopsis
|
||
The host uses this command to clear a particular entry in the bad AP table
|
||
|
||
Command
|
||
wmiconfig eth1 --rmAP [--num=<index>] // used to clear a badAP
|
||
entry. num is index from 0-3
|
||
|
||
Command Parameters
|
||
UINT8 badApIndex Index [0...n] that identifies the entry in the bad
|
||
AP table to delete
|
||
|
||
Command Values
|
||
badApIndex = 0, 1, 2, 3
|
||
Entry in the bad AP table
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
<20>ADD_BAD_AP<41>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
DELETE_CIPHER_KEY
|
||
|
||
Synopsis
|
||
The host uses this command to delete a key that was previously added with the
|
||
<20>ADD_CIPHER_KEY<45> command.
|
||
|
||
Command
|
||
TBD
|
||
|
||
Command Parameters
|
||
UINT8 keyIndex Index (0...3) of the key to be deleted
|
||
|
||
Command Values
|
||
keyIndex = 0, 1,2, 3 Key to delete
|
||
|
||
Reset Value
|
||
None
|
||
|
||
Restrictions
|
||
The host should not delete a key that is currently in use by the AR6000.
|
||
|
||
See Also
|
||
<20>ADD_CIPHER_KEY<45>
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
DELETE_PSTREAM
|
||
|
||
Synopsis
|
||
The host uses this command to delete a prioritized data endpoint created by a
|
||
previous <20>CREATE_PSTREAM<41> command
|
||
|
||
Command
|
||
--deleteqos <trafficClass> <tsid>, where:
|
||
|
||
<traffic class>
|
||
= 0 BE
|
||
= 1 BK
|
||
= 2 VI
|
||
= 3 VO
|
||
<tsid>
|
||
The TSpec ID; use the -qosqueue option
|
||
to get the active TSpec IDs for each traffic class
|
||
|
||
Command Parameters
|
||
A_UINT8 trafficClass Indicate the traffic class of the stream
|
||
being deleted
|
||
|
||
Command Values
|
||
{
|
||
WMM_AC_BE = 0 Best effort
|
||
WMM_AC_BK = 1 Background
|
||
WMM_AC_VI = 2 Video
|
||
WMM_AC_VO = 3 Voice
|
||
} TRAFFIC CLASS
|
||
|
||
0-15 for TSID
|
||
|
||
Reply Values
|
||
N/A
|
||
|
||
Restrictions
|
||
This command should only be issued after a <20>CREATE_PSTREAM<41> command has
|
||
successfully created a prioritized stream
|
||
|
||
See Also
|
||
<20>CREATE_PSTREAM<41>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
DELETE_WOW_PATTERN
|
||
|
||
Synopsis
|
||
The host uses this command to remove a pre-specified pattern from the
|
||
WoW pattern list.
|
||
|
||
Command
|
||
wmiconfig <20>delwowpattern <list-id> <pattern-id>
|
||
|
||
Command Parameters
|
||
A_UINT8 filter_list_id ID of the list that contains the WoW filter
|
||
pattern to delete
|
||
A_UINT8 filter_id ID of the WoW filter pattern to delete
|
||
|
||
Reply Parameters
|
||
None
|
||
|
||
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
<20>ADD_WOW_PATTERN<52>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
EXTENSION
|
||
|
||
Synopsis
|
||
The WMI message interface is used mostly for wireless control messages to a wireless
|
||
module applicable to wireless module management regardless of the target platform
|
||
implementation. However, some commands only peripherally related to wireless
|
||
management are desired during operation. These wireless extension commands may
|
||
be platform-specific or implementation-dependent.
|
||
|
||
Command
|
||
N/A
|
||
|
||
Command Parameters
|
||
Command-specific
|
||
|
||
Command Values
|
||
Command-specific
|
||
|
||
Reply Parameters
|
||
Command-specific
|
||
|
||
Reset Values
|
||
None defined
|
||
|
||
Restrictions
|
||
None defined
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
GET_BIT_RATE
|
||
|
||
Synopsis
|
||
Used by the host to obtain the rate most recently used by the AR6000 device
|
||
|
||
Command
|
||
wmiconfig eth1 --getfixrates
|
||
|
||
Command Parameters
|
||
None
|
||
|
||
|
||
|
||
Reply Parameters
|
||
INT8
|
||
rateIndex
|
||
See the <20>SET_BIT_RATE<54> command
|
||
|
||
Reset Values
|
||
None
|
||
|
||
Restrictions
|
||
This command should only be used during development/debug; it is not intended
|
||
for use in production. It is only valid when the device is in the CONNECTED state
|
||
|
||
See Also
|
||
<20>SET_BIT_RATE<54>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
GET_CHANNEL_LIST
|
||
|
||
Synopsis
|
||
Used by the host uses to retrieve the list of channels that can be used by the device
|
||
while in the current wireless mode and in the current regulatory domain.
|
||
|
||
Command
|
||
TBD
|
||
|
||
Command Parameters
|
||
None
|
||
|
||
Reply Parameters
|
||
UINT8 reserved Reserved
|
||
UINT8 numberOfChannels Number of channels the reply contains
|
||
UINT16 channelList[numberOfChannels] Array of channel frequencies (in MHz)
|
||
|
||
Reset Values
|
||
None defined
|
||
|
||
Restrictions
|
||
The maximum number of channels that can be reported are 32
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
GET_FIXRATES
|
||
|
||
Synopsis
|
||
Clears the current calculated RSSI and SNR value. RSSI and SNR are reported by
|
||
running-average value. This command will clear the history and have a fresh start for
|
||
the running-average mechanism.
|
||
|
||
Synopsis
|
||
This returns rate-mask set via WMI_SET_FIXRATES to retrieve the current fixed rate
|
||
that the AR6001 or AR6001 is using. See <20>SET_FIXRATES<45>.
|
||
|
||
Command
|
||
wmiconfig eth1 --getfixrates
|
||
|
||
Command Parameters
|
||
A_UINT16 fixRateMask; Note: if this command is used prior to
|
||
using WMI_SET_FIXRATES, AR6000
|
||
returns 0xffff as fixRateMask, indicating
|
||
all the rates are enabled
|
||
|
||
Reply Parameters
|
||
None
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
<20>SET_FIXRATES<45>
|
||
|
||
=====================================================================
|
||
|
||
|
||
|
||
Name
|
||
GET_PMKID_LIST_CMD
|
||
|
||
Synopsis
|
||
Retrieves the list of PMKIDs on the firmware. The
|
||
WMI_GET_PMKID_LIST_EVENT is generated by the firmware.
|
||
|
||
Command
|
||
TBD
|
||
|
||
Command Parameters
|
||
|
||
Reset Values
|
||
None
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
SET_PMKID_LIST_CMD GET_PMKID_LIST_EVENT
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
GET_ROAM_TBL
|
||
|
||
Synopsis
|
||
Retrieve the roaming table maintained on the target. The response is reported
|
||
asynchronously through the ROAM_TBL_EVENT.
|
||
|
||
Command
|
||
wmiconfig --getroamtable <roamctrl> <info>
|
||
|
||
Command Parameters
|
||
A_UINT8 roamCtrlType;
|
||
A_UINT16 roamMode
|
||
A_UINT16 numEntries
|
||
WMI_BSS_ROAM_INFO bssRoamInfo[1]
|
||
|
||
Reply Value
|
||
Reported asynchronously through the ROAM_TBL_EVENT
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
SET_KEEPALIVE
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
GET_TARGET_STATS
|
||
|
||
Synopsis
|
||
The host uses this command to request that the target send the statistics that it
|
||
maintains. The statistics obtained from the target are accrued in the host every time
|
||
the GET_TARGET_STATS command is issued. The --clearStats option is added to
|
||
clear the target statistics maintained in the host.
|
||
|
||
Command
|
||
wmiconfig --getTargetStats --clearStats
|
||
|
||
Command Parameters
|
||
TARGET_STATS targetStats
|
||
WMI_TARGET_STATS
|
||
UINT8 clearStats
|
||
|
||
|
||
Reply Value
|
||
RSSI return value (0<>100)
|
||
|
||
Reset Values
|
||
All statistics are cleared (zeroed)
|
||
|
||
Restrictions
|
||
The --getTargetStats option must be used; the --clearStats option is also available also
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
GET_TX_PWR
|
||
|
||
Synopsis
|
||
The host uses this command to retrieve the current Tx power level
|
||
|
||
Command
|
||
wmiconfig -i eth1 --getpower
|
||
|
||
Command Parameters
|
||
None
|
||
|
||
Reply Parameters
|
||
UINT16 dbM The current Tx power level specified in dbM
|
||
|
||
Reset Values
|
||
The maximum permitted by the regulatory domain
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
<20>SET_TX_PWR<57>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
GET_WOW_LIST
|
||
|
||
Synopsis
|
||
The host uses this command to retrieve the current list of WoW patterns.
|
||
|
||
Command
|
||
wmiconfig <20>getwowlist <list-id>
|
||
|
||
Command Parameters
|
||
A_UINT8 filter_list_id ID of the list of WoW patterns to retrieve
|
||
|
||
Reply Value(s)
|
||
A_UINT16 num_filters Number of WoW patterns contained in the list
|
||
A_UINT8 wow_mode Current mode of WoW (enabled or disabled)
|
||
A_UINT8 host_mode Current host mode (asleep or awake)
|
||
WOW_FILTER wow_filters[1]
|
||
Contents of the WoW filter pattern list
|
||
(contains mask, pattern, offset and size
|
||
information for each of the patterns)
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
<20>SET_WSC_STATUS<55>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
LQ_THRESHOLD_PARAMS
|
||
|
||
Synopsis
|
||
Sets Link Quality thresholds, the sampling will happen at every unicast data frame
|
||
Tx if a certain threshold is met, and the corresponding event will be sent to the host.
|
||
|
||
Command
|
||
--lqThreshold <enable> <upper_threshold_1> ...
|
||
<upper_threshold_4> <lower_threshold_1> ... <lower_threshold_4>
|
||
|
||
Command Parameters
|
||
<enable> = 0 Disable link quality sampling
|
||
= 1 Enable link quality sampling
|
||
<upper_threshold_x> Above thresholds (value in [0,100]), in
|
||
ascending order
|
||
<lower_threshold_x> Below thresholds (value in [0,100]), in
|
||
ascending order
|
||
|
||
Command Values
|
||
See command parameters
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
OPT_TX_FRAME
|
||
|
||
Synopsis
|
||
Special feature, sends a special frame.
|
||
|
||
Command
|
||
wmiconfig --sendframe <frmType> <dstaddr> <bssid> <optIEDatalen>
|
||
<optIEData>
|
||
|
||
Command Parameters
|
||
{
|
||
A_UINT16 optIEDataLen;
|
||
A_UINT8 frmType;
|
||
A_UINT8 dstAddr[ATH_MAC_LEN];
|
||
A_UINT8 bssid[ATH_MAC_LEN];
|
||
A_UINT8 optIEData[1];
|
||
} WMI_OPT_TX_FRAME_CMD;
|
||
|
||
Command Values
|
||
<frmtype> = 1 Probe request frame
|
||
= 2 Probe response frame
|
||
= 3 CPPP start
|
||
= 4 CPPP stop
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
Send a special frame only when special mode is on.
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
RECONNECT
|
||
|
||
Synopsis
|
||
This command requests a reconnection to a BSS to which the AR6000 device was
|
||
formerly connected
|
||
|
||
Command
|
||
TBD
|
||
|
||
Command Parameters
|
||
UINT16 channel Provides a hint as to which channel was
|
||
used for a previous connection
|
||
UINT8 bssid[6] If set, indicates which BSSID to connect to
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
None
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
<20>CONNECT_CMD<4D>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
RSSI_THRESHOLD_PARAMS
|
||
|
||
Synopsis
|
||
Configures how the AR6000 device monitors and reports signal strength (RSSI) of the
|
||
connected BSS, which is used as a link quality metric. The four RSSI threshold sets (in
|
||
dbM) of the host specification divide the signal strength range into six segments.
|
||
When signal strength increases or decreases across one of the boundaries, an
|
||
RSSI_THRESHOLD event is signaled to the host. The host may then choose to take
|
||
action (such as influencing roaming).
|
||
|
||
Command
|
||
wmiconfig eth1 --rssiThreshold <weight> <pollTime>
|
||
<above_threshold_val_1> ... <above_threshold_tag_6>
|
||
<above_threshold_val_6>
|
||
<below_threshold_tag_1> <below_threshold_val_1> ...
|
||
<below_threshold_tag_6> <below_threshold_val_6>
|
||
|
||
Command Parameters
|
||
UINT8 weight Range in [1, 16] used to calculate average RSSI
|
||
UINT32 pollTime RSSI (signal strength) sampling frequency in
|
||
seconds (if pollTime = 0, single strength
|
||
sampling is disabled)
|
||
USER_RSS__THOLD tholds[12] Thresholds (6 x 2)
|
||
|
||
Command Values
|
||
None defined
|
||
|
||
Reset Values
|
||
pollTime is 0, and sampling is disabled
|
||
|
||
Restrictions
|
||
Can only be issued if the AR6000 device is connected
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
SCAN_PARAMS
|
||
|
||
Synopsis
|
||
The minact parameter determines the minimum active channel dwell time, within
|
||
which if the STA receives any beacon, it remains on that channel until the maxact
|
||
channel dwell time. If the STA does not receive a beacon within the minact dwell
|
||
time, it switches to scan the next channel.
|
||
|
||
Command
|
||
wmiconfig -scan -minact=<ms> --maxact=<ms>
|
||
|
||
Command Parameters
|
||
UINT16 maxact Channel dwell time (in ms), default = 0
|
||
UINT16 minact Channel dwell time (in ms), default = 105
|
||
|
||
Command Values
|
||
See channel parameters
|
||
|
||
Reset Values
|
||
None defined
|
||
|
||
Restrictions
|
||
The minact value should be greater than 0; maxact should be between 5<>65535 ms
|
||
and greater than minact
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_ACCESS_PARAMS
|
||
|
||
Synopsis
|
||
Allows the host to set access parameters for the wireless network. A thorough
|
||
understanding of IEEE 802.11 is required to properly manipulate these parameters.
|
||
|
||
Command
|
||
wmiconfig eth1 --acparams --txop <limit> --cwmin <0-15>
|
||
--cwmax <0-15> --aifsn<0-15>
|
||
|
||
Command Parameters
|
||
UINT16 txop The maximum time (expressed in units of
|
||
32 ms) the device can spend transmitting
|
||
after acquiring the right to transmit
|
||
UINT8 eCWmin Minimum contention window
|
||
UINT8 eCWmax Maximum contention window
|
||
UINT8 aifsn The arbitration inter-frame space number
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
Reasonable defaults that vary, between endpoints (prioritized streams)
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_ADHOC_BSSID
|
||
|
||
Synopsis
|
||
Allows the host to set the BSSID for an ad hoc network. If a network with this BSSID
|
||
is not found, the target creates an ad hoc network with this BSSID after the connect
|
||
WMI command is triggered (e.g., by the SIOCSIWESSID IOCTL).
|
||
|
||
Command
|
||
wmiconfig eth1 --adhocbssid <bssid>
|
||
|
||
Command Parameters
|
||
A_UINT8 bssid[ATH_MAC_LEN] BSSID is specified in xx:xx:xx:xx:xx:xx format
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
None
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_AKMP_PARAMS
|
||
|
||
Synopsis
|
||
Enables or disables multi PMKID mode.
|
||
|
||
Command
|
||
wmiconfig eth1 --setakmp --multipmkid=<on/off>
|
||
|
||
Command Parameters
|
||
typedef struct {
|
||
A_UINT32 akmpInfo;
|
||
} WMI_SET_AKMP_PARAMS_CMD;
|
||
|
||
Command Values
|
||
akmpInfo;
|
||
bit[0] = 0
|
||
MultiPMKID mode is disabled and PMKIDs that
|
||
were set using the WMI_SET_PMKID_CMD are
|
||
used in the [Re]AssocRequest frame.
|
||
bit[0] = 1
|
||
MultiPMKID mode is enabled and PMKIDs issued
|
||
by the WMI_SET_PMKID_LIST_CMD are used in
|
||
the next [Re]AssocRequest sent to the AP.
|
||
|
||
Reset Values
|
||
MultiPMKID mode is disabled
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_APPIE
|
||
|
||
Synopsis
|
||
Add an application-specified IE to a management frame. The maximum length is
|
||
76 bytes. Including the length and the element ID, this translates to 78 bytes.
|
||
|
||
Command
|
||
wmiconfig --setappie <frame> <IE>, where:
|
||
|
||
frame
|
||
One of beacon, probe, respon, assoc
|
||
|
||
IE
|
||
A hex string beginning with DD (if = 0, no
|
||
IE is sent in the management frame)
|
||
|
||
Command Parameters
|
||
mgmtFrmType;
|
||
A WMI_MGMT_FRAME_TYPE
|
||
|
||
ieLen;
|
||
Length of the IE to add to the GMT frame
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
Supported only for the probe request and association request management frame
|
||
types. Also, only one IE can be added per management frame type.
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_ASSOC_INFO
|
||
|
||
Synopsis
|
||
The host uses this command to specify any information elements (IEs) it wishes the
|
||
AR6000 device to add to all future association and reassociation requests. IEs must be
|
||
correct and are used as is by the device. IEs specified through this command are
|
||
cleared with a DISCONNECT.
|
||
|
||
Command
|
||
wmiconfig eth1 --setAssocIe <IE>
|
||
|
||
Command Parameters
|
||
UINT8 ieType Used directly in 802.11 frames
|
||
UINT8 bufferSize Size of assocInfo (in bytes) ranging from
|
||
0<>240. If = 0, previously set IEs are cleared.
|
||
UINT8 assocInfo[bufferSize] Used directly in 802.11 frames
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
IEs are cleared
|
||
|
||
Restrictions
|
||
This command can only be issued in the DISCONNECTED state
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_AUTHMODE
|
||
|
||
Synopsis
|
||
Sets the 802.11 authentication mode of reconnection
|
||
|
||
Command
|
||
wmiconfig eth1 --setauthmode <mode>
|
||
|
||
Command Parameters
|
||
UINT8 mode
|
||
|
||
Command Values
|
||
mode = 0x00 Proceed with authentication during reconnect
|
||
= 0x01 Do not proceed with authentication during reconnect
|
||
|
||
Reset Values
|
||
Authentication
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_BEACON_INT
|
||
|
||
Synopsis
|
||
Sets the beacon interval for an ad hoc network. Beacon interval selection may have an
|
||
impact on power savings. To some degree, a longer interval reduces power
|
||
consumption but also decreases throughput. A thorough understanding of IEEE
|
||
802.11 ad hoc networks is required to use this command effectively.
|
||
|
||
Command
|
||
wmiconfig eth1 --ibssconintv
|
||
|
||
Command Parameters
|
||
UINT16 beaconInterval Specifies the beacon interval in TU units (1024 ms)
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
The default beacon interval is 100 TUs (102.4 ms)
|
||
|
||
Restrictions
|
||
This command can only be issued before the AR6000 device starts an ad hoc network
|
||
|
||
See Also
|
||
<20>SET_IBSS_PM_CAPS<50>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_BIT_RATE
|
||
|
||
Synopsis
|
||
The host uses this command to set the AR6000 device to a specific fixed rate.
|
||
|
||
Command
|
||
wmiconfig eth1 --setfixrates <rate_0> ... <rate_n>
|
||
|
||
Command Parameters
|
||
INT8 rateIndex
|
||
A WMI_BIT_RATE value
|
||
{
|
||
RATE_AUTO = -1
|
||
RATE_1Mb = 0
|
||
RATE_2Mb = 1
|
||
RATE_5_5M = 2
|
||
RATE_11Mb = 3
|
||
RATE_6Mb = 4
|
||
RATE_9Mb = 5
|
||
RATE_12Mb = 6
|
||
RATE_18Mb = 7
|
||
RATE_24Mb = 8
|
||
RATE_36Mb = 9
|
||
RATE_48Mb = 10
|
||
RATE_54Mb = 11
|
||
} WMI_BIT_RATE
|
||
|
||
|
||
Command Values
|
||
See command parameters
|
||
|
||
Reset Values
|
||
The dynamic rate is determined by the AR6000 device
|
||
|
||
Restrictions
|
||
This command is intended for use only during development/debug; it is not
|
||
intended for use in production
|
||
|
||
See Also
|
||
<20>GET_BIT_RATE<54>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_BMISS_TIME
|
||
|
||
Synopsis
|
||
This command sets the beacon miss (BMISS) time, which the AR6000 hardware use
|
||
to recognize missed beacons. When an excessive number (15) of consecutive beacons
|
||
are missed, the AR6000 consider switching to a different BSS. The time can be
|
||
specified in number of beacons or in TUs.
|
||
|
||
Command(s)
|
||
wmiconfig eth1 --setbmissbeacons=<val>
|
||
wmiconfig eth1 --setbmisstime=<val>
|
||
|
||
Command Parameters
|
||
UINT16 bmissTime Specifies the beacon miss time
|
||
[1000...5000] in TUs (1024 ms)
|
||
UINT16 bmissbeacons Specifies the number of beacons [5...50]
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
bmissTime is 1500 TUs (1536 ms)
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_BSS_FILTER
|
||
|
||
Synopsis
|
||
The host uses this to inform the AR6000 device of the types of networks about which
|
||
it wants to receive information from the <20>BSSINFO<46> event. As the device performs
|
||
either foreground or background scans, it applies the filter and sends <20>BSSINFO<46>
|
||
events only for the networks that pass the filter. If any of the bssFilter or the ieMask
|
||
filter matches, a BSS Info is sent to the host. The ieMask currently is used as a match
|
||
for the IEs in the beacons, probe reponses and channel switch action management
|
||
frame. See also <20>Scan and Roam<61> on page C-1.
|
||
|
||
The BSS filter command has been enhanced to support IE based filtering. The IEs can
|
||
be specified as a bitmask through this command using this enum.
|
||
|
||
Command
|
||
wmiconfig eth1 <20>filter = <filter> --ieMask 0x<mask>
|
||
|
||
Command Parameters
|
||
UINT8 BssFilter
|
||
|
||
Command Values
|
||
typedef struct {
|
||
A_UINT8 bssFilter; See WMI_BSS_FILTER
|
||
A_UINT32 ieMask;
|
||
} __ATTRIB_PACK WMI_BSS_FILTER_CMD;
|
||
|
||
The ieMask can take this combination of values:
|
||
|
||
enum {
|
||
BSS_ELEMID_CHANSWITCH = 0x01
|
||
BSS_ELEMID_ATHEROS = 0x02,
|
||
}
|
||
|
||
Reply Value
|
||
None
|
||
|
||
Reset Value
|
||
BssFilter = NONE_BSS_FILTER (0)
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
<20>CONNECT_CMD<4D>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_BT_PARAMS
|
||
|
||
Synopsis
|
||
This command is used to set the status of a Bluetooth stream or set Bluetooth
|
||
coexistence register parameters. The stream may be an SCO or an A2DP stream and
|
||
its status can be started/stopped/suspended/resumed.
|
||
|
||
Command
|
||
wmiconfig <20>setBTparams <paramType> <params>
|
||
|
||
Command Parameters
|
||
struct {
|
||
union {
|
||
BT_PARAMS_SCO scoParams;
|
||
BT_PARAMS_A2DP a2dpParams;
|
||
BT_PARAMS_MISC miscParams;
|
||
BT_COEX_REGS regs;
|
||
} info;
|
||
A_UINT8 paramType;
|
||
struct {
|
||
A_UINT8 noSCOPkts; Number of SCO packets between consecutive PS-POLLs
|
||
A_UINT8 pspollTimeout;
|
||
A_UINT8 stompbt;
|
||
} BT_PARAMS_SCO;
|
||
struct {
|
||
A2DP BT stream parameters
|
||
A_UINT32 period;
|
||
A_UINT32 dutycycle;
|
||
A_UINT8 stompbt;
|
||
} BT_PARAMS_A2DP;
|
||
struct {
|
||
union {
|
||
WLAN_PROTECT_POLICY_TYPE protectParams;
|
||
A_UINT16 wlanCtrlFlags;
|
||
}info;
|
||
A_UINT8 paramType;
|
||
} BT_PARAMS_MISC;
|
||
struct {
|
||
BT coexistence registers values
|
||
A_UINT32 mode; Coexistence mode
|
||
A_UINT32 scoWghts; WLAN and BT weights
|
||
A_UINT32 a2dpWghts;
|
||
A_UINT32 genWghts;
|
||
A_UINT32 mode2; Coexistence mode2
|
||
A_UINT8 setVal;
|
||
} BT_COEX_REGS;
|
||
|
||
Command Values
|
||
None defined
|
||
|
||
Reset Value
|
||
None
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_BT_STATUS
|
||
|
||
Synopsis
|
||
Sets the status of a Bluetooth stream. The stream may be a SCO or an A2DP stream
|
||
and its status can be started/stopped/suspended/resumed.
|
||
|
||
Command
|
||
wmiconfig <20>setBTstatus <streamType> <status>
|
||
|
||
Command Parameters
|
||
{
|
||
A_UINT8 streamType; Stream type
|
||
A_UINT8 status; Stream status
|
||
}WMI_SET_BT_STATUS_CMD;
|
||
|
||
Command Values
|
||
{
|
||
BT_STREAM_UNDEF = 0
|
||
BT_STREAM_SCO
|
||
SCO stream
|
||
BT_STREAM_A2DP
|
||
A2DP stream
|
||
BT_STREAM_MAX
|
||
} BT_STREAM_TYPE;
|
||
|
||
{
|
||
BT_STATUS_UNDEF = 0
|
||
BT_STATUS_START
|
||
BT_STATUS_STOP
|
||
BT_STATUS_RESUME
|
||
BT_STATUS_SUSPEND
|
||
BT_STATUS_MAX
|
||
} BT_STREAM_STATUS;
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_CHANNEL_PARAMETERS
|
||
|
||
Synopsis
|
||
Configures various WLAN parameters related to channels, sets the wireless mode,
|
||
and can restrict the AR6000 device to a subset of available channels. The list of
|
||
available channels varies depending on the wireless mode and the regulatory
|
||
domain. The device never operates on a channel outside of its regulatory domain. The
|
||
device starts to scan the list of channels right after this command.
|
||
|
||
Command
|
||
wmiconfig eth1 --wmode <mode> <list>
|
||
|
||
Command Parameters
|
||
UINT8 phyMode See Values below.
|
||
UINT8 numberOfChannels
|
||
Number of channels in the channel array that
|
||
follows. If = 0, then the device uses all of the
|
||
channels permitted by the regulatory domain
|
||
and by the specified phyMode.
|
||
UINT16 channel[numberOfChannels]
|
||
Array listing the subset of channels (expressed
|
||
as frequencies in MHz) the host wants the
|
||
device to use. Any channel not permitted by
|
||
the specified phyMode or by the specified
|
||
regulatory domain is ignored by the device.
|
||
|
||
Command Values
|
||
phyMode = {
|
||
Wireless mode
|
||
11a = 0x01
|
||
11g = 0x02
|
||
11ag = 0x03
|
||
11b = 0x04
|
||
11g only = 0x05
|
||
}
|
||
|
||
Reset Values
|
||
phyMode
|
||
11ag
|
||
802.11a/g modules
|
||
11g
|
||
802.11g module
|
||
channels
|
||
Defaults to all channels permitted by the
|
||
current regulatory domain.
|
||
|
||
Restrictions
|
||
This command, if issued, should be issued soon after reset and prior to the first
|
||
connection. This command should only be issued in the DISCONNECTED state.
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_DISC_TIMEOUT
|
||
|
||
Synopsis
|
||
The host uses this command to configure the amount of time that the AR6000 should
|
||
spend when it attempts to reestablish a connection after losing link with its current
|
||
BSS. If this time limit is exceeded, the AR6000 send a <20>DISCONNECT<43> event. After
|
||
sending the <20>DISCONNECT<43> event the AR6000 continues to attempt to reestablish a
|
||
connection, but they do so at the interval corresponding to a foreground scan as
|
||
established by the <20>SET_SCAN_PARAMS<4D> command.
|
||
|
||
A timeout value of 0 indicates that the AR6000 will disable all autonomous roaming,
|
||
so that the AR6000 will not perform any scans after sending a <20>DISCONNECT<43>
|
||
event to the host. The state is maintained until a shutdown or host sets different
|
||
timeout value from 0.
|
||
|
||
Command
|
||
wmiconfig eth1 --disc=<timeout in seconds>
|
||
|
||
Command Parameters
|
||
UINT8 disconnectTimeout
|
||
Specifies the time limit (in seconds) after
|
||
which a failure to reestablish a connection
|
||
results in a <20>DISCONNECT<43> event
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
disconnectTimeout is 10 seconds
|
||
|
||
Restrictions
|
||
This command can only be issued while in a DISCONNECTED state
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_FIXRATES
|
||
|
||
Synopsis
|
||
By default, the AR6000 device uses all PHY rates based on mode of operation. If the
|
||
host application requires the device to use subset of supported rates, it can set those
|
||
rates with this command. In 802.11g mode, the AR6000 device takes the entire
|
||
802.11g basic rate set and the rates specified with this command and uses it as the
|
||
supported rate set.
|
||
|
||
This rate set is advertised in the probe request and the assoc/re-assoc request as
|
||
supported rates. Upon successful association, the device modifies the rate set pool
|
||
using the: intersection of AP-supported rates with the union of the 802.11g basic rate
|
||
set and rates set using this command. The device picks transmission rates from this
|
||
pool based on a rate control algorithm.
|
||
|
||
Command
|
||
TBD
|
||
|
||
Command Parameters
|
||
A_UINT16 fixRateMask;
|
||
The individual bit is an index for rate table,
|
||
and setting the that index to 1 would set that
|
||
corresponding rate. E.g., fixRateMask = 9
|
||
(1001) sets 1 Mbps and 11 Mbps.
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
<20>GET_FIXRATES<45>
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_WHAL_PARAM
|
||
|
||
Synopsis
|
||
An internal AR6000 command that is used to set certain hardware parameters. The
|
||
description of this command is in $WORKAREA/include/halapi.h.
|
||
|
||
Command
|
||
TBD
|
||
|
||
Command Parameters
|
||
ATH_HAL_SETCABTO_CMDID
|
||
Sets the timeout waiting for the multicast
|
||
traffic after a DTIM beacon (in TUs).
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Value
|
||
Default = 10 TUs
|
||
|
||
Restrictions
|
||
This command should be executed before issuing a connect command.
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_HOST_SLEEP_MODE
|
||
|
||
Synopsis
|
||
The host uses this command to set the host mode to asleep or awake. All packets are
|
||
delivered to the host when the host mode is awake. When host mode is asleep, only if
|
||
WoW is enabled and the incoming packet matches one of the specified WoW
|
||
patterns, will the packet be delivered to the host. The host will also be woken up by
|
||
the target for pattern-matching packets and important events.
|
||
|
||
Command
|
||
wmiconfig <20>sethostmode=<asleep/awake>
|
||
|
||
Command Parameters
|
||
A_BOOL awake Set the host mode to awake
|
||
A_BOOL asleep Set the host mode to asleep
|
||
|
||
Command Values
|
||
1 = awake, 0 = asleep
|
||
|
||
Reset Value
|
||
None defined (default host mode is awake)
|
||
|
||
Restrictions
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
SET_IBSS_PM_CAPS
|
||
|
||
Synopsis
|
||
Used to support a non-standard power management scheme for an ad hoc wireless
|
||
network consisting of up to eight stations (STAs) that support this form of power
|
||
saving (e.g., Atheros-based STAs). A thorough understanding of IEEE 802.11 ad hoc
|
||
networks is required to use this command effectively.
|
||
|
||
Command
|
||
wmiconfig eth1 --ibsspmcaps --ps=<enable/disable>
|
||
--aw=<ATIM Windows in ms>
|
||
--ttl=<Time to live in number of beacon periods>
|
||
--to=<timeout in ms>
|
||
|
||
Command Parameters
|
||
UINT8 power_saving
|
||
= 0
|
||
The non-standard power saving scheme is
|
||
disabled and maximum throughput (with no
|
||
power saving) is obtained.
|
||
|
||
= 1
|
||
Ad hoc power saving scheme is enabled (but
|
||
throughput may be decreased)
|
||
|
||
UINT16 atim_windows
|
||
Specifies the length (in ms) of the ad hoc traffic
|
||
indication message (ATIM) windows used in an ad
|
||
hoc network. All Atheros-based STAs that join the
|
||
network use this duration ATIM window.
|
||
|
||
The duration is communicated between wireless
|
||
STAs through an IE in beacons and probe responses.
|
||
|
||
The host sets atim_windows to control trade-offs
|
||
between power use and throughput. The value
|
||
chosen should be based on the beacon interval (see
|
||
the <20>SET_BEACON_INT<4E> command) on the
|
||
expected number of STAs in the IBSS, and on the
|
||
amount of traffic and traffic patterns between STAs.
|
||
|
||
UINT16 timeout_value
|
||
Specifies the timeout (in ms). The value is the same
|
||
for all ad hoc connections, but tracks separately for
|
||
each.
|
||
|
||
Applicable only for a beacon period and used to
|
||
derive actual timeout values on the Tx and Rx sides.
|
||
On the Tx side, the value defines a window during
|
||
which the STA accepts the frame(s) from the host for a
|
||
particular connection. Until closed, the window
|
||
restarts with every frame received from the host. On
|
||
the Rx side, indicates the time until which the STA
|
||
continues accepting frames from a particular
|
||
connection. The value resets with every frame
|
||
received. The value can be used to determine the
|
||
trade off between throughput and power.
|
||
Default = 10 ms
|
||
|
||
UINT8 ttl
|
||
Specifies the value in number of beacon periods. The
|
||
value is used to set a limit on the time until which a
|
||
frame is kept alive in the AR6001 before being
|
||
discarded. Default = 5
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
By default, power_saving is enabled with atim_window = 20 ms
|
||
|
||
Restrictions
|
||
Can only be issued before the AR6000 starts an ad hoc network
|
||
|
||
See Also
|
||
<20>SET_BEACON_INT<4E>
|
||
|
||
=====================================================================
|
||
|
||
|
||
|
||
Name
|
||
SET_LISTEN_INT
|
||
|
||
Synopsis
|
||
The host uses this command to request a listen interval, which determines how often
|
||
the AR6000 device should wake up and listen for traffic. The listen interval can be set
|
||
by the TUs or by the number of beacons. The device may not be able to comply with
|
||
the request (e.g., if the beacon interval is greater than the requested listen interval, the
|
||
device sets the listen interval to the beacon interval). The actual listen interval used
|
||
by the device is available in the <20>CONNECT<43> event.
|
||
|
||
Command
|
||
wmiconfig eth1 --listen=<#of TUs, can range from 15 to 3000>
|
||
|
||
--listenbeacons=<#of beacons, can range from 1 to 50>
|
||
|
||
Command Parameters
|
||
UINT16 listenInterval
|
||
Specifies the listen interval in Kms
|
||
(1024 ms), ranging from 100 to 1000
|
||
|
||
UINT16 listenbeacons
|
||
Specifies the listen interval in beacons,
|
||
ranging from 1 to 50
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
The device sets the listen interval equal to the beacon interval of the AP it associates
|
||
to.
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_LPREAMBLE
|
||
|
||
Synopsis
|
||
Overrides the short preamble capability of the AR6000 device
|
||
|
||
Command
|
||
TBD
|
||
|
||
Command Parameters
|
||
WMI_LPREAMBLE_DISABLED
|
||
The device is short-preamble capable
|
||
|
||
WMI_LPREAMBLE_ENABLED
|
||
The device supports only the long-
|
||
preamble mode
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
SET_MAX_SP_LEN
|
||
|
||
Synopsis
|
||
Set the maximum service period; indicates the number of packets the AR6001 can
|
||
receive from the AP when triggered
|
||
|
||
Command
|
||
wmiconfig eth1 --setMaxSPLength <maxSPLen>
|
||
|
||
Command Parameters
|
||
UINT8 maxSPLen
|
||
An APSD_SP_LEN_TYPE value
|
||
|
||
Command Values
|
||
{
|
||
DELIVER_ALL_PKT = 0x0
|
||
DELIVER_2_PKT = 0x1
|
||
DELIVER_4_PKT = 0x2
|
||
DELIVER_6_PKT = 0x3
|
||
}APSD_SP_LEN_TYPE
|
||
|
||
|
||
Reset Values
|
||
maxSPLen is DELIVER_ALL_PKT
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_OPT_MODE
|
||
|
||
Synopsis
|
||
Special feature, sets the special mode on/off
|
||
|
||
Command
|
||
wmiconfig eth1 --mode <mode>
|
||
Set the optional mode, where mode is special or off
|
||
|
||
Command Parameters
|
||
enum {
|
||
SPECIAL_OFF
|
||
SPECIAL_ON
|
||
} OPT_MODE_TYPE;
|
||
|
||
Command Values
|
||
|
||
Reset Value
|
||
Mode = Off
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_PMKID
|
||
|
||
Synopsis
|
||
The host uses this command to enable or disable a pairwise master key ID (PMKID)
|
||
in the AR6000 PMKID cache. The AR6000 clears its PMKID cache on receipt of a
|
||
DISCONNECT command from the host. Individual entries in the cache might be
|
||
deleted as the AR6000 detect new APs and decides to remove old ones.
|
||
|
||
Command
|
||
wmiconfig eth1 --setbsspmkid --bssid=<aabbccddeeff>
|
||
--bsspmkid=<pmkid>
|
||
|
||
Command Parameters
|
||
UINT8 bssid[6]
|
||
The MAC address of the AP that the
|
||
PMKID corresponds to (6 bytes in hex
|
||
format)
|
||
|
||
UINT8 enable
|
||
Either PMKID_DISABLE (0) to disable
|
||
the PMKID or PMKID_ENABLE (1) to
|
||
enable it (16 bytes in hex format)
|
||
|
||
UINT8 pmkid[16]
|
||
Meaningful only if enable is
|
||
PMKID_ENABLE, when it is the PMKID
|
||
that the AR6000 should use on the next
|
||
reassociation with the specified AP
|
||
|
||
Command Values
|
||
enable
|
||
= 0 (disable), 1 (enable)
|
||
PKMID enabled/disabled
|
||
|
||
Reset Values
|
||
None defined
|
||
|
||
Restrictions
|
||
Only supported in infrastructure networks
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_PMKID_LIST_CMD
|
||
|
||
Synopsis
|
||
Configures the list of PMKIDs on the firmware.
|
||
|
||
Command
|
||
wmiconfig --setpmkidlist --numpmkid=<n> --pmkid=<pmkid_1>
|
||
... --pmkid=<pmkid_n>
|
||
|
||
Where n is the number of pmkids (maximum = 8) and pmkid_i is the ith pmkid (16
|
||
bytes in hex format)
|
||
|
||
Command Parameters
|
||
{
|
||
A_UINT8 pmkid[WMI_PMKID_LEN];
|
||
} __ATTRIB_PACK WMI_PMKID;
|
||
|
||
{
|
||
A_UINT32 numPMKID;
|
||
WMI_PMKID pmkidList[WMI_MAX_PMKID_CACHE];
|
||
} __ATTRIB_PACK WMI_SET_PMKID_LIST_CMD;
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
None
|
||
|
||
Restrictions
|
||
Supported only in infrastructure modes
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_POWER_MODE
|
||
|
||
Synopsis
|
||
The host uses this command to provide the AR6000 device with guidelines on the
|
||
desired trade-off between power utilization and performance.
|
||
|
||
In normal power mode, the device enters a sleep state if they have nothing to do,
|
||
which conserves power but may cost performance as it can take up to 2 ms to
|
||
resume operation after leaving sleep state.
|
||
|
||
In maximum performance mode, the device never enters sleep state, thus no time
|
||
is spent waking up, resulting in higher power consumption and better
|
||
performance.
|
||
|
||
Command
|
||
TBD
|
||
|
||
Command Parameters
|
||
UINT8 powerMode
|
||
WMI_POWER_MODE value
|
||
{
|
||
REC_POWER = 1
|
||
(Recommended setting) Tries to conserve
|
||
power without sacrificing performance
|
||
MAX_PERF_POWER = 2
|
||
Setting that maximizes performance at
|
||
the expense of power
|
||
|
||
All other values are reserved
|
||
} WMI_POWER_MODE
|
||
|
||
Command Values
|
||
See command parameters
|
||
|
||
Reset Values
|
||
powerMode is REC_POWER
|
||
|
||
Restrictions
|
||
This command should only be issued in the DISCONNECTED state for the
|
||
infrastructure network.
|
||
|
||
For a PM-disabled ad hoc network, the power mode should remain in
|
||
MAX_PERF_POWER.
|
||
|
||
For a PM-enabled ad hoc network, the device can have REC_POWER or
|
||
MAX_PERF_POWER set, but either way it must follow the power save ad hoc
|
||
protocol. The host can change power modes in the CONNECTED state.
|
||
|
||
Host changes to the PS setting when the STA is off the home channel take no effect
|
||
and cause a TARGET_PM_FAIL event.
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_POWER_PARAMS
|
||
|
||
Synopsis
|
||
The host uses this command to configure power parameters
|
||
|
||
Command
|
||
wmiconfig eth1 --pmparams --it=<ms> --np=<number of PS POLL>
|
||
--dp=<DTIM policy: ignore/normal/stick>
|
||
|
||
Command Parameters
|
||
UINT16 idle_period
|
||
Length of time (in ms) the AR6000 device
|
||
remains awake after frame Rx/Tx before going
|
||
to SLEEP state
|
||
|
||
UINT16 pspoll_number
|
||
The number of PowerSavePoll (PS-poll)
|
||
messages the device should send before
|
||
notifying the AP it is awake
|
||
|
||
UINT16 dtim_policy
|
||
A WMI_POWER_PARAMS_CMD value
|
||
|
||
{
|
||
IGNORE_DTIM =1
|
||
The device does not listen to any content after
|
||
beacon (CAB) traffic
|
||
NORMAL_DTIM = 2
|
||
DTIM period follows the listen interval (e.g., if
|
||
the listen interval is 4 and the DTIM period is 2,
|
||
the device wakes up every fourth beacon)
|
||
STICK_DTIM = 3
|
||
Device attempt to receive all CAB traffic (e.g., if
|
||
the DTIM period is 2 and the listen interval is 4,
|
||
the device wakes up every second beacon)
|
||
} WMI_POWER_PARAMS_CMD
|
||
|
||
Command Parameters
|
||
See command parameters
|
||
|
||
Reset Values
|
||
idle_period
|
||
200 ms
|
||
|
||
pspoll_number
|
||
= 1
|
||
|
||
dtim_policy
|
||
= NORMAL_DTIM
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_POWERSAVE_PARAMS
|
||
|
||
Synopsis
|
||
Set the two AR6000 power save timers (PS-POLL timer and APSD trigger timer) and
|
||
the two ASPD TIM policies
|
||
|
||
Command
|
||
wmiconfig eth1--psparams --psPollTimer=<psPollTimeout in ms>
|
||
--triggerTimer=<triggerTimeout in ms> --apsdTimPolicy=<ignore/
|
||
adhere> --simulatedAPSDTimPolicy=<ignore/adhere>
|
||
|
||
Command Parameters
|
||
typedef struct {
|
||
A_UINT16 psPollTimeout;
|
||
Timeout (in ms) after sending PS-POLL; the
|
||
AR6000 device sleeps if it does not receive a
|
||
data packet from the AP
|
||
|
||
A_UINT16 triggerTimeout;
|
||
Timeout (in ms) after sending a trigger; the
|
||
device sleeps if it does not receive any data
|
||
or null frame from the AP
|
||
|
||
APSD_TIM_POLICY apsdTimPolicy;
|
||
TIM behavior with queue APSD enabled
|
||
|
||
APSD_TIM_POLICY simulatedAPSD
|
||
|
||
TimPolicy;
|
||
TIM behavior with simulated APSD
|
||
enabled
|
||
|
||
typedef enum {
|
||
IGNORE_TIM_ALL_QUEUES_APSD = 0,
|
||
PROCESS_TIM_ALL_QUEUES_APSD = 1,
|
||
IGNORE_TIM_SIMULATED_APSD = 2,
|
||
POWERSAVE_TIMERS_POLICY = 3,
|
||
} APSD_TIM_POLICY;
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
psPollTimeout is 50 ms; triggerTimeout is 10 ms;
|
||
apsdTimPolicy = IGNORE_TIM_ALL_QUEUES_APSD;
|
||
simulatedAPSDTimPolicy = POWERSAVE_TIMERS_POLICY
|
||
|
||
Restrictions
|
||
When this command is used, all parameters must be set; this command does not
|
||
allow setting only one parameter.
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_PROBED_SSID
|
||
|
||
Synopsis
|
||
The host uses this command to provide a list of up to MAX_PROBED_SSID_INDEX
|
||
(six) SSIDs that the AR6000 device should actively look for. It lists the active SSID
|
||
table. By default, the device actively looks for only the SSID specified in the
|
||
<20>CONNECT_CMD<4D> command, and only when the regulatory domain allows active
|
||
probing. With this command, specified SSIDs are probed for, even if they are hidden.
|
||
|
||
Command
|
||
wmiconfig eth1 --ssid=<ssid> [--num=<index>]
|
||
|
||
Command Parameters
|
||
{
|
||
A_UINT8 numSsids
|
||
A number from 0 to
|
||
MAX_PROBED_SSID_INDEX indicating
|
||
the active SSID table entry index for this
|
||
command (if the specified entry index
|
||
already has an SSID, the SSID specified in
|
||
this command replaces it)
|
||
|
||
WMI_PROBED_SSID_INFO probedSSID[1]
|
||
} WMI_PROBED_SSID_CMD
|
||
|
||
{
|
||
A_UINT8 flag
|
||
WMI_SSID_FLAG indicates the current
|
||
entry in the active SSID table
|
||
A_UINT8 ssidLength
|
||
Length of the specified SSID in bytes.
|
||
If = 0, the entry corresponding to the
|
||
index is erased
|
||
A_UINT8 ssid[32]
|
||
SSID string actively probed for when
|
||
permitted by the regulatory domain
|
||
} WMI_PROBED_SSID_INFO
|
||
|
||
Command Values
|
||
WMI_SSID_FLAG
|
||
{
|
||
DISABLE_SSID_FLAG = 0
|
||
Disables entry
|
||
SPECIFIC_SSID_FLAG = 1
|
||
Probes specified SSID
|
||
ANY_SSID_FLAG = 2
|
||
Probes for any SSID
|
||
} WMI_SSID_FLAG
|
||
|
||
Reset Value
|
||
The entries are unused.
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_REASSOC_MODE
|
||
|
||
Synopsis
|
||
Specify whether the disassociated frame should be sent or not upon reassociation.
|
||
|
||
Command
|
||
wmiconfig eth1 --setreassocmode <mode>
|
||
|
||
Command Parameters
|
||
UINT8 mode
|
||
|
||
Command Values
|
||
mode
|
||
= 0x00
|
||
Send disassoc to a previously connected AP
|
||
upon reassociation
|
||
= 0x01
|
||
Do not send disassoc to previously connected
|
||
AP upon reassociation
|
||
|
||
Reset Values
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
SET_RETRY_LIMITS
|
||
|
||
Synopsis
|
||
Allows the host to influence the number of times that the AR6000 device should
|
||
attempt to send a frame before they give up.
|
||
|
||
Command
|
||
wmiconfig --setretrylimits <frameType> <trafficClass> <maxRetries>
|
||
<enableNotify>
|
||
|
||
Command Parameters
|
||
{
|
||
UINT8 frameType
|
||
A WMI_FRAMETYPE specifying
|
||
which type of frame is of interest.
|
||
UINT8 trafficClass
|
||
Specifies a traffic class (see
|
||
<20>CREATE_PSTREAM<41>). This
|
||
parameter is only significant when
|
||
frameType = DATA_FRAMETYPE.
|
||
UINT8 maxRetries
|
||
Maximum number of times the
|
||
device attempts to retry a frame Tx,
|
||
ranging from WMI_MIN_RETRIES
|
||
(2) to WMI_MAX_RETRIES (15). If
|
||
the special value 0 is used,
|
||
maxRetries is set to 15.
|
||
A_UINT8 enableNotify
|
||
Notify when enabled
|
||
} WMI_RETRY_LIMIT_INFO
|
||
|
||
{
|
||
A_UINT8 numEntries
|
||
WMI_RETRY_LIMIT_INFO retryLimitInfo[1]
|
||
} WMI_SET_RETRY_LIMITS_CMD
|
||
|
||
Command Values
|
||
{
|
||
MGMT_FRAMETYPE = 0 Management frame
|
||
CONTROL_FRAMETYPE = 1 Control frame
|
||
DATA_FRAMETYPE = 2 Data frame
|
||
} WMI_FRAMETYPE
|
||
|
||
Reset Values
|
||
Retries are set to 15
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_ROAM_CTRL
|
||
|
||
Synopsis
|
||
Affects how the AR6000 device selects a BSS. The host uses this command to set and
|
||
enable low RSSI scan parameters. The time period of low RSSI background scan is
|
||
mentioned in scan period. Low RSSI scan is triggered when the current RSSI
|
||
threshold (75% of current RSSI) is equal to or less than scan threshold.
|
||
|
||
Low RSSI roam is triggered when the current RSSI threshold falls below the roam
|
||
threshold and roams to a better AP by the end of the scan cycle. During Low RSSI
|
||
roam, if the STA finds a new AP with an RSSI greater than roam RSSI to floor, during
|
||
scan, it roams immediately to it instead of waiting for the end of the scan cycle. See
|
||
also <20>Scan and Roam<61> on page C-1.
|
||
|
||
Command
|
||
wmiconfig --roam <roamctrl> <info>, where info is <scan period>
|
||
<scan threshold> <roam threshold> <roam rssi floor>
|
||
|
||
Command Parameters
|
||
A_UINT8 roamCtrlType;
|
||
|
||
Command Values
|
||
WMI_FORCE_ROAM = 1
|
||
Roam to the specified BSSID
|
||
|
||
WMI_SET_ROAM_MODE = 2
|
||
Default, progd bias, no roam
|
||
|
||
WMI_SET_HOST_BIAS = 3
|
||
Set the host bias
|
||
|
||
WMI_SET_LOWRSSI_SCAN_PARAMS = 4
|
||
Info parameters
|
||
|
||
A_UINT8 bssid[ATH_MAC_LEN];
|
||
WMI_FORCE_ROAM
|
||
|
||
A_UINT8 roamMode;
|
||
WMI_SET_ROAM_MODE
|
||
|
||
A_UINT8 bssBiasInfo;
|
||
WMI_SET_HOST_BIAS
|
||
|
||
A_UINT16 lowrssi_scan_period;
|
||
WMI_SET_LOWRSSI_SCAN_PARAMS
|
||
|
||
A_INT16
|
||
lowrssi_scan_threshold;
|
||
WMI_SET_LOWRSSI_SCAN_PARAMS
|
||
|
||
A_INT16 lowrssi_roam_threshold;
|
||
WMI_SET_LOWRSSI_SCAN_PARAMS
|
||
|
||
A_UINT8 roam_rssi_floor;
|
||
WMI_SET_LOWRSSI_SCAN_PARAMS
|
||
|
||
Reset Value
|
||
None defined (default lowrssi scan is disabled. Enabled only when scan period is set.)
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_RTS
|
||
|
||
Synopsis
|
||
Decides when RTS should be sent.
|
||
|
||
Command
|
||
wmiconfig eth1 --setRTS <pkt length threshold>
|
||
|
||
Command Parameters
|
||
A_UINT16
|
||
threshold;
|
||
Command parameter threshold in bytes. An RTS is
|
||
sent if the data length is more than this threshold.
|
||
The default is to NOT send RTS.
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Value
|
||
Not to send RTS.
|
||
|
||
Restrictions
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
SET_SCAN_PARAMS
|
||
|
||
Synopsis
|
||
The host uses this command to set the AR6000 scan parameters, including the duty
|
||
cycle for both foreground and background scanning. Foreground scanning takes
|
||
place when the AR6000 device is not connected, and discovers all available wireless
|
||
networks to find the best BSS to join. Background scanning takes place when the
|
||
device is already connected to a network and scans for potential roaming candidates
|
||
and maintains them in order of best to worst. A second priority of background
|
||
scanning is to find new wireless networks.
|
||
|
||
The device initiates a scan when necessary. For example, a foreground scan is always
|
||
started on receipt of a <20>CONNECT_CMD<4D> command or when the device cannot find
|
||
a BSS to connect to. Foreground scanning is disabled by default until receipt of a
|
||
CONNECT command. Background scanning is enabled by default and occurs every
|
||
60 seconds after the device is connected.
|
||
|
||
The device implements a binary backoff interval for foreground scanning when it
|
||
enters the DISCONNECTED state after losing connectivity with an AP or when a
|
||
CONNECT command is received. The first interval is ForegroundScanStartPeriod,
|
||
which doubles after each scan until the interval reaches ForegroundScanEndPeriod.
|
||
If the host terminates a connection with DISCONNECT, the foreground scan period
|
||
is ForegroundScanEndPeriod. All scan intervals are measured from the time a full
|
||
scan ends to the time the next full scan starts. The host starts a scan by issuing a
|
||
<20>START_SCAN<41> command. See also <20>Scan and Roam<61> on page C-1.
|
||
|
||
Command
|
||
wmiconfig eth1 --scan --fgstart=<sec> --fgend=<sec> --bg=<sec> --
|
||
act=<msec> --pas=<msec> --sr=<short scan ratio> --scanctrlflags
|
||
<connScan> <scanConnected> <activeScan> <reportBSSINFO>
|
||
|
||
Command Parameters
|
||
UINT16 fgStartPeriod
|
||
First interval used by the device when it
|
||
disconnects from an AP or receives a
|
||
CONNECT command, specified in seconds (0<>
|
||
65535). If = 0, the device uses the reset value.
|
||
If = 65535, the device disables foreground
|
||
scanning.
|
||
|
||
UINT16 fgEndPeriod
|
||
The maximum interval the device waits between
|
||
foreground scans specified in seconds (from
|
||
ForegroundScanStartPeriod to 65535). If = 0, the
|
||
device uses the reset value.
|
||
|
||
UINT16 bgScanPeriod
|
||
The period of background scan specified in
|
||
seconds (0<>65535). By default, it is set to the reset
|
||
value of 60 seconds. If 0 or 65535 is specified, the
|
||
device disables background scanning.
|
||
|
||
UINT16 maxactChDwellTime
|
||
The period of time the device stays on a
|
||
particular channel while active scanning. It is
|
||
specified in ms (10<31>65535). If the special value of
|
||
0 is specified, the device uses the reset value.
|
||
|
||
UINT16 PasChDwellTime
|
||
The period of time the device remains on a
|
||
particular channel while passive scanning. It is
|
||
specified in ms (10<31>65535). If the special value of
|
||
0 is specified, the device uses the reset value.
|
||
|
||
UINT8 shortScanRatio
|
||
Number of short scans to perform for each
|
||
long scan.
|
||
|
||
UINT8 scanCtrlFlasgs
|
||
|
||
UINT16 minactChDwellTime
|
||
Specified in ms
|
||
|
||
UINT32 maxDFSchActTime
|
||
The maximum time a DFS channel can stay
|
||
active before being marked passive, specified in
|
||
ms.
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
ForegroundScanStart
|
||
Period
|
||
1 sec
|
||
|
||
ForegroundScanEndPeriod
|
||
60 sec
|
||
|
||
BackgroundScanPeriod
|
||
60 sec
|
||
|
||
ActiveChannelDwellTime
|
||
105 ms
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_TKIP_COUNTERMEASURES
|
||
|
||
Synopsis
|
||
The host issues this command to tell the target whether to enable or disable TKIP
|
||
countermeasures.
|
||
|
||
Command
|
||
TBD
|
||
|
||
Command Parameters
|
||
UINT8 WMI_TKIP_CM_ENABLE
|
||
Enables the countermeasures
|
||
|
||
|
||
UINT8 TKIP_CM_DISABLE
|
||
Disables the countermeasures
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
By default, TKIP MIC reporting is disabled
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_TX_PWR
|
||
|
||
Synopsis
|
||
The host uses this command to specify the Tx power level of the AR6000. Cannot be
|
||
used to exceed the power limit permitted by the regulatory domain. The maximum
|
||
output power is limited in the chip to 31.5 dBm; the range is 0 <20> 31.5 dbm.
|
||
|
||
Command
|
||
wmiconfig --power <dbM>
|
||
|
||
Command Parameters
|
||
UINT8 dbM
|
||
The desired Tx power specified in dbM.
|
||
If = 0, the device chooses the maximum
|
||
permitted by the regulatory domain.
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
The maximum permitted by the regulatory domain
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
<20>GET_TX_PWR<57>
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
SET_VOICE_PKT_SIZE
|
||
|
||
Synopsis
|
||
If an AP does not support WMM, it has no way to differentiate voice from data.
|
||
Because the voice packet is typically small, packet in size less than voicePktSize are
|
||
assumed to be voice, otherwise it is treated as data.
|
||
|
||
Command
|
||
wmiconfig eth1 --setVoicePktSize <size-in-bytes>
|
||
|
||
Command Parameters
|
||
UINT16 voicePktSize
|
||
Packet size in octets
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Values
|
||
voicePktSize default is 400 bytes
|
||
|
||
Restrictions
|
||
No effect if WMM is unavailable
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
SET_WMM
|
||
|
||
Synopsis
|
||
Overrides the AR6000 device WMM capability
|
||
|
||
Command
|
||
wmiconfig eth1 --setwmm <enable>
|
||
|
||
Command Parameters
|
||
WMI_WMM_ENABLED
|
||
Enables WMM
|
||
|
||
WMI_WMM_DISABLED
|
||
Disables WMM support
|
||
|
||
Command Values
|
||
0 = disabled
|
||
1 = enabled
|
||
|
||
Reset Value
|
||
WMM Disabled
|
||
|
||
Restrictions
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
SET_WMM_TXOP
|
||
|
||
Synopsis
|
||
Configures TxOP Bursting when sending traffic to a WMM capable AP
|
||
|
||
Command
|
||
wmiconfig eth1 --txopbursting <burstEnable>
|
||
|
||
<burstEnable>
|
||
= 0
|
||
Disallow TxOp bursting
|
||
|
||
= 1
|
||
Allow TxOp bursting
|
||
|
||
Command Parameters
|
||
txopEnable
|
||
= WMI_TXOP_DISABLED
|
||
Disabled
|
||
|
||
= WMI_TXOP_ENABLED
|
||
Enabled
|
||
|
||
Command Values
|
||
txopEnable
|
||
= 0 Disabled
|
||
|
||
= 1 Enabled
|
||
|
||
Reset Value
|
||
Bursting is off by default
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_WOW_MODE
|
||
|
||
Synopsis
|
||
The host uses this command to enable or disable the WoW mode. When WoW mode
|
||
is enabled and the host is asleep, pattern matching takes place at the target level.
|
||
Only packets that match any of the pre-specified WoW filter patterns, will be passed
|
||
up to the host. The host will also be woken up by the target. Packets which do not
|
||
match any of the WoW patterns are discarded.
|
||
|
||
Command
|
||
wmiconfig <20>setwowmode <enable/disable>
|
||
|
||
Command Parameters
|
||
A_BOOL enable_wow
|
||
Enable or disable WoW:
|
||
|
||
Command Values
|
||
= 0
|
||
Disable WoW
|
||
|
||
= 1
|
||
Enable WoW
|
||
|
||
Reset Value
|
||
None defined (default WoW mode is disabled).
|
||
|
||
Restrictions
|
||
None
|
||
|
||
See Also
|
||
<20>GET_WOW_LIST<53>
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
SET_WSC_STATUS
|
||
|
||
Synopsis
|
||
The supplicant uses this command to inform the target about the status of the WSC
|
||
registration protocol. During the WSC registration protocol, a flag is set so the target
|
||
bypasses some of the checks in the CSERV module. At the end of the registration, this
|
||
flag is reset.
|
||
|
||
Command
|
||
N/A
|
||
|
||
Command Parameters
|
||
A_BOOL status
|
||
= 1 WSC registration in progress
|
||
= 0 WSC protocol not running
|
||
|
||
Reply Parameters
|
||
None
|
||
|
||
Reset Value
|
||
None defined (default = 0)
|
||
|
||
Restrictions
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
SNR_THRESHOLD_PARAMS
|
||
|
||
Synopsis
|
||
Configures how the AR6000 device monitors and reports SNR of the connected BSS,
|
||
used as a link quality metric.
|
||
|
||
Command
|
||
--snrThreshold <weight> <upper_threshold_1> ...
|
||
<upper_threshold_4> <lower_threshold_1> ... <lower_threshold_4>
|
||
<pollTimer>
|
||
|
||
Command Parameters
|
||
<weight>
|
||
Share with rssiThreshold. Range in [1, 16], used
|
||
in the formula to calculate average RSSI
|
||
|
||
<upper_threshold_x>
|
||
Above thresholds expressed in db, in ascending
|
||
order
|
||
|
||
<lower_threshold_x>
|
||
Below thresholds expressed in db, in ascending
|
||
order
|
||
|
||
<pollTimer>
|
||
The signal strength sampling frequency in
|
||
seconds. If polltime = 0, signal strength
|
||
sampling is disabled
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Value
|
||
None defined
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
START_SCAN
|
||
|
||
Synopsis
|
||
The host uses this command to start a long or short channel scan. All future scans are
|
||
relative to the time the AR6000 device processes this command. The device performs
|
||
a channel scan on receipt of this command, even if a scan was already in progress.
|
||
The host uses this command when it wishes to refresh its cached database of wireless
|
||
networks. The isLegacy field will be removed (0 for now) because it is achieved by
|
||
setting CONNECT_PROFILE_MATCH_DONE in the CONNECT command. See also
|
||
<20>Scan and Roam<61>
|
||
|
||
Command
|
||
wmiconfig eth1 --startscan <scan type> <forcefgscan> 0
|
||
<homeDwellTime> <forceScanInterval>
|
||
|
||
Command Parameters
|
||
UINT8 scanType
|
||
WMI_SCAN_TYPE
|
||
|
||
Command Values
|
||
{
|
||
WMI_LONG_SCAN =0x0
|
||
Requests a full scan
|
||
WMI_SHORT_SCAN =0x1
|
||
Requests a short scan
|
||
} WMI_SCAN_TYPE
|
||
|
||
A_BOOL forceFgScan
|
||
forceFgScan
|
||
= 0
|
||
Disable the foreground scan
|
||
|
||
forceFgScan
|
||
= 1
|
||
Forces a foreground scan
|
||
|
||
A_UINT32 homeDwellTime
|
||
Maximum duration in the home
|
||
channel (in ms)
|
||
|
||
A_UINT32 forceScanInterval
|
||
Time interval between scans (in ms)
|
||
|
||
A_UINT32 scanType
|
||
WMI_SCAN_TYPE
|
||
|
||
Reset Value
|
||
Disable forcing foreground scan
|
||
|
||
Restrictions
|
||
isLegacy field will no longer be supported (pass as 0 for now)
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
SYNCHRONIZE
|
||
|
||
Synopsis
|
||
The host uses this command to force a synchronization point between the command
|
||
and data paths
|
||
|
||
Command
|
||
TBD
|
||
|
||
Command Parameters
|
||
None
|
||
|
||
|
||
|
||
Command Values
|
||
None
|
||
|
||
|
||
|
||
Reset Values
|
||
None
|
||
|
||
|
||
|
||
Restrictions
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
TARGET_ERROR_REPORT_BITMASK
|
||
|
||
Synopsis
|
||
Allows the host to control <20>ERROR_REPORT<52> events from the AR6000 device.
|
||
|
||
If error reporting is disabled for an error type, a count of errors of that type is
|
||
maintained by the device.
|
||
|
||
If error reporting is enabled for an error type, an <20>ERROR_REPORT<52> event is
|
||
sent when an error occurs and the error report bit is cleared.
|
||
|
||
Error counts for each error type are available through the <20>GET_TARGET_STATS<54>
|
||
command.
|
||
|
||
Command
|
||
wmiconfig eth1 --setErrorReportingBitmask
|
||
|
||
Command Parameters
|
||
UINT32 bitmask
|
||
Represents the set of
|
||
WMI_TARGET_ERROR_VAL error types
|
||
enabled for reporting
|
||
|
||
Command Values
|
||
{
|
||
WMI_TARGET_PM_ERR_FAIL = 0x00000001
|
||
Power save fails (only two cases):
|
||
Retry out of null function/QoS null
|
||
function to associated AP for PS
|
||
indication'
|
||
Host changes the PS setting when
|
||
STA is off home channel
|
||
|
||
WMI_TARGET_KEY_NOT_FOUND = 0x00000002
|
||
No cipher key
|
||
WMI_TARGET_DECRYPTION_ERR = 0x00000004
|
||
Decryption error
|
||
WMI_TARGET_BMISS = 0x00000008
|
||
Beacon miss
|
||
WMI_PSDISABLE_NODE_JOIN = 0x00000010
|
||
A non-PS-enabled STA joined the
|
||
PS-enabled network
|
||
WMI_TARGET_COM_ERR = 0x00000020
|
||
Host/target communication error
|
||
WMI_TARGET_FATAL_ERR = 0x00000040
|
||
Fatal error
|
||
} WMI_TARGET_ERROR_VAL
|
||
|
||
Reset Values
|
||
Bitmask is 0, and all error reporting is disabled
|
||
|
||
Restrictions
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
WMI Events
|
||
|
||
Event
|
||
Description
|
||
Page
|
||
|
||
|
||
BSSINFO
|
||
Contains information describing BSSs collected during a scan
|
||
|
||
CAC_EVENTID
|
||
Indicates signalling events in admission control
|
||
|
||
CMDERROR
|
||
The AR6000 device encounters an error while attempting to process
|
||
a command
|
||
|
||
CONNECT
|
||
The device has connected to a wireless network
|
||
|
||
DISCONNECT
|
||
The device lost connectivity with a wireless network
|
||
|
||
ERROR_REPORT
|
||
An error has occurred for which the host previously requested
|
||
notification with the command
|
||
<20>TARGET_ERROR_REPORT_BITMASK<53>
|
||
|
||
EXTENSION
|
||
WMI extension event
|
||
|
||
GET_PMKID_LIST_EVENT
|
||
Created in response to a <20>GET_PMKID_LIST_CMD<4D> command
|
||
|
||
GET_WOW_LIST_EVENT
|
||
Response to the wmiconfig <20>GET_WOW_LIST<53> command to
|
||
retrieve the configured WoW patterns
|
||
|
||
NEIGHBOR_REPORT
|
||
Neighbor APs that match the current profile were detected
|
||
|
||
OPT_RX_FRAME_EVENT
|
||
(Special feature) informs the host of the reception of a special frame
|
||
|
||
PSTREAM_TIMEOUT
|
||
A prioritized stream has been idle for a specified interval
|
||
|
||
READY
|
||
The AR6000 device is ready to accept commands
|
||
|
||
REGDOMAIN
|
||
The regulatory domain has changed
|
||
|
||
REPORT_ROAM_DATA_EVENT
|
||
Reports the roam time calculations made by the device
|
||
(generated with a special build)
|
||
<20>
|
||
|
||
REPORT_STATISTICS
|
||
Reply to a <20>GET_TARGET_STATS<54> command
|
||
|
||
ROAM_TBL_EVENT
|
||
Reports the roam table
|
||
|
||
RSSI_THRESHOLD
|
||
Signal strength from the connected AP has crossed the threshold
|
||
defined in the <20>RSSI_THRESHOLD_PARAMS<4D> command
|
||
|
||
SCAN_COMPLETE_EVENT
|
||
A scan has completed (added status SCAN_ABORTED in release 2.0)
|
||
|
||
TEST_EVENT
|
||
Event generated by the TCMD
|
||
|
||
TKIP_MICERROR
|
||
TKIP MIC errors were detected
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
BSSINFO
|
||
|
||
Synopsis
|
||
Contains information describing one or more BSSs as collected during a scan.
|
||
Information includes the BSSID, SSID, RSSI, network type, channel, supported rates,
|
||
and IEs. BSSINFO events are sent only after the device receives a beacon or probe-
|
||
response frame that pass the filter specified in the <20>SET_BSS_FILTER<45> command.
|
||
BSSINFO events consist of a small header followed by a copy of the beacon or probe
|
||
response frame. The 802.11 header is not present. For formats of beacon and probe-
|
||
response frames please consult the IEEE 802.11 specification.
|
||
|
||
The beacons or probe responses containing the IE specified by the
|
||
WMI_BSS_FILTER_CMD are passed to the host through the
|
||
WMI_BSSINFO_EVENT. The event carries a 32-bit bitmask that indicates the IEs that
|
||
were detected in the management frame. The frame type field has been extended to
|
||
indicate action management frames. This would be helpful to route these frames
|
||
through the same event mechanism as used by the beacon processing function.
|
||
|
||
If the bssFilter in the SET_BSS_FILTER matches, then the ieMask is not relevant
|
||
because the BSSINFO event is sent to the host. If the bssFilter doesnot match in the
|
||
beacons/probe respones, then the ieMask match dictates whether the BSSINFO
|
||
event is sent to the host. In the case of action management frames, the ieMask is the
|
||
filter that is applied.
|
||
|
||
Event ID
|
||
0x1004
|
||
|
||
Event Parameters
|
||
typedef struct {
|
||
A_UINT16 channel;
|
||
Specifies the frequency (in MHz) where the
|
||
frame was received
|
||
A_UINT8 frameType;
|
||
A WMI_BI_FTYPE value
|
||
A_UINT8 snr;
|
||
A_INT16 rssi;
|
||
Indicates signal strength
|
||
A_UINT8 bssid[ATH_MAC_LEN];
|
||
A_UINT32 ieMask;
|
||
} _ATTRIB_PACK_WMI_BSS_INFO_HDR;
|
||
|
||
Beacon or Probe Response Frame
|
||
|
||
Event Values
|
||
{
|
||
BEACON_FTYPE = 0x1
|
||
Indicates a beacon frame
|
||
PROBERESP_FTYPE
|
||
Indicates a probe response frame
|
||
ACTION_MGMT_FTYPE
|
||
} WMI_BI_FTYPE
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
CAC_EVENTID
|
||
|
||
Synopsis
|
||
Indicates signalling events in admission control. Events are generated when
|
||
admission is accepted, rejected, or deleted by either the host or the AP. If the AP does
|
||
not respond to an admission request within a timeout of 500 ms, an event is
|
||
generated to the host.
|
||
|
||
Event ID
|
||
0x1011
|
||
|
||
Event Parameters
|
||
UINT8
|
||
ac
|
||
Access class pertaining to the
|
||
signalling
|
||
|
||
UINT8 cac_indication
|
||
Type of indication; indications are
|
||
listed in WMI_CAC_INDICATION
|
||
|
||
UINT8 statusCode
|
||
AP response status code for a
|
||
request
|
||
|
||
UINT8 tspecSuggestion[63]
|
||
Suggested TSPEC from AP
|
||
|
||
Event Values
|
||
{
|
||
CAC_INDICATION_ADMISSION = 0x00
|
||
CAC_INDICATION_ADMISSION_RESP = 0x01
|
||
CAC_INDICATION_DELETE = 0x02
|
||
CAC_INDICATION_NO_RESP = 0x03
|
||
} WMI_CAC_INDICATION
|
||
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
CMDERROR
|
||
|
||
Synopsis
|
||
Indicates that the AR6000 device encountered an error while attempting to process a
|
||
command. This error is fatal and indicates that the device requires a reset.
|
||
|
||
Event ID
|
||
0x1005
|
||
|
||
Event Parameters
|
||
UINT16 commandId
|
||
Corresponds to the command which generated
|
||
the error
|
||
UINT8 errorCode
|
||
A WMI_ERROR_CODE value
|
||
|
||
Event Values
|
||
{
|
||
INVALID_PARAM = 1
|
||
Invalid parameter
|
||
ILLEGAL_STATE = 2
|
||
Illegal state
|
||
INTERNAL_ERROR = 3
|
||
Internal Error
|
||
All other values reserved
|
||
} WMI_ERROR_CODE
|
||
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
CONNECT
|
||
|
||
Synopsis
|
||
Signals that the AR6000 connected to a wireless network. Connection occurs due to a
|
||
<20>CONNECT<43> command or roaming to a new AP. For infrastructure networks, shows
|
||
that the AR6000 successfully performed 802.11 authentication and AP association.
|
||
|
||
Event ID
|
||
0x1002
|
||
|
||
Event Parameters
|
||
UINT16 channel
|
||
Channel frequency (in MHz) of the network the
|
||
AR6000 are connected to
|
||
|
||
UINT8 bssid[6]
|
||
MAC address of the AP the AR6000 are
|
||
connected to or the BSSID of the ad hoc
|
||
network
|
||
|
||
UINT16 listenInterval
|
||
Listen interval (in Kms) that the AR6000 are
|
||
using
|
||
|
||
UINT 8 beaconIeLen
|
||
Length (in bytes) of the beacon IEs
|
||
|
||
UINT8 assocInfo
|
||
Pointer to an array containing beacon IEs,
|
||
followed first by association request IEs then by
|
||
association response IEs
|
||
|
||
UINT8 assocReqLen
|
||
Length (in bytes) of the assocReqIEs array
|
||
|
||
UINT8 assocRespLen
|
||
Length (in bytes) of the assocRespIEs array
|
||
|
||
Event Values
|
||
None defined
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
DISCONNECT
|
||
|
||
Synopsis
|
||
Signals that the AR6000 device lost connectivity with the wireless network.
|
||
DISCONENCT is generated when the device fails to complete a <20>CONNECT<43>
|
||
command or as a result of a transition from a connected state to disconnected state.
|
||
|
||
After sending the <20>DISCONNECT<43> event the device continually tries to re-establish
|
||
a connection. A LOST_LINK occurs when STA cannot receive beacons within the
|
||
specified time for the SET_BMISS_TIME command.
|
||
|
||
Event ID
|
||
0x1003
|
||
|
||
Event Parameters
|
||
UINT8 disconnect
|
||
Reason
|
||
A WMI_DISCONNECT_REASON value
|
||
|
||
UINT8 bssid[6]
|
||
Indicates which BSS the device was connected to
|
||
|
||
UINT8 assocRespLen
|
||
Length of the 802.11 association response frame
|
||
that triggered this event, or 0 if not applicable
|
||
|
||
UINT8 assocInfo[assocRespLen]
|
||
Copy of the 802.11 association response frame
|
||
|
||
Event Values
|
||
{
|
||
NO_NETWORK_AVAIL =0x01
|
||
Indicates that the device was unable to
|
||
establish or find the desired network
|
||
LOST_LINK =0x02
|
||
Indicates the devices is no longer receiving
|
||
beacons from the BSS it was previously
|
||
connected to
|
||
|
||
DISCONNECT_CMD =0x03
|
||
Indicates a <20>DISCONNECT<43> command was
|
||
processed
|
||
BSS_DISCONNECTED =0x04
|
||
Indicates the BSS explicitly disconnected the
|
||
device. Possible mechanisms include the AP
|
||
sending 802.11 management frames
|
||
(e.g., disassociate or deauthentication
|
||
messages).
|
||
AUTH_FAILED =0x05
|
||
Indicates that the device failed 802.11
|
||
authentication with the BSS
|
||
ASSOC_FAILED =0x06
|
||
Indicates that the device failed 802.11
|
||
association with the BSS
|
||
NO_RESOURCES_AVAIL =0x07
|
||
Indicates that a connection failed because the
|
||
AP had insufficient resources to complete the
|
||
connection
|
||
CSERV_DISCONNECT =0x08
|
||
Indicates that the device<63>s connection services
|
||
module decided to disconnect from a BSS,
|
||
which can happen for a variety of reasons (e.g.,
|
||
the host marks the current connected AP as a
|
||
bad AP).
|
||
INVALID_PROFILE =0x0A
|
||
Indicates that an attempt was made to
|
||
reconnect to a BSS that no longer matches the
|
||
current profile
|
||
All other values are reserved
|
||
} WMI_DISCONNECT_REASON
|
||
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
ERROR_REPORT
|
||
|
||
Synopsis
|
||
Signals that a type of error has occurred for which the host previously requested
|
||
notification through the <20>TARGET_ERROR_REPORT_BITMASK<53> command.
|
||
|
||
Event ID
|
||
0x100D
|
||
|
||
Event Parameters
|
||
UINT32 errorVal
|
||
WMI_TARGET_ERROR_VAL value. See
|
||
<20>TARGET_ERROR_REPORT_BITMASK<53>.
|
||
|
||
Event Values
|
||
errorVal
|
||
= 0x00000001
|
||
Power save fails
|
||
|
||
= 0x00000002
|
||
No cipher key
|
||
|
||
= 0x00000004
|
||
Decryption error
|
||
|
||
= 0x00000008
|
||
Beacon miss
|
||
|
||
= 0x00000010
|
||
A non-power save disabled node has joined
|
||
the PS-enabled network
|
||
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
EXTENSION
|
||
|
||
Synopsis
|
||
The WMI is used mostly for wireless control messages to a wireless module that
|
||
apply to wireless module management regardless of the target platform
|
||
implementation. However, some events peripherally related to wireless management
|
||
are desired during operation. These wireless extension events may be platform-
|
||
specific or implementation-dependent. See <20>WMI Extension Commands<64>
|
||
|
||
|
||
Event ID
|
||
0x1010
|
||
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
GET_PMKID_LIST_EVENT
|
||
|
||
Synopsis
|
||
Generated by firmware in response to a <20>GET_PMKID_LIST_CMD<4D> command.
|
||
|
||
Event Parameters
|
||
typedef struct {
|
||
A_UINT32 numPMKID;
|
||
Contains the number of PMKIDs in the reply
|
||
WMI_PMKID pmkidList[1];
|
||
} __ATTRIB_PACK WMI_PMKID_LIST_REPLY;
|
||
|
||
Event Values
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
GET_WOW_LIST_EVENT
|
||
|
||
Synopsis
|
||
Response to the wmiconfig <20>getwowlist command to retrieve the configured Wake on
|
||
Wireless patterns
|
||
|
||
Event ID
|
||
0x10018
|
||
|
||
Event Parameters
|
||
{
|
||
|
||
A_UINT8 num_filters
|
||
Total number of patterns in the list
|
||
A_UINT8 this_filter_num
|
||
The filter number
|
||
A_UINT8 wow_mode
|
||
Shows whether WoW is enabled or disabled
|
||
A_UINT8 host_mode
|
||
Shows whether the host is asleep or awake
|
||
WOW_FILTER wow_filters[1]
|
||
List of WoW filters (pattern and mask data bytes)
|
||
} WMI_GET_WOW_LIST_REPLY;
|
||
|
||
{
|
||
Each wow_filter_list element shows:
|
||
A_UINT8 wow_valid_filter
|
||
Whether the filter is valid
|
||
A_UINT8 wow_filter_list_id
|
||
Filter List ID (23 = default)
|
||
A_UINT8 wow_filter_size
|
||
Size in bytes of the filter
|
||
A_UINT8 wow_filter_offset
|
||
Offset of the pattern to search in the data packet
|
||
A_UINT8 wow_filter_mask[MASK_SIZE]
|
||
The mask to be applied to the pattern
|
||
A_UINT8 wow_filter_pattern[WOW_PATTERN_SIZE]
|
||
The pattern that to match to wake up the host
|
||
} WOW_FILTER
|
||
|
||
Event Values
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
|
||
Name
|
||
NEIGHBOR_REPORT
|
||
|
||
Synopsis
|
||
Indicates the existence of neighbor APs that match the current profile. The host uses
|
||
this event to populate the PMKID cache on the AR6000 and/or to perform
|
||
preauthentication. This event is only generated in infrastructure mode.
|
||
|
||
A total of numberOfAps pairs of bssid/bssFlags exist, one pair for each AP.
|
||
|
||
Event ID
|
||
0x1008
|
||
|
||
Event Parameters
|
||
UINT8 numberOfAps
|
||
The number of APs reported about in
|
||
this event
|
||
{
|
||
UINT8 bssid[6]
|
||
MAC address of a neighbor AP
|
||
UINT8 bssFlags
|
||
A WMI_BSS_FLAGS value
|
||
}[numberOfAps]
|
||
|
||
|
||
Event Values
|
||
{
|
||
WMI_DEFAULT_BSS_FLAGS = 0
|
||
Logical OR of 1 or more
|
||
WMI_BSS_FLAGS
|
||
WMI_PREAUTH_CAPABLE_BSS
|
||
= 1
|
||
Indicates that this AP is capable of
|
||
preauthentication
|
||
WMI_PMKID_VALID_BSS
|
||
= 2
|
||
Indicates that the AR6000 have a
|
||
valid pairwise master key for this AP
|
||
} WMI_BSS_FLAGS
|
||
|
||
|
||
=====================================================================
|
||
|
||
|
||
|
||
Name
|
||
OPT_RX_FRAME_EVENT
|
||
|
||
Synopsis
|
||
Special feature, informs host of the reception of a special frame.
|
||
|
||
Event ID
|
||
0x100E
|
||
|
||
Event Parameters
|
||
{
|
||
A_UINT16 channel;
|
||
A_UINT8 frameType;
|
||
A_INT8 snr;
|
||
A_UINT8 srcAddr[ATH_MAC_LEN];
|
||
A_UINT8 bssid[ATH_MAC_LEN];
|
||
}WMI_OPT_RX_INFO_HDR
|
||
|
||
Event Values
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
|
||
Name
|
||
PSTREAM_TIMEOUT
|
||
|
||
Synopsis
|
||
Indicates that a priority stream that got created as a result of priority-marked data
|
||
flow (priority marked in IP TOS) being idle for the default inactivity interval period
|
||
(specified in the <20>CREATE_PSTREAM<41> command) used for priority streams created
|
||
implicitly by the driver. This event is not indicated for user-created priority streams.
|
||
User-created priority streams exist until the users delete them explicitly. They do not
|
||
timeout due to data inactivity.
|
||
|
||
Event ID
|
||
0x1007
|
||
|
||
Event Parameters
|
||
A_UINT8
|
||
trafficClass
|
||
Indicated the traffic class of priority
|
||
stream that timed out
|
||
|
||
Event Values
|
||
{
|
||
WMM_AC_BE = 0
|
||
Best effort
|
||
WMM_AC_BK = 1
|
||
Background
|
||
WMM_AC_VI = 2
|
||
Video
|
||
WMM_AC_VO = 3
|
||
Voice
|
||
} TRAFFIC CLASS
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
READY
|
||
|
||
Synopsis
|
||
Indicates that the AR6000 device is prepared to accept commands. It is sent once after
|
||
power on or reset. It also indicates the MAC address of the device.
|
||
|
||
Event ID
|
||
0x1001
|
||
|
||
Event Parameters
|
||
UINT8 macAddr[6]
|
||
Device MAC address
|
||
UINT8 phyCapability
|
||
A WMI_PHY_CAPABILITY value. Indicates the
|
||
capabilities of the device wireless module<6C>s radio
|
||
|
||
Event Values
|
||
{
|
||
WMI_11A_CAPABILITY = 1
|
||
WMI_11G_CAPABILITY = 2
|
||
WMI_11AG_CAPABILITY = 3
|
||
} WMI_PHY_CAPABILITY
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
REGDOMAIN
|
||
|
||
Synopsis
|
||
Indicates that the regulatory domain has changed. It initially occurs when the
|
||
AR6000 device reads the board data information. The regulatory domain can also
|
||
change when the device is a world-mode SKU. In this case, the regulatory domain is
|
||
based on the country advertised by APs per the IEEE 802.11d specification. A
|
||
potential side effect of a regulatory domain change is a change in the list of available
|
||
channels. Any channel restrictions that exist as a result of a previous
|
||
<20>SET_CHANNEL_PARAMETERS<52> command are lifted.
|
||
|
||
Event ID
|
||
0x1006
|
||
|
||
Event Parameters
|
||
UINT32 regDomain
|
||
The range of 0x0000 <20> 0x00FF
|
||
corresponds to an ISO country code.
|
||
|
||
Other regCodes are reserved for world
|
||
mode settings and specific regulatory
|
||
domains.
|
||
|
||
Event Values
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
|
||
|
||
Name
|
||
REPORT_STATISTICS
|
||
|
||
Synopsis
|
||
A reply to a <20>GET_TARGET_STATS<54> command.
|
||
|
||
Event ID
|
||
0x100B
|
||
|
||
Event Parameters
|
||
When the statistics are sent to the host, the AR6001 clear them so that a new set of
|
||
statistics are collected for the next report.
|
||
|
||
UINT32 tx_packets
|
||
UINT32 tx_bytes
|
||
UINT32 tx_unicast_pkts
|
||
UINT32 tx_unicast_bytes
|
||
UINT32 tx_multicast_pkts
|
||
UINT32 tx_multicast_bytes
|
||
UINT32 tx_broadcast_pkts
|
||
UINT32 tx_broadcast_bytes
|
||
UINT32 tx_rts_success_cnt
|
||
UINT32 tx_packet_per_ac[4]
|
||
Tx packets per AC: [0] = BE, [1] = BK,
|
||
[2] = VI, [3] = VO
|
||
UINT32 tx_errors
|
||
Number of packets which failed Tx, due
|
||
to all failures
|
||
... REPORT_STATISTICS, continued
|
||
UINT32 tx_failed_cnt
|
||
Number of data packets that failed Tx
|
||
UINT32 tx_retry_cnt
|
||
Number of Tx retries for all packets
|
||
UINT32 tx_rts_fail_cnt
|
||
Number of RTS Tx failed count
|
||
UINT32 rx_packets
|
||
UINT32 rx_bytes
|
||
UINT32 rx_unicast_pkts
|
||
UINT32 rx_unicast_bytes
|
||
UINT32 rx_multicast_pkts
|
||
UINT32 rx_multicast_bytes
|
||
UINT32 rx_broadcast_pkts
|
||
UINT32 rx_broadcast_bytes
|
||
UINT32 rx_fragment_pkt
|
||
Number of fragmented packets received
|
||
UINT32 rx_errors
|
||
Number of Rx errors due to all failures
|
||
UINT32 rx_crcerr
|
||
Number of Rx errors due to CRC errors
|
||
UINT32 rx_key_cache_miss
|
||
Number of Rx errors due to a key not
|
||
being plumbed
|
||
UINT32 rx_decrypt_err
|
||
Number of Rx errors due to decryption
|
||
failure
|
||
UINT32 rx_duplicate_frames
|
||
Number of duplicate frames received
|
||
UINT32 tkip_local_mic_failure
|
||
Number of TKIP MIC errors detected
|
||
UINT32 tkip_counter_measures_invoked
|
||
Number of times TKIP countermeasures
|
||
were invoked
|
||
UINT32 tkip_replays
|
||
Number of frames that replayed a TKIP
|
||
encrypted frame received earlier
|
||
UINT32 tkip_format_errors
|
||
Number of frames that did not conform
|
||
to the TKIP frame format
|
||
UINT32 ccmp_format_errors
|
||
Number of frames that did not conform
|
||
to the CCMP frame format
|
||
UINT32 ccmp_replays
|
||
Number of frames that replayed a CCMP
|
||
encrypted frame received earlier
|
||
UINT32 power_save_failure_cnt
|
||
Number of failures that occurred when
|
||
the AR6001 could not go to sleep
|
||
UINT32 cs_bmiss_cnt
|
||
Number of BMISS interrupts since
|
||
connection
|
||
UINT32 cs_lowRssi_cnt
|
||
Number of the times the RSSI went below
|
||
the low RSSI threshold
|
||
UINT16 cs_connect_cnt
|
||
Number of connection times
|
||
UINT16 cs_disconnect_cnt
|
||
Number of disconnection times
|
||
UINT8 cs_aveBeacon_rssi
|
||
The current averaged value of the RSSI
|
||
from the beacons of the connected BSS
|
||
UINT8 cs_lastRoam_msec
|
||
Time that the last roaming took, in ms.
|
||
This time is the difference between
|
||
roaming start and actual connection.
|
||
|
||
Event Values
|
||
None defined
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
ROAM_TBL_EVENT
|
||
|
||
Synopsis
|
||
Reports the roam table, which contains the current roam mode and this information
|
||
for every BSS:
|
||
|
||
Event ID
|
||
0x100F
|
||
|
||
Event Parameters
|
||
A_UINT8 bssid[ATH_MAC_LEN];
|
||
BSSID
|
||
A_UINT8 rssi
|
||
Averaged RSSI
|
||
A_UINT8 rssidt
|
||
Change in RSSI
|
||
A_UINT8 last_rssi
|
||
Last recorded RSSI
|
||
A_UINT8 roam_util
|
||
Utility value used in roaming decision
|
||
A_UINT8 util
|
||
Base utility with the BSS
|
||
A_UINT8 bias
|
||
Host configured for this BSS
|
||
|
||
Event Values
|
||
roamMode
|
||
Current roam mode
|
||
|
||
= 1
|
||
RSSI based roam
|
||
|
||
= 2
|
||
Host bias-based roam
|
||
|
||
= 3
|
||
Lock to the current BSS
|
||
|
||
= 4
|
||
Autonomous roaming disabled
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
RSSI_THRESHOLD
|
||
|
||
Synopsis
|
||
Alerts the host that the signal strength from the connected AP has crossed a
|
||
interesting threshold as defined in a previous <20>RSSI_THRESHOLD_PARAMS<4D>
|
||
command.
|
||
|
||
Event ID
|
||
0x100C
|
||
|
||
Event Parameters
|
||
UINT8 range
|
||
A WMI_RSSI_THRESHOLD_VAL
|
||
value, which indicates the range of
|
||
the average signal strength
|
||
|
||
Event Values
|
||
{
|
||
WMI_RSSI_LOWTHRESHOLD_BELOW_LOWERVAL = 1
|
||
WMI_RSSI_LOWTHRESHOLD_LOWERVAL = 2
|
||
WMI_RSSI_LOWTHRESHOLD_UPPERVAL = 3
|
||
WMI_RSSI_HIGHTHRESHOLD_LOWERVAL = 4
|
||
WMI_RSSI_HIGHTHRESHOLD_HIGHERVAL = 5
|
||
} WMI_RSSI_THRESHOLD_VAL
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
SCAN_COMPLETE_EVENT
|
||
|
||
Synopsis
|
||
Indicates the scan status. if the Scan was not completed, this event is generated with
|
||
the status A_ECANCELED.
|
||
|
||
Event ID
|
||
0x100A
|
||
|
||
Event Parameters
|
||
A_UINT8 scanStatus
|
||
|
||
Event Values
|
||
{
|
||
#define SCAN_ABORTED 16
|
||
#define SCAN_COMPLETED 0
|
||
A_UINT8 scanStatus
|
||
A_OK or A_ECANCELED
|
||
} WMI_SCAN_COMPLETE_EVENT;
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
TEST_EVENT
|
||
|
||
Synopsis
|
||
The TCMD application uses a single WMI event (WMI_TEST_EVENTID) to
|
||
communicate events from target to host. The events are parsed by the TCMD
|
||
application and WMI layer is oblivious of it.
|
||
|
||
Event ID
|
||
0x1016
|
||
|
||
Event Parameters
|
||
WMI_TEST_EVENTID
|
||
|
||
|
||
Event Values
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
|
||
|
||
Name
|
||
TKIP_MICERR
|
||
|
||
Synopsis
|
||
Indicates that TKIP MIC errors were detected.
|
||
|
||
Event ID
|
||
0x1009
|
||
|
||
Event Parameters
|
||
UINT8 keyid
|
||
Indicates the TKIP key ID
|
||
|
||
UINT8 ismcast
|
||
0 = Unicast
|
||
1 = Multicast
|
||
|
||
Event Values
|
||
See event parameters
|
||
|
||
=====================================================================
|
||
|
||
WMI Extension Commands
|
||
|
||
The WMI EXTENSION command is used to multiplex a collection of
|
||
commands that:
|
||
|
||
Are not generic wireless commands
|
||
May be implementation-specific
|
||
May be target platform-specific
|
||
May be optional for a host implementation
|
||
|
||
An extension command is sent to the AR6000 targets like any other WMI
|
||
command message and uses the WMI_EXTENSION. The first field of the
|
||
payload for this EXTENSION command is another commandId, sometimes
|
||
called the subcommandId, which indicates which extension command is
|
||
being used. A subcommandId-specific payload follows the subcommandId.
|
||
|
||
All extensions (subcommandIds) are listed in the header file include/wmix.h.
|
||
See also <20>WMI Extension Events<74> on page B-58.
|
||
|
||
|
||
WMI Extension Commands
|
||
|
||
|
||
GPIO_INPUT_GET
|
||
Read GPIO pins configured for input
|
||
|
||
GPIO_INTR_ACK
|
||
Acknowledge and re-arm GPIO interrupts reported earlier
|
||
|
||
GPIO_OUTPUT_SET
|
||
Manage output on GPIO pins configured for output
|
||
|
||
GPIO_REGISTER_GET
|
||
Read an arbitrary GPIO register
|
||
|
||
GPIO_REGISTER_SET
|
||
Dynamically change GPIO configuration
|
||
|
||
SET_LQTHRESHOLD
|
||
Set link quality thresholds; the sampling happens at every unicast
|
||
data frame Tx, if certain thresholds are met, and corresponding
|
||
events are sent to the host
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
GPIO_INPUT_GET
|
||
|
||
Synopsis
|
||
Allows the host to read GPIO pins that are configured for input. The values read are
|
||
returned through a <20>GPIO_DATA<54> extension event.
|
||
|
||
NOTE: Support for GPIO is optional.
|
||
|
||
Command
|
||
N/A
|
||
|
||
Command Parameters
|
||
None
|
||
|
||
|
||
|
||
Reply Parameters
|
||
None
|
||
|
||
|
||
Reset Value
|
||
None
|
||
|
||
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
GPIO_INTR_ACK
|
||
|
||
Synopsis
|
||
The host uses this command to acknowledge and to re-arm GPIO interrupts reported
|
||
through an earlier <20>GPIO_INTR<54> extension event. A single <20>GPIO_INTR_ACK<43>
|
||
command should be used to acknowledge all GPIO interrupts that the host knows to
|
||
be outstanding (if pending interrupts are not acknowledged through
|
||
<20>GPIO_INTR_ACK<43>, another <20>GPIO_INTR<54> extension event is raised).
|
||
|
||
NOTE: Support for GPIO is optional.
|
||
|
||
Command
|
||
N/A
|
||
|
||
Command Parameters
|
||
UINT32 ack_mask
|
||
A mask of interrupting GPIO pins (e.g., ack_mask
|
||
bit [3] acknowledges an interrupt from the pin GPIO3).
|
||
|
||
Command Values
|
||
None
|
||
|
||
Reset Value
|
||
None
|
||
|
||
Restrictions
|
||
The host should acknowledge only interrupts about which it was notified.
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
GPIO_OUTPUT_SET
|
||
|
||
Synopsis
|
||
Manages output on GPIO pins configured for output.
|
||
|
||
Conflicts between set_mask and clear_mask or enable_mask and disable_mask result
|
||
in undefined behavior.
|
||
|
||
NOTE: Support for GPIO is optional.
|
||
|
||
Command
|
||
N/A
|
||
|
||
Command Parameters
|
||
UINT32 set_mask
|
||
Specifies which pins should drive a 1 out
|
||
UINT32 clear_mask
|
||
Specifies which pins should drive a 0 out
|
||
UINT32 enable_mask
|
||
Specifies which pins should be enabled for output
|
||
UINT32 disable_mask
|
||
Specifies which pins should be disabled for output
|
||
|
||
Command Values
|
||
None
|
||
|
||
|
||
Reset Value
|
||
None
|
||
|
||
|
||
Restrictions
|
||
None
|
||
|
||
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
GPIO_REGISTER_GET
|
||
|
||
Synopsis
|
||
Allows the host to read an arbitrary GPIO register. It is intended for use during
|
||
bringup/debug. The target responds to this command with a <20>GPIO_DATA<54> event.
|
||
|
||
NOTE: Support for GPIO is optional.
|
||
|
||
Command
|
||
N/A
|
||
|
||
Command Parameters
|
||
UINT32
|
||
gpioreg_id
|
||
Specifies a GPIO register identifier, as defined
|
||
in include/AR6000/AR6000_gpio.h
|
||
|
||
Reply Parameters
|
||
None
|
||
|
||
Reset Value
|
||
N/A
|
||
|
||
Restrictions
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
GPIO_REGISTER_SET
|
||
|
||
Synopsis
|
||
Allows the host to dynamically change GPIO configuration (usually handled
|
||
statically through the GPIO configuration DataSet).
|
||
|
||
NOTE: Support for GPIO is optional.
|
||
|
||
Command
|
||
N/A
|
||
|
||
Command Parameters
|
||
UINT32 gpioreg_id
|
||
Specifies a GPIO register identifier, as defined in
|
||
include/AR6000/AR6000_gpio.h
|
||
UINT32 value
|
||
Specifies a value to write to the specified
|
||
GPIO register
|
||
|
||
Command Values
|
||
None
|
||
|
||
|
||
Reset Value
|
||
Initial hardware configuration is as defined in the AR6001 or AR6002 ROCmTM
|
||
Single-Chip MAC/BB/Radio for 2.4/5 GHz Embedded WLAN Applications data sheet. This
|
||
configuration is modified by the GPIO Configuration DataSet, if one exists.
|
||
|
||
Restrictions
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
SET_LQTHRESHOLD
|
||
|
||
Synopsis
|
||
Set link quality thresholds, the sampling happens at every unicast data frame Tx, if
|
||
certain threshold is met, corresponding event will be sent to host.
|
||
|
||
Command
|
||
wmiconfig eth1 --lqThreshold <enable> <upper_threshold_1>...
|
||
<upper_threshold_4> <lower_threshold_1>... <lower_threshold_4>
|
||
|
||
Command Parameters
|
||
A_UINT8 enable;
|
||
A_UINT8 thresholdAbove1_Val;
|
||
A_UINT8 thresholdAbove2_Val;
|
||
A_UINT8 thresholdAbove3_Val;
|
||
A_UINT8 thresholdAbove4_Val;
|
||
A_UINT8 thresholdBelow1_Val;
|
||
A_UINT8 thresholdBelow2_Val;
|
||
A_UINT8 thresholdBelow3_Val;
|
||
A_UINT8 thresholdBelow4_Val;
|
||
|
||
Command Values
|
||
enable
|
||
= 0
|
||
Disable link quality sampling
|
||
|
||
= 1
|
||
Enable link quality sampling
|
||
|
||
|
||
thresholdAbove_Val
|
||
[1...4]
|
||
Above thresholds (value in [0,100]), in ascending
|
||
order threshold
|
||
|
||
Below_Val [1...4] = below thresholds (value
|
||
in [0,100]), in ascending order
|
||
|
||
Reset Values
|
||
None
|
||
|
||
Restrictions
|
||
None
|
||
|
||
=====================================================================
|
||
WMI Extension Events
|
||
|
||
The WMI EXTENSION event is used for a collection of events that:
|
||
|
||
Are not generic wireless events
|
||
May be implementation-specific
|
||
May be target platform-specific
|
||
May be optional for a host implementation
|
||
|
||
An extension event is sent from the AR6000 device targets to the host just like
|
||
any other WMI event message, using the WMI_EXTENSION_EVENTID. The
|
||
first field of the payload for this <20>EXTENSION<4F> event is another commandId
|
||
(sometimes called the subcommandId) that indicates which <20>EXTENSION<4F>
|
||
event is being used. A subcommandId-specific payload follows the
|
||
subcommandId.
|
||
|
||
All extensions (subcommandIds) are listed in the header file include/wmix.h.
|
||
See also <20>WMI Extension Commands<64> on page B-55.
|
||
|
||
|
||
WMI Extension Events
|
||
|
||
|
||
GPIO_ACK
|
||
Acknowledges a host set command has been processed by the device
|
||
|
||
GPIO_DATA
|
||
Response to a host<73>s request for data
|
||
|
||
GPIO_INTR
|
||
Signals that GPIO interrupts are pending
|
||
|
||
|
||
=====================================================================
|
||
|
||
Name
|
||
GPIO_ACK
|
||
|
||
Synopsis
|
||
Acknowledges that a host set command (either <20>GPIO_OUTPUT_SET<45> or
|
||
<20>GPIO_REGISTER_SET<45>) has been processed by the AR6000 device.
|
||
|
||
NOTE: Support for GPIO is optional.
|
||
|
||
Event ID
|
||
N/A
|
||
|
||
Event Parameters
|
||
None
|
||
|
||
|
||
Event Values
|
||
None
|
||
|
||
=====================================================================
|
||
|
||
|
||
Name
|
||
GPIO_DATA
|
||
|
||
Synopsis
|
||
The AR6000 device uses this event to respond to the host<73>s earlier request for data
|
||
(through either a <20>GPIO_REGISTER_GET<45> or a <20>GPIO_INPUT_GET<45> command).
|
||
|
||
NOTE: Support for GPIO is optional.
|
||
|
||
Event ID
|
||
N/A
|
||
|
||
Event Parameters
|
||
UINT32 value
|
||
Holds the data of interest, which is either a register value
|
||
(in the case of <20>GPIO_REGISTER_GET<45>) or a mask of
|
||
pin inputs (in the case of <20>GPIO_INPUT_GET<45>).
|
||
UINT32 reg_id
|
||
Indicates which register was read (in the case of
|
||
<20>GPIO_REGISTER_GET<45>) or is GPIO_ID_NONE (in the
|
||
case of <20>GPIO_INPUT_GET<45>)
|
||
|
||
Event Values
|
||
None
|
||
|
||
|
||
=====================================================================
|
||
|
||
|
||
|
||
Name
|
||
GPIO_INTR
|
||
|
||
Synopsis
|
||
The AR6000 device raises this event to signal that GPIO interrupts are pending.
|
||
These GPIOs may be interrupts that occurred after the last <20>GPIO_INTR_ACK<43>
|
||
command was issued, or may be GPIO interrupts that the host failed to acknowledge
|
||
in the last <20>GPIO_INTR_ACK<43>. The AR6000 will not raise another GPIO_INTR
|
||
event until this event is acknowledged through a <20>GPIO_INTR_ACK<43> command.
|
||
|
||
NOTE: Support for GPIO is optional.
|
||
|
||
Event ID
|
||
N/A
|
||
|
||
Event Parameters
|
||
UINT32 intr_mask
|
||
Indicates which GPIO interrupts are currently pending
|
||
|
||
UINT32 input_values
|
||
A recent copy of the GPIO input values, taken at the
|
||
time the most recent GPIO interrupt was processed
|
||
|
||
Event Values
|
||
None
|
||
|
||
|
||
|
||
=====================================================================
|
||
#endif
|