diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2009-05-18 17:55:41 +0000 |
---|---|---|
committer | Lars-Peter Clausen <lars@metafoo.de> | 2009-05-18 17:55:41 +0000 |
commit | f5affd4f36d839d706b02f1ffb69e0cf70c4140c (patch) | |
tree | 105a7093a2f5989136da5fe7128d6d95a3b9cad4 /target/linux/s3c24xx/files-2.6.30/drivers/ar6000/wmi/wmi_doc.h | |
parent | 267af10b33745d098198ad9c1d2b5ab69efb128f (diff) | |
download | upstream-f5affd4f36d839d706b02f1ffb69e0cf70c4140c.tar.gz upstream-f5affd4f36d839d706b02f1ffb69e0cf70c4140c.tar.bz2 upstream-f5affd4f36d839d706b02f1ffb69e0cf70c4140c.zip |
bump to 2.6.30-rc6
SVN-Revision: 15918
Diffstat (limited to 'target/linux/s3c24xx/files-2.6.30/drivers/ar6000/wmi/wmi_doc.h')
-rw-r--r-- | target/linux/s3c24xx/files-2.6.30/drivers/ar6000/wmi/wmi_doc.h | 4421 |
1 files changed, 4421 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/files-2.6.30/drivers/ar6000/wmi/wmi_doc.h b/target/linux/s3c24xx/files-2.6.30/drivers/ar6000/wmi/wmi_doc.h new file mode 100644 index 0000000000..19cd9386ca --- /dev/null +++ b/target/linux/s3c24xx/files-2.6.30/drivers/ar6000/wmi/wmi_doc.h @@ -0,0 +1,4421 @@ +/* + * + * 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 “READY” 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 “DISCONNECT” + 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 “CONNECT” 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 “CONNECT” 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 “SYNCHRONIZE” 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 “SYNCHRONIZE” 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 “SYNCHRONIZE” + 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 “SYNCHRONIZE” 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 “BSSINFO” 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 “ERROR_REPORT” 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 + “DELETE_BAD_AP” 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 “CONNECT” 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 “CONNECT” + command. + +See Also + “DELETE_CIPHER_KEY” + +===================================================================== + + +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 –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 + “DELETE_WOW_PATTERN” + +===================================================================== + + +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 – 0x7FFFFFFF (ms), where 0 = disabled. The device does not send a + reply event for this command, as it is always assumed the command has succeeded. + An AP admission control response comes to the host via a WMI_CAC_INDICATION + event, once the response for the ADDTS frame comes. + + Examples of cases where reassociation is generated (when WMM) and cases where + ADDTS is generated (when WMM and enabling ACM) are when: + Changing UAPSD flags in WMM mode, reassociation is generated + Changing the interval of sending auto QoS Null frame in WMM mode; + reassociation is not generated + Issuing a command with same previous parameters in WMM mode and enabling + ACM, an ADDTS request is generated + Changing the interval of a QoS null frame sending in WMM mode and enabling + ACM, an ADDTS request is generated + Issuing the command in disconnected state, reassociation or ADDTS is not + generated but the parameters are available after (re)association + +Command + --createqos <user priority> <direction> <traffic class> +<trafficType> <voice PS capability> <min service interval> <max +service interval> <inactivity interval> <suspension interval> +<service start time> <tsid> <nominal MSDU> <max MSDU> <min data +rate> <mean data rate> <peak data rate> <max burst size> <delay +bound> <min phy rate> <sba> <medium time> where: + + <user priority> + 802.1D user priority range (0–7) + <direction> + = 0 Tx (uplink) traffic + = 1 Rx (downlink) traffic + = 2 Bi-directional traffic + <traffic class> + = 1 BK + = 2 VI + = 3 VO + <trafficType> + = 0 Aperiodic + = 1 Periodic + <voice PS capability> + Specifies whether the voice power save mechanism + (APSD if AP supports it or legacy/simulated APSD + [using PS-Poll]) should be used + = 0 Disable voice power save for traffic class + = 1 Enable APSD voice power save for traffic class + = 2 Enable voice power save for all traffic classes + <min service interval> + (In ms) + <max service interval> + Inactivity interval (in ms) (0 = Infinite) + <suspension interval> + (In ms) + <service start time> + Service start time + <tsid> + TSID range (0–15) + <nominal MSDU> + Nominal MAC SDU size + <max MSDU> + Maximum MAC SDU size + <min data rate> + Minimum data rate (in bps) + <mean data rate> + Mean data rate (in bps) + <peak data rate> + Peak data rate (in bps) + <max burst size> + Maximum burst size (in bps) + <delay bound> + Delay bound + <min phy rate> + Minimum PHY rate (in bps) + <sba> + Surplus bandwidth allowance + <medium time> + Medium time in TU of 32-ms periods per sec + ... CREATE_PSTREAM (continued) + +Command Parameters + UINT8 trafficClass TRAFFIC_CLASS value + UINT8 traffic + Direction + DIR_TYPE value + UINT8 rxQueueNum + AR6000 device mailbox index (2 or 3) + corresponding to the endpoint the host + wishes to use to receive packets for the + prioritized stream + UINT8 trafficType TRAFFIC_TYPE value + UINT8 voicePS +Capability + VOICEPS_CAP_TYPE value + UINT8 tsid Traffic stream ID + UINT8 userPriority 802.1D user priority + UINT16 nominalMSDU Nominal MSDU in octets + UINT16 maxMSDU Maximum MSDU in octets + UINT32 minServiceInt Minimum service interval: the min. + period of traffic specified (in ms) + UINT32 maxServiceInt Maximum service interval: the max. + period of traffic specified (in ms) + UINT32 inactivityInt Indicates how many ms an established + stream is inactive before the prioritized + data endpoint is taken down and the + corresponding T-SPEC deleted + UINT32 suspensionInt Suspension interval (in ms) + UINT32 service StartTime Service start time + UINT32 minDataRate Minimum data rate (in bps) + UINT32 meanDataRate Mean data rate (in bps) + UINT32 peakDataRate Peak data rate (in bps) + UINT32 maxBurstSize + UINT32 delayBound + UINT32 minPhyRate Minimum PHY rate for TSPEC (in bps) + UINT32 sba Surplus bandwidth allowance + UINT32 mediumTime Medium TSPEC time (in units of 32 ms) +Command Values + { + WMM_AC_BE = 0 Best Effort + WMM_AC_BK = 1 Background + WMM_AC_VI = 2 Video + WMM_AC_VO = 3 Voice + All other values reserved + } TRAFFIC_CLASS + { + UPLINK_TRAFFIC = 0 From the AR6000 device to the AP + DOWNLINK_TRAFFIC = 1 From the AP to the AR6000 device + BIDIR_TRAFFIC = 2 Bi-directional traffic + All other values reserved + } DIR_TYPE + { + DISABLE_FOR_THIS_AC = 0 + ENABLE_FOR_THIS_AC = 1 + ENABLE_FOR_ALL_AC = 2 + All other values reserved + } VOICEPS_CAP_TYPE + + ... CREATE_PSTREAM (continued) + + + VI BE BK Supported, Y/N? + 0 0 0 0 Y + 0 0 0 1 Y + 0 0 1 0 N + 0 0 1 1 N + 0 1 0 0 Y + 0 1 0 1 Y + 0 1 1 0 N + 0 1 1 1 N + 1 0 0 0 Y + 1 0 0 1 Y + 1 0 1 0 N + 1 1 0 0 N + 1 1 0 1 Y + 1 1 0 0 N + 1 1 1 0 N + 1 1 1 1 Y + +Reset Value + No pstream is present after reset; each of the BE, BK, VI,VO pstreams must be created + (either implicitly by data flow or explicitly by user) + +Restrictions + This command can only be issued when the device is in the CONNECTED state. If + the device receives the command while in DISCONNECTED state, it replies with a + failure indication. At most four prioritized data endpoints can be created, one for + each AC. + +See Also + “DELETE_PSTREAM” +===================================================================== + +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 + “ADD_BAD_AP” + +===================================================================== + + +Name + DELETE_CIPHER_KEY + +Synopsis + The host uses this command to delete a key that was previously added with the + “ADD_CIPHER_KEY” 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 + “ADD_CIPHER_KEY” + +===================================================================== + +Name + DELETE_PSTREAM + +Synopsis + The host uses this command to delete a prioritized data endpoint created by a + previous “CREATE_PSTREAM” 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 “CREATE_PSTREAM” command has + successfully created a prioritized stream + +See Also + “CREATE_PSTREAM” + +===================================================================== + + +Name + DELETE_WOW_PATTERN + +Synopsis + The host uses this command to remove a pre-specified pattern from the + WoW pattern list. + +Command + wmiconfig –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 + “ADD_WOW_PATTERN” + +===================================================================== + + +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 “SET_BIT_RATE” 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 + “SET_BIT_RATE” + +===================================================================== + + +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 “SET_FIXRATES”. + +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 + “SET_FIXRATES” + +===================================================================== + + + +Name + GET_PMKID_LIST_CMD + +Synopsis + Retrieves the list of PMKIDs on the firmware. The + WMI_GET_PMKID_LIST_EVENT is generated by the firmware. + +Command + TBD + +Command Parameters + +Reset Values + None + +Restrictions + None + +See Also + SET_PMKID_LIST_CMD GET_PMKID_LIST_EVENT + +===================================================================== + + +Name + GET_ROAM_TBL + +Synopsis + Retrieve the roaming table maintained on the target. The response is reported + asynchronously through the ROAM_TBL_EVENT. + +Command + wmiconfig --getroamtable <roamctrl> <info> + +Command Parameters + A_UINT8 roamCtrlType; + A_UINT16 roamMode + A_UINT16 numEntries + WMI_BSS_ROAM_INFO bssRoamInfo[1] + +Reply Value + Reported asynchronously through the ROAM_TBL_EVENT + +Reset Value + None defined + +Restrictions + None + +See Also + SET_KEEPALIVE + +===================================================================== + + +Name + GET_TARGET_STATS + +Synopsis + The host uses this command to request that the target send the statistics that it + maintains. The statistics obtained from the target are accrued in the host every time + the GET_TARGET_STATS command is issued. The --clearStats option is added to + clear the target statistics maintained in the host. + +Command + wmiconfig --getTargetStats --clearStats + +Command Parameters + TARGET_STATS targetStats + WMI_TARGET_STATS + UINT8 clearStats + + +Reply Value + RSSI return value (0–100) + +Reset Values + All statistics are cleared (zeroed) + +Restrictions + The --getTargetStats option must be used; the --clearStats option is also available also + + +===================================================================== + +Name + GET_TX_PWR + +Synopsis + The host uses this command to retrieve the current Tx power level + +Command + wmiconfig -i eth1 --getpower + +Command Parameters + None + +Reply Parameters + UINT16 dbM The current Tx power level specified in dbM + +Reset Values + The maximum permitted by the regulatory domain + +Restrictions + None + +See Also + “SET_TX_PWR” + +===================================================================== + + +Name + GET_WOW_LIST + +Synopsis + The host uses this command to retrieve the current list of WoW patterns. + +Command + wmiconfig –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 + “SET_WSC_STATUS” + +===================================================================== + + +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 + “CONNECT_CMD” + +===================================================================== + + +Name + RSSI_THRESHOLD_PARAMS + +Synopsis + Configures how the AR6000 device monitors and reports signal strength (RSSI) of the + connected BSS, which is used as a link quality metric. The four RSSI threshold sets (in + dbM) of the host specification divide the signal strength range into six segments. + When signal strength increases or decreases across one of the boundaries, an + RSSI_THRESHOLD event is signaled to the host. The host may then choose to take + action (such as influencing roaming). + +Command + wmiconfig eth1 --rssiThreshold <weight> <pollTime> + <above_threshold_val_1> ... <above_threshold_tag_6> + <above_threshold_val_6> + <below_threshold_tag_1> <below_threshold_val_1> ... + <below_threshold_tag_6> <below_threshold_val_6> + +Command Parameters + UINT8 weight Range in [1, 16] used to calculate average RSSI + UINT32 pollTime RSSI (signal strength) sampling frequency in + seconds (if pollTime = 0, single strength + sampling is disabled) + USER_RSS__THOLD tholds[12] Thresholds (6 x 2) + +Command Values + None defined + +Reset Values + pollTime is 0, and sampling is disabled + +Restrictions + Can only be issued if the AR6000 device is connected + + +===================================================================== + +Name + SCAN_PARAMS + +Synopsis + The minact parameter determines the minimum active channel dwell time, within + which if the STA receives any beacon, it remains on that channel until the maxact + channel dwell time. If the STA does not receive a beacon within the minact dwell + time, it switches to scan the next channel. + +Command + wmiconfig -scan -minact=<ms> --maxact=<ms> + +Command Parameters + UINT16 maxact Channel dwell time (in ms), default = 0 + UINT16 minact Channel dwell time (in ms), default = 105 + +Command Values + See channel parameters + +Reset Values + None defined + +Restrictions + The minact value should be greater than 0; maxact should be between 5–65535 ms + and greater than minact + +===================================================================== + + +Name + SET_ACCESS_PARAMS + +Synopsis + Allows the host to set access parameters for the wireless network. A thorough + understanding of IEEE 802.11 is required to properly manipulate these parameters. + +Command + wmiconfig eth1 --acparams --txop <limit> --cwmin <0-15> + --cwmax <0-15> --aifsn<0-15> + +Command Parameters + UINT16 txop The maximum time (expressed in units of + 32 ms) the device can spend transmitting + after acquiring the right to transmit + UINT8 eCWmin Minimum contention window + UINT8 eCWmax Maximum contention window + UINT8 aifsn The arbitration inter-frame space number + +Command Values + None + +Reset Values + Reasonable defaults that vary, between endpoints (prioritized streams) + +Restrictions + None + +===================================================================== + + +Name + SET_ADHOC_BSSID + +Synopsis + Allows the host to set the BSSID for an ad hoc network. If a network with this BSSID + is not found, the target creates an ad hoc network with this BSSID after the connect + WMI command is triggered (e.g., by the SIOCSIWESSID IOCTL). + +Command + wmiconfig eth1 --adhocbssid <bssid> + +Command Parameters + A_UINT8 bssid[ATH_MAC_LEN] BSSID is specified in xx:xx:xx:xx:xx:xx format + +Command Values + None + +Reset Values + None + +Restrictions + None + +===================================================================== + + +Name + SET_AKMP_PARAMS + +Synopsis + Enables or disables multi PMKID mode. + +Command + wmiconfig eth1 --setakmp --multipmkid=<on/off> + +Command Parameters + typedef struct { + A_UINT32 akmpInfo; + } WMI_SET_AKMP_PARAMS_CMD; + +Command Values + akmpInfo; + bit[0] = 0 + MultiPMKID mode is disabled and PMKIDs that + were set using the WMI_SET_PMKID_CMD are + used in the [Re]AssocRequest frame. + bit[0] = 1 + MultiPMKID mode is enabled and PMKIDs issued + by the WMI_SET_PMKID_LIST_CMD are used in + the next [Re]AssocRequest sent to the AP. + +Reset Values + MultiPMKID mode is disabled + +Restrictions + None + +===================================================================== + + +Name + SET_APPIE + +Synopsis + Add an application-specified IE to a management frame. The maximum length is + 76 bytes. Including the length and the element ID, this translates to 78 bytes. + +Command + wmiconfig --setappie <frame> <IE>, where: + + frame + One of beacon, probe, respon, assoc + + IE + A hex string beginning with DD (if = 0, no + IE is sent in the management frame) + +Command Parameters + mgmtFrmType; + A WMI_MGMT_FRAME_TYPE + + ieLen; + Length of the IE to add to the GMT frame + +Command Values + None + +Reset Value + None defined + +Restrictions + Supported only for the probe request and association request management frame +types. Also, only one IE can be added per management frame type. + +===================================================================== + + +Name + SET_ASSOC_INFO + +Synopsis + The host uses this command to specify any information elements (IEs) it wishes the + AR6000 device to add to all future association and reassociation requests. IEs must be + correct and are used as is by the device. IEs specified through this command are + cleared with a DISCONNECT. + +Command + wmiconfig eth1 --setAssocIe <IE> + +Command Parameters + UINT8 ieType Used directly in 802.11 frames + UINT8 bufferSize Size of assocInfo (in bytes) ranging from + 0–240. If = 0, previously set IEs are cleared. + UINT8 assocInfo[bufferSize] Used directly in 802.11 frames + +Command Values + None + +Reset Values + IEs are cleared + +Restrictions + This command can only be issued in the DISCONNECTED state + +===================================================================== + + +Name + SET_AUTHMODE + +Synopsis + Sets the 802.11 authentication mode of reconnection + +Command + wmiconfig eth1 --setauthmode <mode> + +Command Parameters + UINT8 mode + +Command Values + mode = 0x00 Proceed with authentication during reconnect + = 0x01 Do not proceed with authentication during reconnect + +Reset Values + Authentication + +Restrictions + None + +===================================================================== + + +Name + SET_BEACON_INT + +Synopsis + Sets the beacon interval for an ad hoc network. Beacon interval selection may have an + impact on power savings. To some degree, a longer interval reduces power + consumption but also decreases throughput. A thorough understanding of IEEE + 802.11 ad hoc networks is required to use this command effectively. + +Command + wmiconfig eth1 --ibssconintv + +Command Parameters + UINT16 beaconInterval Specifies the beacon interval in TU units (1024 ms) + +Command Values + None + +Reset Values + The default beacon interval is 100 TUs (102.4 ms) + +Restrictions + This command can only be issued before the AR6000 device starts an ad hoc network + +See Also + “SET_IBSS_PM_CAPS” + +===================================================================== + + +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 + “GET_BIT_RATE” + +===================================================================== + + +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 “BSSINFO” event. As the device performs + either foreground or background scans, it applies the filter and sends “BSSINFO” + 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 “Scan and Roam” 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 –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 + “CONNECT_CMD” + +===================================================================== + + +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 –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 –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 “DISCONNECT” event. After + sending the “DISCONNECT” 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 “SET_SCAN_PARAMS” 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 “DISCONNECT” + 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 “DISCONNECT” 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 + “GET_FIXRATES” + +===================================================================== + + +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 –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 “SET_BEACON_INT” 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 + “SET_BEACON_INT” + +===================================================================== + + + +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 “CONNECT” 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 + “CONNECT_CMD” 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 + “CREATE_PSTREAM”). 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 “Scan and Roam” 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 “CONNECT_CMD” 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 + “START_SCAN” command. See also “Scan and Roam” on page C-1. + +Command + wmiconfig eth1 --scan --fgstart=<sec> --fgend=<sec> --bg=<sec> -- + act=<msec> --pas=<msec> --sr=<short scan ratio> --scanctrlflags + <connScan> <scanConnected> <activeScan> <reportBSSINFO> + +Command Parameters + UINT16 fgStartPeriod + First interval used by the device when it + disconnects from an AP or receives a + CONNECT command, specified in seconds (0– + 65535). If = 0, the device uses the reset value. + If = 65535, the device disables foreground + scanning. + + UINT16 fgEndPeriod + The maximum interval the device waits between + foreground scans specified in seconds (from + ForegroundScanStartPeriod to 65535). If = 0, the + device uses the reset value. + + UINT16 bgScanPeriod + The period of background scan specified in + seconds (0–65535). By default, it is set to the reset + value of 60 seconds. If 0 or 65535 is specified, the + device disables background scanning. + + UINT16 maxactChDwellTime + The period of time the device stays on a + particular channel while active scanning. It is + specified in ms (10–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–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 – 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 + “GET_TX_PWR” + + +===================================================================== + +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 –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 + “GET_WOW_LIST” + + +===================================================================== + +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 + “Scan and Roam” + +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 “ERROR_REPORT” 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 “ERROR_REPORT” event is + sent when an error occurs and the error report bit is cleared. + + Error counts for each error type are available through the “GET_TARGET_STATS” + 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 + “TARGET_ERROR_REPORT_BITMASK” + +EXTENSION + WMI extension event + +GET_PMKID_LIST_EVENT + Created in response to a “GET_PMKID_LIST_CMD” command + +GET_WOW_LIST_EVENT + Response to the wmiconfig “GET_WOW_LIST” 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) + — + +REPORT_STATISTICS + Reply to a “GET_TARGET_STATS” command + +ROAM_TBL_EVENT + Reports the roam table + +RSSI_THRESHOLD + Signal strength from the connected AP has crossed the threshold + defined in the “RSSI_THRESHOLD_PARAMS” 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 “SET_BSS_FILTER” 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 + “CONNECT” 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 “CONNECT” + command or as a result of a transition from a connected state to disconnected state. + + After sending the “DISCONNECT” 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 “DISCONNECT” 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’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 “TARGET_ERROR_REPORT_BITMASK” command. + +Event ID + 0x100D + +Event Parameters + UINT32 errorVal + WMI_TARGET_ERROR_VAL value. See + “TARGET_ERROR_REPORT_BITMASK”. + +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 “WMI Extension Commands” + + +Event ID + 0x1010 + + +===================================================================== + + +Name + GET_PMKID_LIST_EVENT + +Synopsis + Generated by firmware in response to a “GET_PMKID_LIST_CMD” 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 –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 “CREATE_PSTREAM” 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’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 + “SET_CHANNEL_PARAMETERS” command are lifted. + +Event ID + 0x1006 + +Event Parameters + UINT32 regDomain + The range of 0x0000 – 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 “GET_TARGET_STATS” 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 “RSSI_THRESHOLD_PARAMS” + 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 “WMI Extension Events” 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 “GPIO_DATA” 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 “GPIO_INTR” extension event. A single “GPIO_INTR_ACK” + command should be used to acknowledge all GPIO interrupts that the host knows to + be outstanding (if pending interrupts are not acknowledged through + “GPIO_INTR_ACK”, another “GPIO_INTR” 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 “GPIO_DATA” 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 “EXTENSION” event is another commandId +(sometimes called the subcommandId) that indicates which “EXTENSION” +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 “WMI Extension Commands” 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’s request for data + +GPIO_INTR + Signals that GPIO interrupts are pending + + +===================================================================== + +Name + GPIO_ACK + +Synopsis + Acknowledges that a host set command (either “GPIO_OUTPUT_SET” or + “GPIO_REGISTER_SET”) 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’s earlier request for data + (through either a “GPIO_REGISTER_GET” or a “GPIO_INPUT_GET” 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 “GPIO_REGISTER_GET”) or a mask of + pin inputs (in the case of “GPIO_INPUT_GET”). + UINT32 reg_id + Indicates which register was read (in the case of + “GPIO_REGISTER_GET”) or is GPIO_ID_NONE (in the + case of “GPIO_INPUT_GET”) + +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 “GPIO_INTR_ACK” + command was issued, or may be GPIO interrupts that the host failed to acknowledge + in the last “GPIO_INTR_ACK”. The AR6000 will not raise another GPIO_INTR + event until this event is acknowledged through a “GPIO_INTR_ACK” 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 |