mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-12 04:10:17 +02:00
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 <EFBFBD>READY<EFBFBD> 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 <EFBFBD>DISCONNECT<EFBFBD>
|
|||
|
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 <EFBFBD>CONNECT<EFBFBD> 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 <EFBFBD>CONNECT<EFBFBD> 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 <EFBFBD>SYNCHRONIZE<EFBFBD> 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 <EFBFBD>SYNCHRONIZE<EFBFBD> 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 <EFBFBD>SYNCHRONIZE<EFBFBD>
|
|||
|
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 <EFBFBD>SYNCHRONIZE<EFBFBD> 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 <EFBFBD>BSSINFO<EFBFBD> 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 <EFBFBD>ERROR_REPORT<EFBFBD> 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
|
|||
|
<EFBFBD>DELETE_BAD_AP<EFBFBD> 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 <EFBFBD>CONNECT<EFBFBD> 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 <EFBFBD>CONNECT<EFBFBD>
|
|||
|
command.
|
|||
|
|
|||
|
See Also
|
|||
|
<EFBFBD>DELETE_CIPHER_KEY<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
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 <EFBFBD>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
|
|||
|
<EFBFBD>DELETE_WOW_PATTERN<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
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 <EFBFBD> 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<EFBFBD>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<EFBFBD>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
|
|||
|
<EFBFBD>DELETE_PSTREAM<EFBFBD>
|
|||
|
=====================================================================
|
|||
|
|
|||
|
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
|
|||
|
<EFBFBD>ADD_BAD_AP<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
Name
|
|||
|
DELETE_CIPHER_KEY
|
|||
|
|
|||
|
Synopsis
|
|||
|
The host uses this command to delete a key that was previously added with the
|
|||
|
<EFBFBD>ADD_CIPHER_KEY<EFBFBD> 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
|
|||
|
<EFBFBD>ADD_CIPHER_KEY<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
Name
|
|||
|
DELETE_PSTREAM
|
|||
|
|
|||
|
Synopsis
|
|||
|
The host uses this command to delete a prioritized data endpoint created by a
|
|||
|
previous <EFBFBD>CREATE_PSTREAM<EFBFBD> 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 <EFBFBD>CREATE_PSTREAM<EFBFBD> command has
|
|||
|
successfully created a prioritized stream
|
|||
|
|
|||
|
See Also
|
|||
|
<EFBFBD>CREATE_PSTREAM<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
Name
|
|||
|
DELETE_WOW_PATTERN
|
|||
|
|
|||
|
Synopsis
|
|||
|
The host uses this command to remove a pre-specified pattern from the
|
|||
|
WoW pattern list.
|
|||
|
|
|||
|
Command
|
|||
|
wmiconfig <EFBFBD>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
|
|||
|
<EFBFBD>ADD_WOW_PATTERN<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
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 <EFBFBD>SET_BIT_RATE<EFBFBD> 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
|
|||
|
<EFBFBD>SET_BIT_RATE<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
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 <EFBFBD>SET_FIXRATES<EFBFBD>.
|
|||
|
|
|||
|
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
|
|||
|
<EFBFBD>SET_FIXRATES<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
|
|||
|
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<EFBFBD>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
|
|||
|
<EFBFBD>SET_TX_PWR<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
Name
|
|||
|
GET_WOW_LIST
|
|||
|
|
|||
|
Synopsis
|
|||
|
The host uses this command to retrieve the current list of WoW patterns.
|
|||
|
|
|||
|
Command
|
|||
|
wmiconfig <EFBFBD>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
|
|||
|
<EFBFBD>SET_WSC_STATUS<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
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
|
|||
|
<EFBFBD>CONNECT_CMD<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
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<EFBFBD>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<EFBFBD>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
|
|||
|
<EFBFBD>SET_IBSS_PM_CAPS<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
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
|
|||
|
<EFBFBD>GET_BIT_RATE<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
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 <EFBFBD>BSSINFO<EFBFBD> event. As the device performs
|
|||
|
either foreground or background scans, it applies the filter and sends <EFBFBD>BSSINFO<EFBFBD>
|
|||
|
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 <EFBFBD>Scan and Roam<EFBFBD> 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 <EFBFBD>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
|
|||
|
<EFBFBD>CONNECT_CMD<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
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 <EFBFBD>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 <EFBFBD>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 <EFBFBD>DISCONNECT<EFBFBD> event. After
|
|||
|
sending the <EFBFBD>DISCONNECT<EFBFBD> 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 <EFBFBD>SET_SCAN_PARAMS<EFBFBD> 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 <EFBFBD>DISCONNECT<EFBFBD>
|
|||
|
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 <EFBFBD>DISCONNECT<EFBFBD> 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
|
|||
|
<EFBFBD>GET_FIXRATES<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
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 <EFBFBD>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 <EFBFBD>SET_BEACON_INT<EFBFBD> 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
|
|||
|
<EFBFBD>SET_BEACON_INT<EFBFBD>
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
|
|||
|
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 <EFBFBD>CONNECT<EFBFBD> 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
|
|||
|
<EFBFBD>CONNECT_CMD<EFBFBD> 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
|
|||
|
<EFBFBD>CREATE_PSTREAM<EFBFBD>). 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 <EFBFBD>Scan and Roam<EFBFBD> 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 <EFBFBD>CONNECT_CMD<EFBFBD> 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
|
|||
|
<EFBFBD>START_SCAN<EFBFBD> command. See also <EFBFBD>Scan and Roam<EFBFBD> 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<EFBFBD>
|
|||
|
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<EFBFBD>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<EFBFBD>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<EFBFBD>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 <EFBFBD> 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
|
|||
|
<EFBFBD>GET_TX_PWR<EFBFBD>
|
|||
|
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
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 <EFBFBD>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
|
|||
|
<EFBFBD>GET_WOW_LIST<EFBFBD>
|
|||
|
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
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
|
|||
|
<EFBFBD>Scan and Roam<EFBFBD>
|
|||
|
|
|||
|
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 <EFBFBD>ERROR_REPORT<EFBFBD> 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 <EFBFBD>ERROR_REPORT<EFBFBD> event is
|
|||
|
sent when an error occurs and the error report bit is cleared.
|
|||
|
|
|||
|
Error counts for each error type are available through the <EFBFBD>GET_TARGET_STATS<EFBFBD>
|
|||
|
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
|
|||
|
<EFBFBD>TARGET_ERROR_REPORT_BITMASK<EFBFBD>
|
|||
|
|
|||
|
EXTENSION
|
|||
|
WMI extension event
|
|||
|
|
|||
|
GET_PMKID_LIST_EVENT
|
|||
|
Created in response to a <EFBFBD>GET_PMKID_LIST_CMD<EFBFBD> command
|
|||
|
|
|||
|
GET_WOW_LIST_EVENT
|
|||
|
Response to the wmiconfig <EFBFBD>GET_WOW_LIST<EFBFBD> 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)
|
|||
|
<EFBFBD>
|
|||
|
|
|||
|
REPORT_STATISTICS
|
|||
|
Reply to a <EFBFBD>GET_TARGET_STATS<EFBFBD> command
|
|||
|
|
|||
|
ROAM_TBL_EVENT
|
|||
|
Reports the roam table
|
|||
|
|
|||
|
RSSI_THRESHOLD
|
|||
|
Signal strength from the connected AP has crossed the threshold
|
|||
|
defined in the <EFBFBD>RSSI_THRESHOLD_PARAMS<EFBFBD> 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 <EFBFBD>SET_BSS_FILTER<EFBFBD> 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
|
|||
|
<EFBFBD>CONNECT<EFBFBD> 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 <EFBFBD>CONNECT<EFBFBD>
|
|||
|
command or as a result of a transition from a connected state to disconnected state.
|
|||
|
|
|||
|
After sending the <EFBFBD>DISCONNECT<EFBFBD> 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 <EFBFBD>DISCONNECT<EFBFBD> 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<EFBFBD>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 <EFBFBD>TARGET_ERROR_REPORT_BITMASK<EFBFBD> command.
|
|||
|
|
|||
|
Event ID
|
|||
|
0x100D
|
|||
|
|
|||
|
Event Parameters
|
|||
|
UINT32 errorVal
|
|||
|
WMI_TARGET_ERROR_VAL value. See
|
|||
|
<EFBFBD>TARGET_ERROR_REPORT_BITMASK<EFBFBD>.
|
|||
|
|
|||
|
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 <EFBFBD>WMI Extension Commands<EFBFBD>
|
|||
|
|
|||
|
|
|||
|
Event ID
|
|||
|
0x1010
|
|||
|
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
|
|||
|
Name
|
|||
|
GET_PMKID_LIST_EVENT
|
|||
|
|
|||
|
Synopsis
|
|||
|
Generated by firmware in response to a <EFBFBD>GET_PMKID_LIST_CMD<EFBFBD> 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 <EFBFBD>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 <EFBFBD>CREATE_PSTREAM<EFBFBD> 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<EFBFBD>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
|
|||
|
<EFBFBD>SET_CHANNEL_PARAMETERS<EFBFBD> command are lifted.
|
|||
|
|
|||
|
Event ID
|
|||
|
0x1006
|
|||
|
|
|||
|
Event Parameters
|
|||
|
UINT32 regDomain
|
|||
|
The range of 0x0000 <EFBFBD> 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 <EFBFBD>GET_TARGET_STATS<EFBFBD> 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 <EFBFBD>RSSI_THRESHOLD_PARAMS<EFBFBD>
|
|||
|
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 <EFBFBD>WMI Extension Events<EFBFBD> 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 <EFBFBD>GPIO_DATA<EFBFBD> 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 <EFBFBD>GPIO_INTR<EFBFBD> extension event. A single <EFBFBD>GPIO_INTR_ACK<EFBFBD>
|
|||
|
command should be used to acknowledge all GPIO interrupts that the host knows to
|
|||
|
be outstanding (if pending interrupts are not acknowledged through
|
|||
|
<EFBFBD>GPIO_INTR_ACK<EFBFBD>, another <EFBFBD>GPIO_INTR<EFBFBD> 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 <EFBFBD>GPIO_DATA<EFBFBD> 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 <EFBFBD>EXTENSION<EFBFBD> event is another commandId
|
|||
|
(sometimes called the subcommandId) that indicates which <EFBFBD>EXTENSION<EFBFBD>
|
|||
|
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 <EFBFBD>WMI Extension Commands<EFBFBD> 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<EFBFBD>s request for data
|
|||
|
|
|||
|
GPIO_INTR
|
|||
|
Signals that GPIO interrupts are pending
|
|||
|
|
|||
|
|
|||
|
=====================================================================
|
|||
|
|
|||
|
Name
|
|||
|
GPIO_ACK
|
|||
|
|
|||
|
Synopsis
|
|||
|
Acknowledges that a host set command (either <EFBFBD>GPIO_OUTPUT_SET<EFBFBD> or
|
|||
|
<EFBFBD>GPIO_REGISTER_SET<EFBFBD>) 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<EFBFBD>s earlier request for data
|
|||
|
(through either a <EFBFBD>GPIO_REGISTER_GET<EFBFBD> or a <EFBFBD>GPIO_INPUT_GET<EFBFBD> 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 <EFBFBD>GPIO_REGISTER_GET<EFBFBD>) or a mask of
|
|||
|
pin inputs (in the case of <EFBFBD>GPIO_INPUT_GET<EFBFBD>).
|
|||
|
UINT32 reg_id
|
|||
|
Indicates which register was read (in the case of
|
|||
|
<EFBFBD>GPIO_REGISTER_GET<EFBFBD>) or is GPIO_ID_NONE (in the
|
|||
|
case of <EFBFBD>GPIO_INPUT_GET<EFBFBD>)
|
|||
|
|
|||
|
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 <EFBFBD>GPIO_INTR_ACK<EFBFBD>
|
|||
|
command was issued, or may be GPIO interrupts that the host failed to acknowledge
|
|||
|
in the last <EFBFBD>GPIO_INTR_ACK<EFBFBD>. The AR6000 will not raise another GPIO_INTR
|
|||
|
event until this event is acknowledged through a <EFBFBD>GPIO_INTR_ACK<EFBFBD> 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
|