bump to 2.6.30-rc6
[openwrt/openwrt.git] / target / linux / s3c24xx / files-2.6.30 / drivers / ar6000 / wmi / wmi_doc.h
1 /*
2 *
3 * Copyright (c) 2004-2007 Atheros Communications Inc.
4 * All rights reserved.
5 *
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation;
10 *
11 * Software distributed under the License is distributed on an "AS
12 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
13 * implied. See the License for the specific language governing
14 * rights and limitations under the License.
15 *
16 *
17 *
18 */
19
20
21 #if 0
22 Wireless Module Interface (WMI) Documentaion
23
24 This section describes the format and the usage model for WMI control and
25 data messages between the host and the AR6000-based targets. The header
26 file include/wmi.h contains all command and event manifest constants as
27 well as structure typedefs for each set of command and reply parameters.
28
29 Data Frames
30
31 The data payload transmitted and received by the target follows RFC-1042
32 encapsulation and thus starts with an 802.2-style LLC-SNAP header. The
33 WLAN module completes 802.11 encapsulation of the payload, including the
34 MAC header, FCS, and WLAN security related fields. At the interface to the
35 message transport (HTC), a data frame is encapsulated in a WMI message.
36
37 WMI Message Structure
38
39 The WMI protocol leverages an 802.3-style Ethernet header in communicating
40 the source and destination information between the host and the AR6000
41 modules using a 14-byte 802.3 header ahead of the 802.2-style payload. In
42 addition, the WMI protocol adds a header to all data messages:
43
44 {
45 INT8 rssi
46 The RSSI of the received packet and its units are shown in db above the
47 noise floor, and the noise floor is shown in dbm.
48 UINT8 info
49 Contains information on message type and user priority. Message type
50 differentiates between a data packet and a synchronization message.
51 } WMI_DATA_HDR
52
53 User priority contains the 802.1d user priority info from host to target. Host
54 software translates the host Ethernet format to 802.3 format prior to Tx and
55 802.3 format to host format in the Rx direction. The host does not transmit the
56 FCS that follows the data. MsgType differentiates between a regular data
57 packet (msgType=0) and a synchronization message (msgType=1).
58
59 Data Endpoints
60
61 The AR6000 chipset provides several data endpoints to support quality of
62 service (QoS) and maintains separate queues and separate DMA engines for
63 each data endpoint. A data endpoint can be bi-directional.
64
65 Best effort (BE) class traffic uses the default data endpoint (2). The host can
66 establish up to two additional data endpoints for other traffic classes. Once
67 such a data endpoint is established, it sends and receives corresponding QoS
68 traffic in a manner similar to the default data endpoint.
69
70 If QoS is desired over the interconnect, host software must classify each data
71 packet and place it on the appropriate data endpoint. The information
72 required to classify data is generally available in-band as an 802.1p/q style
73 tag or as the ToS field in the IP header. The information may also be available
74 out-of-band depending on the host DDI.
75
76 Connection States
77
78 Table B-1 describes the AR6000 WLAN connection states:
79
80 Table B-1. AR6000 Connection States
81
82 Connection State
83 Description
84
85 DISCONNECTED
86 In this state, the AR6000 device is not connected to a wireless
87 network. The device is in this state after reset when it sends the
88 WIRELESS MODULE \93READY\94 EVENT, after it processes a
89 DISCONNECT command, and when it loses its link with the
90 access point (AP) that it was connected to. The device signals a
91 transition to the DISCONNECTED state with a \93DISCONNECT\94
92 event.
93
94 CONNECTED
95 In this state, the AR6000 device is connected to wireless networks.
96 The device enters this state after successfully processing a
97 CONNECT, which establishes a connection with a wireless
98 network. The device signals a transition to the CONNECTED state
99 with a \93CONNECT\94 event.
100
101
102 Message Types
103
104 WMI uses commands, replies, and events for the control and configuration of
105 the AR6000 device. The control protocol is asynchronous. Table B-2 describes
106 AR6000 message types:
107
108 Table B-2. AR6000 Message Types
109
110 Message Type
111 Description
112
113 Commands
114 Control messages that flow from the host to the device
115
116 Replies/Events
117 Control messages that flow from the device to the host.
118
119 The device issues a reply to some WMI commands, but not to others.
120 The payload in a reply is command-specific, and some commands do
121 not trigger a reply message at all. Events are control messages issued
122 by the device to signal the occurrence of an asynchronous event.
123
124
125 WMI Message Format
126
127 All WMI control commands, replies and events use the header format:
128
129 WMI_CMD_HDR Header Format
130 {
131 UINT16 id
132 This 16-bit constant identifies which WMI command the host is issuing,
133 which command the target is replying to, or which event has occurred.
134 WMI_CMD_HDR
135 }
136
137
138 A variable-size command-, reply-, or event-specific payload follows the
139 header. Over the interconnect, all fields in control messages (including
140 WMI_CMD_HDR and the command specific payload) use 32-bit little Endian
141 byte ordering and fields are packed. The AR6000 device always executes
142 commands in order, and the host may send multiple commands without
143 waiting for previous commands to complete. A majority of commands are
144 processed to completion once received. Other commands trigger a longer
145 duration activity whose completion is signaled to the host through an event.
146
147 Command Restrictions
148
149 Some commands may only be issued when the AR6000 device is in a certain
150 state. The host is required to wait for an event signaling a state transition
151 before such a command can be issued. For example, if a command requires
152 the device to be in the CONNECTED state, then the host is required to wait
153 for a \93CONNECT\94 event before it issues that command.
154
155 The device ignores any commands inappropriate for its current state. If the
156 command triggers a reply, the device generates an error reply. Otherwise, the
157 device silently ignores the inappropriate command.
158
159 Command and Data Synchronization
160
161 WMI provides a mechanism for a host to advise the device of necessary
162 synchronization between commands and data. The device implements
163 synchronization; no implicit synchronization exists between endpoints.
164
165 The host controls synchronization using the \93SYNCHRONIZE\94 command
166 over the control channel and synchronization messages over data channels.
167 The device stops each data channel upon receiving a synchronization message
168 on that channel, processing all data packets received prior to that message.
169 After the device receives synchronization messages for each data endpoint
170 and the \93SYNCHRONIZE\94 command, it resumes all channels.
171
172 When the host must guarantee a command executes before processing new
173 data packets, it first issues the command, then issues the \93SYNCHRONIZE\94
174 command and sends synchronization messages on data channels. When the
175 host must guarantee the device has processed all old data packets before a
176 processing a new command, it issues a \93SYNCHRONIZE\94 command and
177 synchronization messages on all data channels, then issues the desired
178 command.
179
180
181
182 WMI Commands
183
184 ADD_BAD_AP
185 Cause the AR6000 device to avoid a particular AP
186 ADD_CIPHER_KEY
187 Add or replace any of the four AR6000 encryption keys
188 ADD_WOW_PATTERN
189 Used to add a pattern to the WoW pattern list
190 CLR_RSSI_SNR
191 Clear the current calculated RSSI and SNR value
192 CONNECT_CMD
193 Request that the AR6000 device establish a wireless connection
194 with the specified SSID
195 CREATE_PSTREAM
196 Create prioritized data endpoint between the host and device
197 DELETE_BAD_AP
198 Clear an entry in the bad AP table
199 DELETE_CIPHER_KEY
200 Delete a previously added cipher key
201 DELETE_PSTREAM
202 Delete a prioritized data endpoint
203 DELETE_WOW_PATTERN
204 Remove a pre-specified pattern from the WoW pattern list
205 EXTENSION
206 WMI message interface command
207 GET_BIT_RATE
208 Retrieve rate most recently used by the AR6000
209 GET_CHANNEL_LIST
210 Retrieve list of channels used by the AR6000
211 GET_FIXRATES
212 Retrieves the rate-mask set via the SET_FIXRATES command.
213 GET_PMKID_LIST_CMD
214 Retrieve the firmware list of PMKIDs
215 GET_ROAM_DATA
216 Internal use for data collection; available in special build only
217 GET_ROAM_TBL
218 Retrieve the roaming table maintained on the target
219 GET_TARGET_STATS
220 Request that the target send the statistics it maintains
221 GET_TX_PWR
222 Retrieve the current AR6000 device Tx power levels
223 GET_WOW_LIST
224 Retrieve the current list of WoW patterns
225 LQ_THRESHOLD_PARAMS
226 Set the link quality thresholds
227 OPT_TX_FRAME
228 Send a special frame (special feature)
229 RECONNECT
230 Request a reconnection to a BSS
231 RSSI_THRESHOLD_PARAMS
232 Configure how the AR6000 device monitors and reports signal
233 strength (RSSI) of the connected BSS
234 SCAN_PARAMS
235 Determine dwell time and changes scanned channels
236 SET_ACCESS_PARAMS
237 Set access parameters for the wireless network
238 SET_ADHOC_BSSID
239 Set the BSSID for an ad hoc network
240 SET_AKMP_PARAMS
241 Set multiPMKID mode
242 SET_APPIE
243 Add application-specified IE to a management frame
244 SET_ASSOC_INFO
245 Specify the IEs the device should add to association or
246 reassociation requests
247 SET_AUTH_MODE
248 Set 802.11 authentication mode of reconnection
249 SET_BEACON_INT
250 Set the beacon interval for an ad hoc network
251 SET_BIT_RATE
252 Set the AR6000 to a specific fixed bit rate
253 SET_BMISS_TIME
254 Set the beacon miss time
255 SET_BSS_FILTER
256 Inform the AR6000 of network types about which it wants to
257 receive information using a \93BSSINFO\94 event
258 SET_BT_PARAMS
259 Set the status of a Bluetooth stream (SCO or A2DP) or set
260 Bluetooth coexistence register parameters
261 SET_BT_STATUS
262 Set the status of a Bluetooth stream (SCO or A2DP)
263 SET_CHANNEL_PARAMETERS
264 Configure WLAN channel parameters
265 SET_DISC_TIMEOUT
266 Set the amount of time the AR6000 spends attempting to
267 reestablish a connection
268 SET_FIXRATES
269 Set the device to a specific fixed PHY rate (supported subset)
270 SET_HALPARAM
271 Internal AR6000 command to set certain hardware parameters
272 SET_HOST_SLEEP_MODE
273 Set the host mode to asleep or awake
274 SET_IBSS_PM_CAPS
275 Support a non-standard power management scheme for an
276 ad hoc network
277 SET_LISTEN_INT
278 Request a listen interval
279 SET_LPREAMBLE
280 Override the short preamble capability of the AR6000 device
281 SET_MAX_SP_LEN
282 Set the maximum service period
283 SET_OPT_MODE
284 Set the special mode on/off (special feature)
285 SET_PMKID
286 Set the pairwise master key ID (PMKID)
287 SET_PMKID_LIST_CMD
288 Configure the firmware list of PMKIDs
289 SET_POWER_MODE
290 Set guidelines on trade-off between power utilization
291 SET_POWER_PARAMS
292 Configure power parameters
293 SET_POWERSAVE_PARAMS
294 Set the two AR6000 power save timers
295 SET_PROBED_SSID
296 Provide list of SSIDs the device should seek
297 SET_REASSOC_MODE
298 Specify whether the disassociated frame should be sent upon
299 reassociation
300 SET_RETRY_LIMITS
301 Limit how many times the device tries to send a frame
302 SET_ROAM_CTRL
303 Control roaming behavior
304 SET_RTS
305 Determine when RTS should be sent
306 SET_SCAN_PARAMS
307 Set the AR6000 scan parameters
308 SET_TKIP_COUNTERMEASURES
309 Enable/disable reports of TKIP MIC errors
310 SET_TX_PWR
311 Specify the AR6000 device Tx power levels
312 SET_VOICE_PKT_SIZE
313 Set voice packet size
314 SET_WMM
315 Override the AR6000 WMM capability
316 SET_WMM_TXOP
317 Configure TxOP bursting when sending traffic to a WMM-
318 capable AP
319 SET_WOW_MODE
320 Enable/disable WoW mode
321 SET_WSC_STATUS
322 Enable/disable profile check in cserv when the WPS protocol
323 is in progress
324 SNR_THRESHOLD_PARAMS
325 Configure how the device monitors and reports SNR of BSS
326 START_SCAN
327 Start a long or short channel scan
328 SYNCHRONIZE
329 Force a synchronization point between command and data
330 paths
331 TARGET_REPORT_ERROR_BITMASK
332 Control \93ERROR_REPORT\94 events from the AR6000
333
334
335
336
337 Name
338 ADD_BAD_AP
339
340 Synopsis
341 The host uses this command to cause the AR6000 to avoid a particular AP. The
342 AR6000 maintain a table with up to two APs to avoid. An ADD_BAD_AP command
343 adds or replaces the specified entry in this bad AP table.
344
345 If the AR6000 are currently connected to the AP specified in this command, they
346 disassociate.
347
348 Command
349 wmiconfig eth1 --badap <bssid> <badApIndex>
350
351 Command Parameters
352 UINT8 badApIndex Index [0...1] that identifies which entry in the
353 bad AP table to use
354
355
356 UINT8 bssid[6] MAC address of the AP to avoid
357
358 Command Values
359 badApIndex = 0, 1 Entry in the bad AP table to use
360
361 Reset Value
362 The bad AP table is cleared
363
364 Restrictions
365 None
366
367 See Also
368 \93DELETE_BAD_AP\94 on page B-13
369
370 =====================================================================
371 Name
372 ADD_CIPHER_KEY
373
374 Synopsis
375 The host uses this command to add/replace any of four encryption keys on the
376 AR6000. The ADD_CIPHER_KEY command is issued after the CONNECT event
377 has been received by the host for all dot11Auth modes except for SHARED_AUTH.
378 When the dot11AuthMode is SHARED_AUTH, then the ADD_CIPHER_KEY
379 command should be issued before the \93CONNECT\94 command.
380
381 Command
382 wmiconfig eth1 --cipherkey <keyIndex> <keyType> <keyUsage>
383 <keyLength> <keyopctrl> <keyRSC> <key>
384
385 Command Parameters
386 UINT8 keyIndex Index (0...3) of the key to add/replace;
387 uniquely identifies the key
388 UINT8 keyType CRYPTO_TYPE
389 UINT8 keyUsage Specifies usage parameters of the key when
390 keyType = WEP_CRYPT
391 UINT8 keyLength Length of the key in bytes
392 UINT8 keyOpCtrl bit[0] = Initialize TSC (default),
393 bit[1] = Initialize RSC
394 UINT8 keyRSC[8] Key replay sequence counter (RSC) initial
395 value the device should use
396 UINT8 key[32] Key material used for this connection
397 Command Values
398 {
399 NONE_CRYPT = 1
400 WEP_CRYPT = 2
401 TKIP_CRYPT = 3
402 AES_CRYPT = 4
403 KEY_OP_INIT_TSC 0x01
404 KEY_OP_INIT_RSC 0x02
405 KEY_OP_INIT_VAL 0x03
406 Default is to Initialize the TSC
407 KEY_OP_VALID_MASK 0x04
408 Two operations defined
409 } CRYPTO_TYPE
410
411 {
412 PAIRWISE_USAGE = 0 Set if the key is used for unicast traffic only
413 GROUP_USAGE = 1 Set if the key is used to receive multicast
414 traffic (also set for static WEP keys)
415 TX_USAGE = 2 Set for the GROUP key used to transmit frames
416 All others are reserved
417 } KEY_USAGE
418
419 Reset Value
420 The four available keys are disabled.
421
422 Restrictions
423 The cipher should correspond to the encryption mode specified in the \93CONNECT\94
424 command.
425
426 See Also
427 \93DELETE_CIPHER_KEY\94
428
429 =====================================================================
430
431
432 Name
433 ADD_WOW_PATTERN
434
435 Synopsis
436 The host uses this command to add a pattern to the WoW pattern list; used for
437 pattern-matching for host wakeups by the WoW module. If the host mode is asleep
438 and WoW is enabled, all packets are matched against the existing WoW patterns. If a
439 packet matches any of the patterns specified, the target will wake up the host. All
440 non-matching packets are discarded by the target without being sent up to the host.
441
442 Command
443 wmiconfig \96addwowpattern <list-id> <filter-size> <filter-offset>
444 <pattern> <mask>
445
446 Command Parameters
447 A_UINT8 filter_list_id ID of the list that is to include the new pattern
448 A_UINT8 filter_size Size of the new pattern
449 A_UINT8 filter_offset Offset at which the pattern matching for this
450 new pattern should begin at
451 A_UINT8 filter[1] Byte stream that contains both the pattern and
452 the mask of the new WoW wake-up pattern
453
454 Reply Parameters
455 None
456
457 Reset Value
458 None defined (default host mode is awake)
459
460 Restrictions
461 None
462
463 See Also
464 \93DELETE_WOW_PATTERN\94
465
466 =====================================================================
467
468
469 Name
470 CLR_RSSI_SNR
471
472 Synopsis
473 Clears the current calculated RSSI and SNR value. RSSI and SNR are reported by
474 running-average value. This command will clear the history and have a fresh start
475 for the running-average mechanism.
476
477 Command
478 wmiconfig eth1 --cleanRssiSnr
479
480 Command Parameters
481 None
482
483 Reply Parameters
484 None
485
486 Reset Value
487 None defined
488
489 Restrictions
490 None
491
492 =====================================================================
493
494 Name
495 CONNECT_CMD
496
497 Synopsis
498 New connect control information (connectCtrl) is added, with 32 possible modifiers.
499
500 CONNECT_SEND_REASSOC
501 Valid only for a host-controlled connection to a
502 particular AP. If this bit is set, a reassociation frame is
503 sent. If this bit is clear, an association request frame is
504 sent to the AP.
505
506 CONNECT_IGNORE_WPAx_GROUP_CIPHER
507 No group key is issued in the CONNECT command,
508 so use the group key advertised by the AP. In a target-
509 initiated roaming situation this allows a STA to roam
510 between APs that support different multicast ciphers.
511
512 CONNECT_PROFILE_MATCH_DONE
513 In a host-controlled connection case, it is possible that
514 during connect, firmware may not have the
515 information for a profile match (e.g, when the AP
516 supports hidden SSIDs and the device may not
517 transmit probe requests during connect). By setting
518 this bit in the connection control information, the
519 firmware waits for a beacon from the AP with the
520 BSSID supplied in the CONNECT command. No
521 additional profile checks are done.
522
523 CONNECT_IGNORE_AAC_BEACON
524 Ignore the Admission Capacity information in the
525 beacon of the AP
526
527 CONNECT_ASSOC_POLICY_USER
528 When set, the CONNECT_SEND_REASSOC setting
529 determines if an Assoc or Reassoc is sent to an AP
530
531 Command
532 wmiconfig --setconnectctrl <ctrl flags bitmask>
533
534 Command Parameters
535 typedef struct{
536 A_UINT8 networktype;
537 A_UINT8 dot11authmode;
538 A_UINT8 authmode;
539 A_UINT8 pairwiseCryptoType; /*CRYPTO_TYPE*/
540 A_UINT8 pairwiseCryptoLen;
541 A_UINT8 groupCryptoType; /*CRYPTO_TYPE*/
542 A_UINT8 groupCryptoLen;
543 A_UINT8 ssidLength;
544 A_UCHAR ssid[WMI_MAX_SSID_LEN];
545 A_UINT16 channel;
546 A_UINT8 bssid[AUTH_MAC_LEN];
547 A_UINT8 ctrl_flags; /*WMI_CONNECT_CTRL_FLAGS_BITS*/
548 } WMI_CONNECT_CMD;
549
550 ctrl flags bitmask
551 = 0x0001 CONNECT_ASSOC_POLICY_USER
552 Assoc frames are sent using the policy specified by
553 the flag
554 = 0x0002 CONNECT_SEND_REASSOC
555 Send Reassoc frame while connecting, otherwise send
556 assoc frames
557 = 0x0004 CONNECT_IGNORE_WPAx_GROUP_CIPHER
558 Ignore WPAx group cipher for WPA/WPA2
559 = 0x0008 CONNECT_PROFILE_MATCH_DONE
560 Ignore any profile check
561 = 0x0010 CONNECT_IGNORE_AAC_BEACON
562 Ignore the admission control information in the
563 beacon
564 ... CONNECT_CMD, continued
565 Command Values
566 typedef enum {
567 INFRA_NETWORK = 0x01,
568 ADHOC_NETWORK = 0x02,
569 ADHOC_CREATOR = 0x04,
570 } NETWORK_TYPE;
571
572 typedef enum {
573 OPEN_AUTH = 0x01,
574 SHARED_AUTH = 0x02,
575 LEAP_AUTH = 0x04,
576 } DOT11_AUTH_MODE;
577 typedef enum {
578 NONE_AUTH = 0x01,
579 WPA_AUTH = 0x02,
580 WPA_PSK_AUTH = 0x03,
581 WPA2_AUTH = 0x04,
582 WPA2_PSK_AUTH = 0x05,
583 WPA_AUTH_CCKM = 0x06,
584 WPA2_AUTH_CCKM = 0x07,
585 } AUTH_MODE;
586 typedef enum {
587 NONE_CRYPT = 0x01,
588 WEP_CRYPT = 0x02,
589 TKIP_CRYPT = 0x03,
590 AES_CRYPT = 0x04,
591 } CRYPTO_TYPE;
592 typedef enum {
593 CONNECT_ASSOC_POLICY_USER = 0x0001,
594 CONNECT_SEND_REASSOC = 0x0002,
595 CONNECT_IGNORE_WPAx_GROUP_CIPHER = 0x0004,
596 CONNECT_PROFILE_MATCH_DONE = 0x0008,
597 CONNECT_IGNORE_AAC_BEACON = 0x0010,
598 } WMI_CONNECT_CTRL_FLAGS_BITS;
599
600 pairwiseCryptoLen and groupCryptoLen are valid when the respective
601 CryptoTypesis WEP_CRYPT, otherwise this value should be 0. This is the length in
602 bytes.
603
604 Reset Value
605 None defined
606
607 Restrictions
608 None
609
610 =====================================================================
611
612
613 Name
614 CREATE_PSTREAM
615
616 Synopsis
617 The host uses this command to create a new prioritized data endpoint between the
618 host and the AR6000 device that carries a prioritized stream of data. If the AP that the
619 device connects to requires TSPEC stream establishment, the device requests the
620 corresponding TSPEC with the AP. The maximum and minimum service interval
621 ranges from 0 \96 0x7FFFFFFF (ms), where 0 = disabled. The device does not send a
622 reply event for this command, as it is always assumed the command has succeeded.
623 An AP admission control response comes to the host via a WMI_CAC_INDICATION
624 event, once the response for the ADDTS frame comes.
625
626 Examples of cases where reassociation is generated (when WMM) and cases where
627 ADDTS is generated (when WMM and enabling ACM) are when:
628 Changing UAPSD flags in WMM mode, reassociation is generated
629 Changing the interval of sending auto QoS Null frame in WMM mode;
630 reassociation is not generated
631 Issuing a command with same previous parameters in WMM mode and enabling
632 ACM, an ADDTS request is generated
633 Changing the interval of a QoS null frame sending in WMM mode and enabling
634 ACM, an ADDTS request is generated
635 Issuing the command in disconnected state, reassociation or ADDTS is not
636 generated but the parameters are available after (re)association
637
638 Command
639 --createqos <user priority> <direction> <traffic class>
640 <trafficType> <voice PS capability> <min service interval> <max
641 service interval> <inactivity interval> <suspension interval>
642 <service start time> <tsid> <nominal MSDU> <max MSDU> <min data
643 rate> <mean data rate> <peak data rate> <max burst size> <delay
644 bound> <min phy rate> <sba> <medium time> where:
645
646 <user priority>
647 802.1D user priority range (0\967)
648 <direction>
649 = 0 Tx (uplink) traffic
650 = 1 Rx (downlink) traffic
651 = 2 Bi-directional traffic
652 <traffic class>
653 = 1 BK
654 = 2 VI
655 = 3 VO
656 <trafficType>
657 = 0 Aperiodic
658 = 1 Periodic
659 <voice PS capability>
660 Specifies whether the voice power save mechanism
661 (APSD if AP supports it or legacy/simulated APSD
662 [using PS-Poll]) should be used
663 = 0 Disable voice power save for traffic class
664 = 1 Enable APSD voice power save for traffic class
665 = 2 Enable voice power save for all traffic classes
666 <min service interval>
667 (In ms)
668 <max service interval>
669 Inactivity interval (in ms) (0 = Infinite)
670 <suspension interval>
671 (In ms)
672 <service start time>
673 Service start time
674 <tsid>
675 TSID range (0\9615)
676 <nominal MSDU>
677 Nominal MAC SDU size
678 <max MSDU>
679 Maximum MAC SDU size
680 <min data rate>
681 Minimum data rate (in bps)
682 <mean data rate>
683 Mean data rate (in bps)
684 <peak data rate>
685 Peak data rate (in bps)
686 <max burst size>
687 Maximum burst size (in bps)
688 <delay bound>
689 Delay bound
690 <min phy rate>
691 Minimum PHY rate (in bps)
692 <sba>
693 Surplus bandwidth allowance
694 <medium time>
695 Medium time in TU of 32-ms periods per sec
696 ... CREATE_PSTREAM (continued)
697
698 Command Parameters
699 UINT8 trafficClass TRAFFIC_CLASS value
700 UINT8 traffic
701 Direction
702 DIR_TYPE value
703 UINT8 rxQueueNum
704 AR6000 device mailbox index (2 or 3)
705 corresponding to the endpoint the host
706 wishes to use to receive packets for the
707 prioritized stream
708 UINT8 trafficType TRAFFIC_TYPE value
709 UINT8 voicePS
710 Capability
711 VOICEPS_CAP_TYPE value
712 UINT8 tsid Traffic stream ID
713 UINT8 userPriority 802.1D user priority
714 UINT16 nominalMSDU Nominal MSDU in octets
715 UINT16 maxMSDU Maximum MSDU in octets
716 UINT32 minServiceInt Minimum service interval: the min.
717 period of traffic specified (in ms)
718 UINT32 maxServiceInt Maximum service interval: the max.
719 period of traffic specified (in ms)
720 UINT32 inactivityInt Indicates how many ms an established
721 stream is inactive before the prioritized
722 data endpoint is taken down and the
723 corresponding T-SPEC deleted
724 UINT32 suspensionInt Suspension interval (in ms)
725 UINT32 service StartTime Service start time
726 UINT32 minDataRate Minimum data rate (in bps)
727 UINT32 meanDataRate Mean data rate (in bps)
728 UINT32 peakDataRate Peak data rate (in bps)
729 UINT32 maxBurstSize
730 UINT32 delayBound
731 UINT32 minPhyRate Minimum PHY rate for TSPEC (in bps)
732 UINT32 sba Surplus bandwidth allowance
733 UINT32 mediumTime Medium TSPEC time (in units of 32 ms)
734 Command Values
735 {
736 WMM_AC_BE = 0 Best Effort
737 WMM_AC_BK = 1 Background
738 WMM_AC_VI = 2 Video
739 WMM_AC_VO = 3 Voice
740 All other values reserved
741 } TRAFFIC_CLASS
742 {
743 UPLINK_TRAFFIC = 0 From the AR6000 device to the AP
744 DOWNLINK_TRAFFIC = 1 From the AP to the AR6000 device
745 BIDIR_TRAFFIC = 2 Bi-directional traffic
746 All other values reserved
747 } DIR_TYPE
748 {
749 DISABLE_FOR_THIS_AC = 0
750 ENABLE_FOR_THIS_AC = 1
751 ENABLE_FOR_ALL_AC = 2
752 All other values reserved
753 } VOICEPS_CAP_TYPE
754
755 ... CREATE_PSTREAM (continued)
756
757
758 VI BE BK Supported, Y/N?
759 0 0 0 0 Y
760 0 0 0 1 Y
761 0 0 1 0 N
762 0 0 1 1 N
763 0 1 0 0 Y
764 0 1 0 1 Y
765 0 1 1 0 N
766 0 1 1 1 N
767 1 0 0 0 Y
768 1 0 0 1 Y
769 1 0 1 0 N
770 1 1 0 0 N
771 1 1 0 1 Y
772 1 1 0 0 N
773 1 1 1 0 N
774 1 1 1 1 Y
775
776 Reset Value
777 No pstream is present after reset; each of the BE, BK, VI,VO pstreams must be created
778 (either implicitly by data flow or explicitly by user)
779
780 Restrictions
781 This command can only be issued when the device is in the CONNECTED state. If
782 the device receives the command while in DISCONNECTED state, it replies with a
783 failure indication. At most four prioritized data endpoints can be created, one for
784 each AC.
785
786 See Also
787 \93DELETE_PSTREAM\94
788 =====================================================================
789
790 Name
791 DELETE_BAD_AP
792
793 Synopsis
794 The host uses this command to clear a particular entry in the bad AP table
795
796 Command
797 wmiconfig eth1 --rmAP [--num=<index>] // used to clear a badAP
798 entry. num is index from 0-3
799
800 Command Parameters
801 UINT8 badApIndex Index [0...n] that identifies the entry in the bad
802 AP table to delete
803
804 Command Values
805 badApIndex = 0, 1, 2, 3
806 Entry in the bad AP table
807
808 Reset Value
809 None defined
810
811 Restrictions
812 None
813
814 See Also
815 \93ADD_BAD_AP\94
816
817 =====================================================================
818
819
820 Name
821 DELETE_CIPHER_KEY
822
823 Synopsis
824 The host uses this command to delete a key that was previously added with the
825 \93ADD_CIPHER_KEY\94 command.
826
827 Command
828 TBD
829
830 Command Parameters
831 UINT8 keyIndex Index (0...3) of the key to be deleted
832
833 Command Values
834 keyIndex = 0, 1,2, 3 Key to delete
835
836 Reset Value
837 None
838
839 Restrictions
840 The host should not delete a key that is currently in use by the AR6000.
841
842 See Also
843 \93ADD_CIPHER_KEY\94
844
845 =====================================================================
846
847 Name
848 DELETE_PSTREAM
849
850 Synopsis
851 The host uses this command to delete a prioritized data endpoint created by a
852 previous \93CREATE_PSTREAM\94 command
853
854 Command
855 --deleteqos <trafficClass> <tsid>, where:
856
857 <traffic class>
858 = 0 BE
859 = 1 BK
860 = 2 VI
861 = 3 VO
862 <tsid>
863 The TSpec ID; use the -qosqueue option
864 to get the active TSpec IDs for each traffic class
865
866 Command Parameters
867 A_UINT8 trafficClass Indicate the traffic class of the stream
868 being deleted
869
870 Command Values
871 {
872 WMM_AC_BE = 0 Best effort
873 WMM_AC_BK = 1 Background
874 WMM_AC_VI = 2 Video
875 WMM_AC_VO = 3 Voice
876 } TRAFFIC CLASS
877
878 0-15 for TSID
879
880 Reply Values
881 N/A
882
883 Restrictions
884 This command should only be issued after a \93CREATE_PSTREAM\94 command has
885 successfully created a prioritized stream
886
887 See Also
888 \93CREATE_PSTREAM\94
889
890 =====================================================================
891
892
893 Name
894 DELETE_WOW_PATTERN
895
896 Synopsis
897 The host uses this command to remove a pre-specified pattern from the
898 WoW pattern list.
899
900 Command
901 wmiconfig \96delwowpattern <list-id> <pattern-id>
902
903 Command Parameters
904 A_UINT8 filter_list_id ID of the list that contains the WoW filter
905 pattern to delete
906 A_UINT8 filter_id ID of the WoW filter pattern to delete
907
908 Reply Parameters
909 None
910
911
912
913 Reset Value
914 None defined
915
916 Restrictions
917 None
918
919 See Also
920 \93ADD_WOW_PATTERN\94
921
922 =====================================================================
923
924
925 Name
926 EXTENSION
927
928 Synopsis
929 The WMI message interface is used mostly for wireless control messages to a wireless
930 module applicable to wireless module management regardless of the target platform
931 implementation. However, some commands only peripherally related to wireless
932 management are desired during operation. These wireless extension commands may
933 be platform-specific or implementation-dependent.
934
935 Command
936 N/A
937
938 Command Parameters
939 Command-specific
940
941 Command Values
942 Command-specific
943
944 Reply Parameters
945 Command-specific
946
947 Reset Values
948 None defined
949
950 Restrictions
951 None defined
952
953 =====================================================================
954
955
956 Name
957 GET_BIT_RATE
958
959 Synopsis
960 Used by the host to obtain the rate most recently used by the AR6000 device
961
962 Command
963 wmiconfig eth1 --getfixrates
964
965 Command Parameters
966 None
967
968
969
970 Reply Parameters
971 INT8
972 rateIndex
973 See the \93SET_BIT_RATE\94 command
974
975 Reset Values
976 None
977
978 Restrictions
979 This command should only be used during development/debug; it is not intended
980 for use in production. It is only valid when the device is in the CONNECTED state
981
982 See Also
983 \93SET_BIT_RATE\94
984
985 =====================================================================
986
987
988 Name
989 GET_CHANNEL_LIST
990
991 Synopsis
992 Used by the host uses to retrieve the list of channels that can be used by the device
993 while in the current wireless mode and in the current regulatory domain.
994
995 Command
996 TBD
997
998 Command Parameters
999 None
1000
1001 Reply Parameters
1002 UINT8 reserved Reserved
1003 UINT8 numberOfChannels Number of channels the reply contains
1004 UINT16 channelList[numberOfChannels] Array of channel frequencies (in MHz)
1005
1006 Reset Values
1007 None defined
1008
1009 Restrictions
1010 The maximum number of channels that can be reported are 32
1011
1012 =====================================================================
1013
1014
1015 Name
1016 GET_FIXRATES
1017
1018 Synopsis
1019 Clears the current calculated RSSI and SNR value. RSSI and SNR are reported by
1020 running-average value. This command will clear the history and have a fresh start for
1021 the running-average mechanism.
1022
1023 Synopsis
1024 This returns rate-mask set via WMI_SET_FIXRATES to retrieve the current fixed rate
1025 that the AR6001 or AR6001 is using. See \93SET_FIXRATES\94.
1026
1027 Command
1028 wmiconfig eth1 --getfixrates
1029
1030 Command Parameters
1031 A_UINT16 fixRateMask; Note: if this command is used prior to
1032 using WMI_SET_FIXRATES, AR6000
1033 returns 0xffff as fixRateMask, indicating
1034 all the rates are enabled
1035
1036 Reply Parameters
1037 None
1038
1039 Reset Value
1040 None defined
1041
1042 Restrictions
1043 None
1044
1045 See Also
1046 \93SET_FIXRATES\94
1047
1048 =====================================================================
1049
1050
1051
1052 Name
1053 GET_PMKID_LIST_CMD
1054
1055 Synopsis
1056 Retrieves the list of PMKIDs on the firmware. The
1057 WMI_GET_PMKID_LIST_EVENT is generated by the firmware.
1058
1059 Command
1060 TBD
1061
1062 Command Parameters
1063
1064 Reset Values
1065 None
1066
1067 Restrictions
1068 None
1069
1070 See Also
1071 SET_PMKID_LIST_CMD GET_PMKID_LIST_EVENT
1072
1073 =====================================================================
1074
1075
1076 Name
1077 GET_ROAM_TBL
1078
1079 Synopsis
1080 Retrieve the roaming table maintained on the target. The response is reported
1081 asynchronously through the ROAM_TBL_EVENT.
1082
1083 Command
1084 wmiconfig --getroamtable <roamctrl> <info>
1085
1086 Command Parameters
1087 A_UINT8 roamCtrlType;
1088 A_UINT16 roamMode
1089 A_UINT16 numEntries
1090 WMI_BSS_ROAM_INFO bssRoamInfo[1]
1091
1092 Reply Value
1093 Reported asynchronously through the ROAM_TBL_EVENT
1094
1095 Reset Value
1096 None defined
1097
1098 Restrictions
1099 None
1100
1101 See Also
1102 SET_KEEPALIVE
1103
1104 =====================================================================
1105
1106
1107 Name
1108 GET_TARGET_STATS
1109
1110 Synopsis
1111 The host uses this command to request that the target send the statistics that it
1112 maintains. The statistics obtained from the target are accrued in the host every time
1113 the GET_TARGET_STATS command is issued. The --clearStats option is added to
1114 clear the target statistics maintained in the host.
1115
1116 Command
1117 wmiconfig --getTargetStats --clearStats
1118
1119 Command Parameters
1120 TARGET_STATS targetStats
1121 WMI_TARGET_STATS
1122 UINT8 clearStats
1123
1124
1125 Reply Value
1126 RSSI return value (0\96100)
1127
1128 Reset Values
1129 All statistics are cleared (zeroed)
1130
1131 Restrictions
1132 The --getTargetStats option must be used; the --clearStats option is also available also
1133
1134
1135 =====================================================================
1136
1137 Name
1138 GET_TX_PWR
1139
1140 Synopsis
1141 The host uses this command to retrieve the current Tx power level
1142
1143 Command
1144 wmiconfig -i eth1 --getpower
1145
1146 Command Parameters
1147 None
1148
1149 Reply Parameters
1150 UINT16 dbM The current Tx power level specified in dbM
1151
1152 Reset Values
1153 The maximum permitted by the regulatory domain
1154
1155 Restrictions
1156 None
1157
1158 See Also
1159 \93SET_TX_PWR\94
1160
1161 =====================================================================
1162
1163
1164 Name
1165 GET_WOW_LIST
1166
1167 Synopsis
1168 The host uses this command to retrieve the current list of WoW patterns.
1169
1170 Command
1171 wmiconfig \96getwowlist <list-id>
1172
1173 Command Parameters
1174 A_UINT8 filter_list_id ID of the list of WoW patterns to retrieve
1175
1176 Reply Value(s)
1177 A_UINT16 num_filters Number of WoW patterns contained in the list
1178 A_UINT8 wow_mode Current mode of WoW (enabled or disabled)
1179 A_UINT8 host_mode Current host mode (asleep or awake)
1180 WOW_FILTER wow_filters[1]
1181 Contents of the WoW filter pattern list
1182 (contains mask, pattern, offset and size
1183 information for each of the patterns)
1184
1185 Reset Value
1186 None defined
1187
1188 Restrictions
1189 None
1190
1191 See Also
1192 \93SET_WSC_STATUS\94
1193
1194 =====================================================================
1195
1196
1197 Name
1198 LQ_THRESHOLD_PARAMS
1199
1200 Synopsis
1201 Sets Link Quality thresholds, the sampling will happen at every unicast data frame
1202 Tx if a certain threshold is met, and the corresponding event will be sent to the host.
1203
1204 Command
1205 --lqThreshold <enable> <upper_threshold_1> ...
1206 <upper_threshold_4> <lower_threshold_1> ... <lower_threshold_4>
1207
1208 Command Parameters
1209 <enable> = 0 Disable link quality sampling
1210 = 1 Enable link quality sampling
1211 <upper_threshold_x> Above thresholds (value in [0,100]), in
1212 ascending order
1213 <lower_threshold_x> Below thresholds (value in [0,100]), in
1214 ascending order
1215
1216 Command Values
1217 See command parameters
1218
1219 Reset Value
1220 None defined
1221
1222 Restrictions
1223 None
1224
1225 =====================================================================
1226
1227
1228 Name
1229 OPT_TX_FRAME
1230
1231 Synopsis
1232 Special feature, sends a special frame.
1233
1234 Command
1235 wmiconfig --sendframe <frmType> <dstaddr> <bssid> <optIEDatalen>
1236 <optIEData>
1237
1238 Command Parameters
1239 {
1240 A_UINT16 optIEDataLen;
1241 A_UINT8 frmType;
1242 A_UINT8 dstAddr[ATH_MAC_LEN];
1243 A_UINT8 bssid[ATH_MAC_LEN];
1244 A_UINT8 optIEData[1];
1245 } WMI_OPT_TX_FRAME_CMD;
1246
1247 Command Values
1248 <frmtype> = 1 Probe request frame
1249 = 2 Probe response frame
1250 = 3 CPPP start
1251 = 4 CPPP stop
1252
1253 Reset Value
1254 None defined
1255
1256 Restrictions
1257 Send a special frame only when special mode is on.
1258
1259 =====================================================================
1260
1261
1262 Name
1263 RECONNECT
1264
1265 Synopsis
1266 This command requests a reconnection to a BSS to which the AR6000 device was
1267 formerly connected
1268
1269 Command
1270 TBD
1271
1272 Command Parameters
1273 UINT16 channel Provides a hint as to which channel was
1274 used for a previous connection
1275 UINT8 bssid[6] If set, indicates which BSSID to connect to
1276
1277 Command Values
1278 None
1279
1280 Reset Values
1281 None
1282
1283 Restrictions
1284 None
1285
1286 See Also
1287 \93CONNECT_CMD\94
1288
1289 =====================================================================
1290
1291
1292 Name
1293 RSSI_THRESHOLD_PARAMS
1294
1295 Synopsis
1296 Configures how the AR6000 device monitors and reports signal strength (RSSI) of the
1297 connected BSS, which is used as a link quality metric. The four RSSI threshold sets (in
1298 dbM) of the host specification divide the signal strength range into six segments.
1299 When signal strength increases or decreases across one of the boundaries, an
1300 RSSI_THRESHOLD event is signaled to the host. The host may then choose to take
1301 action (such as influencing roaming).
1302
1303 Command
1304 wmiconfig eth1 --rssiThreshold <weight> <pollTime>
1305 <above_threshold_val_1> ... <above_threshold_tag_6>
1306 <above_threshold_val_6>
1307 <below_threshold_tag_1> <below_threshold_val_1> ...
1308 <below_threshold_tag_6> <below_threshold_val_6>
1309
1310 Command Parameters
1311 UINT8 weight Range in [1, 16] used to calculate average RSSI
1312 UINT32 pollTime RSSI (signal strength) sampling frequency in
1313 seconds (if pollTime = 0, single strength
1314 sampling is disabled)
1315 USER_RSS__THOLD tholds[12] Thresholds (6 x 2)
1316
1317 Command Values
1318 None defined
1319
1320 Reset Values
1321 pollTime is 0, and sampling is disabled
1322
1323 Restrictions
1324 Can only be issued if the AR6000 device is connected
1325
1326
1327 =====================================================================
1328
1329 Name
1330 SCAN_PARAMS
1331
1332 Synopsis
1333 The minact parameter determines the minimum active channel dwell time, within
1334 which if the STA receives any beacon, it remains on that channel until the maxact
1335 channel dwell time. If the STA does not receive a beacon within the minact dwell
1336 time, it switches to scan the next channel.
1337
1338 Command
1339 wmiconfig -scan -minact=<ms> --maxact=<ms>
1340
1341 Command Parameters
1342 UINT16 maxact Channel dwell time (in ms), default = 0
1343 UINT16 minact Channel dwell time (in ms), default = 105
1344
1345 Command Values
1346 See channel parameters
1347
1348 Reset Values
1349 None defined
1350
1351 Restrictions
1352 The minact value should be greater than 0; maxact should be between 5\9665535 ms
1353 and greater than minact
1354
1355 =====================================================================
1356
1357
1358 Name
1359 SET_ACCESS_PARAMS
1360
1361 Synopsis
1362 Allows the host to set access parameters for the wireless network. A thorough
1363 understanding of IEEE 802.11 is required to properly manipulate these parameters.
1364
1365 Command
1366 wmiconfig eth1 --acparams --txop <limit> --cwmin <0-15>
1367 --cwmax <0-15> --aifsn<0-15>
1368
1369 Command Parameters
1370 UINT16 txop The maximum time (expressed in units of
1371 32 ms) the device can spend transmitting
1372 after acquiring the right to transmit
1373 UINT8 eCWmin Minimum contention window
1374 UINT8 eCWmax Maximum contention window
1375 UINT8 aifsn The arbitration inter-frame space number
1376
1377 Command Values
1378 None
1379
1380 Reset Values
1381 Reasonable defaults that vary, between endpoints (prioritized streams)
1382
1383 Restrictions
1384 None
1385
1386 =====================================================================
1387
1388
1389 Name
1390 SET_ADHOC_BSSID
1391
1392 Synopsis
1393 Allows the host to set the BSSID for an ad hoc network. If a network with this BSSID
1394 is not found, the target creates an ad hoc network with this BSSID after the connect
1395 WMI command is triggered (e.g., by the SIOCSIWESSID IOCTL).
1396
1397 Command
1398 wmiconfig eth1 --adhocbssid <bssid>
1399
1400 Command Parameters
1401 A_UINT8 bssid[ATH_MAC_LEN] BSSID is specified in xx:xx:xx:xx:xx:xx format
1402
1403 Command Values
1404 None
1405
1406 Reset Values
1407 None
1408
1409 Restrictions
1410 None
1411
1412 =====================================================================
1413
1414
1415 Name
1416 SET_AKMP_PARAMS
1417
1418 Synopsis
1419 Enables or disables multi PMKID mode.
1420
1421 Command
1422 wmiconfig eth1 --setakmp --multipmkid=<on/off>
1423
1424 Command Parameters
1425 typedef struct {
1426 A_UINT32 akmpInfo;
1427 } WMI_SET_AKMP_PARAMS_CMD;
1428
1429 Command Values
1430 akmpInfo;
1431 bit[0] = 0
1432 MultiPMKID mode is disabled and PMKIDs that
1433 were set using the WMI_SET_PMKID_CMD are
1434 used in the [Re]AssocRequest frame.
1435 bit[0] = 1
1436 MultiPMKID mode is enabled and PMKIDs issued
1437 by the WMI_SET_PMKID_LIST_CMD are used in
1438 the next [Re]AssocRequest sent to the AP.
1439
1440 Reset Values
1441 MultiPMKID mode is disabled
1442
1443 Restrictions
1444 None
1445
1446 =====================================================================
1447
1448
1449 Name
1450 SET_APPIE
1451
1452 Synopsis
1453 Add an application-specified IE to a management frame. The maximum length is
1454 76 bytes. Including the length and the element ID, this translates to 78 bytes.
1455
1456 Command
1457 wmiconfig --setappie <frame> <IE>, where:
1458
1459 frame
1460 One of beacon, probe, respon, assoc
1461
1462 IE
1463 A hex string beginning with DD (if = 0, no
1464 IE is sent in the management frame)
1465
1466 Command Parameters
1467 mgmtFrmType;
1468 A WMI_MGMT_FRAME_TYPE
1469
1470 ieLen;
1471 Length of the IE to add to the GMT frame
1472
1473 Command Values
1474 None
1475
1476 Reset Value
1477 None defined
1478
1479 Restrictions
1480 Supported only for the probe request and association request management frame
1481 types. Also, only one IE can be added per management frame type.
1482
1483 =====================================================================
1484
1485
1486 Name
1487 SET_ASSOC_INFO
1488
1489 Synopsis
1490 The host uses this command to specify any information elements (IEs) it wishes the
1491 AR6000 device to add to all future association and reassociation requests. IEs must be
1492 correct and are used as is by the device. IEs specified through this command are
1493 cleared with a DISCONNECT.
1494
1495 Command
1496 wmiconfig eth1 --setAssocIe <IE>
1497
1498 Command Parameters
1499 UINT8 ieType Used directly in 802.11 frames
1500 UINT8 bufferSize Size of assocInfo (in bytes) ranging from
1501 0\96240. If = 0, previously set IEs are cleared.
1502 UINT8 assocInfo[bufferSize] Used directly in 802.11 frames
1503
1504 Command Values
1505 None
1506
1507 Reset Values
1508 IEs are cleared
1509
1510 Restrictions
1511 This command can only be issued in the DISCONNECTED state
1512
1513 =====================================================================
1514
1515
1516 Name
1517 SET_AUTHMODE
1518
1519 Synopsis
1520 Sets the 802.11 authentication mode of reconnection
1521
1522 Command
1523 wmiconfig eth1 --setauthmode <mode>
1524
1525 Command Parameters
1526 UINT8 mode
1527
1528 Command Values
1529 mode = 0x00 Proceed with authentication during reconnect
1530 = 0x01 Do not proceed with authentication during reconnect
1531
1532 Reset Values
1533 Authentication
1534
1535 Restrictions
1536 None
1537
1538 =====================================================================
1539
1540
1541 Name
1542 SET_BEACON_INT
1543
1544 Synopsis
1545 Sets the beacon interval for an ad hoc network. Beacon interval selection may have an
1546 impact on power savings. To some degree, a longer interval reduces power
1547 consumption but also decreases throughput. A thorough understanding of IEEE
1548 802.11 ad hoc networks is required to use this command effectively.
1549
1550 Command
1551 wmiconfig eth1 --ibssconintv
1552
1553 Command Parameters
1554 UINT16 beaconInterval Specifies the beacon interval in TU units (1024 ms)
1555
1556 Command Values
1557 None
1558
1559 Reset Values
1560 The default beacon interval is 100 TUs (102.4 ms)
1561
1562 Restrictions
1563 This command can only be issued before the AR6000 device starts an ad hoc network
1564
1565 See Also
1566 \93SET_IBSS_PM_CAPS\94
1567
1568 =====================================================================
1569
1570
1571 Name
1572 SET_BIT_RATE
1573
1574 Synopsis
1575 The host uses this command to set the AR6000 device to a specific fixed rate.
1576
1577 Command
1578 wmiconfig eth1 --setfixrates <rate_0> ... <rate_n>
1579
1580 Command Parameters
1581 INT8 rateIndex
1582 A WMI_BIT_RATE value
1583 {
1584 RATE_AUTO = -1
1585 RATE_1Mb = 0
1586 RATE_2Mb = 1
1587 RATE_5_5M = 2
1588 RATE_11Mb = 3
1589 RATE_6Mb = 4
1590 RATE_9Mb = 5
1591 RATE_12Mb = 6
1592 RATE_18Mb = 7
1593 RATE_24Mb = 8
1594 RATE_36Mb = 9
1595 RATE_48Mb = 10
1596 RATE_54Mb = 11
1597 } WMI_BIT_RATE
1598
1599
1600 Command Values
1601 See command parameters
1602
1603 Reset Values
1604 The dynamic rate is determined by the AR6000 device
1605
1606 Restrictions
1607 This command is intended for use only during development/debug; it is not
1608 intended for use in production
1609
1610 See Also
1611 \93GET_BIT_RATE\94
1612
1613 =====================================================================
1614
1615
1616 Name
1617 SET_BMISS_TIME
1618
1619 Synopsis
1620 This command sets the beacon miss (BMISS) time, which the AR6000 hardware use
1621 to recognize missed beacons. When an excessive number (15) of consecutive beacons
1622 are missed, the AR6000 consider switching to a different BSS. The time can be
1623 specified in number of beacons or in TUs.
1624
1625 Command(s)
1626 wmiconfig eth1 --setbmissbeacons=<val>
1627 wmiconfig eth1 --setbmisstime=<val>
1628
1629 Command Parameters
1630 UINT16 bmissTime Specifies the beacon miss time
1631 [1000...5000] in TUs (1024 ms)
1632 UINT16 bmissbeacons Specifies the number of beacons [5...50]
1633
1634 Command Values
1635 None
1636
1637 Reset Values
1638 bmissTime is 1500 TUs (1536 ms)
1639
1640 Restrictions
1641 None
1642
1643 =====================================================================
1644
1645
1646 Name
1647 SET_BSS_FILTER
1648
1649 Synopsis
1650 The host uses this to inform the AR6000 device of the types of networks about which
1651 it wants to receive information from the \93BSSINFO\94 event. As the device performs
1652 either foreground or background scans, it applies the filter and sends \93BSSINFO\94
1653 events only for the networks that pass the filter. If any of the bssFilter or the ieMask
1654 filter matches, a BSS Info is sent to the host. The ieMask currently is used as a match
1655 for the IEs in the beacons, probe reponses and channel switch action management
1656 frame. See also \93Scan and Roam\94 on page C-1.
1657
1658 The BSS filter command has been enhanced to support IE based filtering. The IEs can
1659 be specified as a bitmask through this command using this enum.
1660
1661 Command
1662 wmiconfig eth1 \96filter = <filter> --ieMask 0x<mask>
1663
1664 Command Parameters
1665 UINT8 BssFilter
1666
1667 Command Values
1668 typedef struct {
1669 A_UINT8 bssFilter; See WMI_BSS_FILTER
1670 A_UINT32 ieMask;
1671 } __ATTRIB_PACK WMI_BSS_FILTER_CMD;
1672
1673 The ieMask can take this combination of values:
1674
1675 enum {
1676 BSS_ELEMID_CHANSWITCH = 0x01
1677 BSS_ELEMID_ATHEROS = 0x02,
1678 }
1679
1680 Reply Value
1681 None
1682
1683 Reset Value
1684 BssFilter = NONE_BSS_FILTER (0)
1685
1686 Restrictions
1687 None
1688
1689 See Also
1690 \93CONNECT_CMD\94
1691
1692 =====================================================================
1693
1694
1695 Name
1696 SET_BT_PARAMS
1697
1698 Synopsis
1699 This command is used to set the status of a Bluetooth stream or set Bluetooth
1700 coexistence register parameters. The stream may be an SCO or an A2DP stream and
1701 its status can be started/stopped/suspended/resumed.
1702
1703 Command
1704 wmiconfig \96setBTparams <paramType> <params>
1705
1706 Command Parameters
1707 struct {
1708 union {
1709 BT_PARAMS_SCO scoParams;
1710 BT_PARAMS_A2DP a2dpParams;
1711 BT_PARAMS_MISC miscParams;
1712 BT_COEX_REGS regs;
1713 } info;
1714 A_UINT8 paramType;
1715 struct {
1716 A_UINT8 noSCOPkts; Number of SCO packets between consecutive PS-POLLs
1717 A_UINT8 pspollTimeout;
1718 A_UINT8 stompbt;
1719 } BT_PARAMS_SCO;
1720 struct {
1721 A2DP BT stream parameters
1722 A_UINT32 period;
1723 A_UINT32 dutycycle;
1724 A_UINT8 stompbt;
1725 } BT_PARAMS_A2DP;
1726 struct {
1727 union {
1728 WLAN_PROTECT_POLICY_TYPE protectParams;
1729 A_UINT16 wlanCtrlFlags;
1730 }info;
1731 A_UINT8 paramType;
1732 } BT_PARAMS_MISC;
1733 struct {
1734 BT coexistence registers values
1735 A_UINT32 mode; Coexistence mode
1736 A_UINT32 scoWghts; WLAN and BT weights
1737 A_UINT32 a2dpWghts;
1738 A_UINT32 genWghts;
1739 A_UINT32 mode2; Coexistence mode2
1740 A_UINT8 setVal;
1741 } BT_COEX_REGS;
1742
1743 Command Values
1744 None defined
1745
1746 Reset Value
1747 None
1748
1749 Restrictions
1750 None
1751
1752 =====================================================================
1753
1754
1755 Name
1756 SET_BT_STATUS
1757
1758 Synopsis
1759 Sets the status of a Bluetooth stream. The stream may be a SCO or an A2DP stream
1760 and its status can be started/stopped/suspended/resumed.
1761
1762 Command
1763 wmiconfig \96setBTstatus <streamType> <status>
1764
1765 Command Parameters
1766 {
1767 A_UINT8 streamType; Stream type
1768 A_UINT8 status; Stream status
1769 }WMI_SET_BT_STATUS_CMD;
1770
1771 Command Values
1772 {
1773 BT_STREAM_UNDEF = 0
1774 BT_STREAM_SCO
1775 SCO stream
1776 BT_STREAM_A2DP
1777 A2DP stream
1778 BT_STREAM_MAX
1779 } BT_STREAM_TYPE;
1780
1781 {
1782 BT_STATUS_UNDEF = 0
1783 BT_STATUS_START
1784 BT_STATUS_STOP
1785 BT_STATUS_RESUME
1786 BT_STATUS_SUSPEND
1787 BT_STATUS_MAX
1788 } BT_STREAM_STATUS;
1789
1790 Reset Value
1791 None defined
1792
1793 Restrictions
1794 None
1795
1796 =====================================================================
1797
1798
1799 Name
1800 SET_CHANNEL_PARAMETERS
1801
1802 Synopsis
1803 Configures various WLAN parameters related to channels, sets the wireless mode,
1804 and can restrict the AR6000 device to a subset of available channels. The list of
1805 available channels varies depending on the wireless mode and the regulatory
1806 domain. The device never operates on a channel outside of its regulatory domain. The
1807 device starts to scan the list of channels right after this command.
1808
1809 Command
1810 wmiconfig eth1 --wmode <mode> <list>
1811
1812 Command Parameters
1813 UINT8 phyMode See Values below.
1814 UINT8 numberOfChannels
1815 Number of channels in the channel array that
1816 follows. If = 0, then the device uses all of the
1817 channels permitted by the regulatory domain
1818 and by the specified phyMode.
1819 UINT16 channel[numberOfChannels]
1820 Array listing the subset of channels (expressed
1821 as frequencies in MHz) the host wants the
1822 device to use. Any channel not permitted by
1823 the specified phyMode or by the specified
1824 regulatory domain is ignored by the device.
1825
1826 Command Values
1827 phyMode = {
1828 Wireless mode
1829 11a = 0x01
1830 11g = 0x02
1831 11ag = 0x03
1832 11b = 0x04
1833 11g only = 0x05
1834 }
1835
1836 Reset Values
1837 phyMode
1838 11ag
1839 802.11a/g modules
1840 11g
1841 802.11g module
1842 channels
1843 Defaults to all channels permitted by the
1844 current regulatory domain.
1845
1846 Restrictions
1847 This command, if issued, should be issued soon after reset and prior to the first
1848 connection. This command should only be issued in the DISCONNECTED state.
1849
1850 =====================================================================
1851
1852
1853 Name
1854 SET_DISC_TIMEOUT
1855
1856 Synopsis
1857 The host uses this command to configure the amount of time that the AR6000 should
1858 spend when it attempts to reestablish a connection after losing link with its current
1859 BSS. If this time limit is exceeded, the AR6000 send a \93DISCONNECT\94 event. After
1860 sending the \93DISCONNECT\94 event the AR6000 continues to attempt to reestablish a
1861 connection, but they do so at the interval corresponding to a foreground scan as
1862 established by the \93SET_SCAN_PARAMS\94 command.
1863
1864 A timeout value of 0 indicates that the AR6000 will disable all autonomous roaming,
1865 so that the AR6000 will not perform any scans after sending a \93DISCONNECT\94
1866 event to the host. The state is maintained until a shutdown or host sets different
1867 timeout value from 0.
1868
1869 Command
1870 wmiconfig eth1 --disc=<timeout in seconds>
1871
1872 Command Parameters
1873 UINT8 disconnectTimeout
1874 Specifies the time limit (in seconds) after
1875 which a failure to reestablish a connection
1876 results in a \93DISCONNECT\94 event
1877
1878 Command Values
1879 None
1880
1881 Reset Values
1882 disconnectTimeout is 10 seconds
1883
1884 Restrictions
1885 This command can only be issued while in a DISCONNECTED state
1886
1887 =====================================================================
1888
1889
1890 Name
1891 SET_FIXRATES
1892
1893 Synopsis
1894 By default, the AR6000 device uses all PHY rates based on mode of operation. If the
1895 host application requires the device to use subset of supported rates, it can set those
1896 rates with this command. In 802.11g mode, the AR6000 device takes the entire
1897 802.11g basic rate set and the rates specified with this command and uses it as the
1898 supported rate set.
1899
1900 This rate set is advertised in the probe request and the assoc/re-assoc request as
1901 supported rates. Upon successful association, the device modifies the rate set pool
1902 using the: intersection of AP-supported rates with the union of the 802.11g basic rate
1903 set and rates set using this command. The device picks transmission rates from this
1904 pool based on a rate control algorithm.
1905
1906 Command
1907 TBD
1908
1909 Command Parameters
1910 A_UINT16 fixRateMask;
1911 The individual bit is an index for rate table,
1912 and setting the that index to 1 would set that
1913 corresponding rate. E.g., fixRateMask = 9
1914 (1001) sets 1 Mbps and 11 Mbps.
1915
1916 Command Values
1917 None
1918
1919 Reset Value
1920 None defined
1921
1922 Restrictions
1923 None
1924
1925 See Also
1926 \93GET_FIXRATES\94
1927
1928 =====================================================================
1929
1930
1931 Name
1932 SET_WHAL_PARAM
1933
1934 Synopsis
1935 An internal AR6000 command that is used to set certain hardware parameters. The
1936 description of this command is in $WORKAREA/include/halapi.h.
1937
1938 Command
1939 TBD
1940
1941 Command Parameters
1942 ATH_HAL_SETCABTO_CMDID
1943 Sets the timeout waiting for the multicast
1944 traffic after a DTIM beacon (in TUs).
1945
1946 Command Values
1947 None
1948
1949 Reset Value
1950 Default = 10 TUs
1951
1952 Restrictions
1953 This command should be executed before issuing a connect command.
1954
1955 =====================================================================
1956
1957
1958 Name
1959 SET_HOST_SLEEP_MODE
1960
1961 Synopsis
1962 The host uses this command to set the host mode to asleep or awake. All packets are
1963 delivered to the host when the host mode is awake. When host mode is asleep, only if
1964 WoW is enabled and the incoming packet matches one of the specified WoW
1965 patterns, will the packet be delivered to the host. The host will also be woken up by
1966 the target for pattern-matching packets and important events.
1967
1968 Command
1969 wmiconfig \96sethostmode=<asleep/awake>
1970
1971 Command Parameters
1972 A_BOOL awake Set the host mode to awake
1973 A_BOOL asleep Set the host mode to asleep
1974
1975 Command Values
1976 1 = awake, 0 = asleep
1977
1978 Reset Value
1979 None defined (default host mode is awake)
1980
1981 Restrictions
1982 None
1983
1984
1985 =====================================================================
1986
1987 Name
1988 SET_IBSS_PM_CAPS
1989
1990 Synopsis
1991 Used to support a non-standard power management scheme for an ad hoc wireless
1992 network consisting of up to eight stations (STAs) that support this form of power
1993 saving (e.g., Atheros-based STAs). A thorough understanding of IEEE 802.11 ad hoc
1994 networks is required to use this command effectively.
1995
1996 Command
1997 wmiconfig eth1 --ibsspmcaps --ps=<enable/disable>
1998 --aw=<ATIM Windows in ms>
1999 --ttl=<Time to live in number of beacon periods>
2000 --to=<timeout in ms>
2001
2002 Command Parameters
2003 UINT8 power_saving
2004 = 0
2005 The non-standard power saving scheme is
2006 disabled and maximum throughput (with no
2007 power saving) is obtained.
2008
2009 = 1
2010 Ad hoc power saving scheme is enabled (but
2011 throughput may be decreased)
2012
2013 UINT16 atim_windows
2014 Specifies the length (in ms) of the ad hoc traffic
2015 indication message (ATIM) windows used in an ad
2016 hoc network. All Atheros-based STAs that join the
2017 network use this duration ATIM window.
2018
2019 The duration is communicated between wireless
2020 STAs through an IE in beacons and probe responses.
2021
2022 The host sets atim_windows to control trade-offs
2023 between power use and throughput. The value
2024 chosen should be based on the beacon interval (see
2025 the \93SET_BEACON_INT\94 command) on the
2026 expected number of STAs in the IBSS, and on the
2027 amount of traffic and traffic patterns between STAs.
2028
2029 UINT16 timeout_value
2030 Specifies the timeout (in ms). The value is the same
2031 for all ad hoc connections, but tracks separately for
2032 each.
2033
2034 Applicable only for a beacon period and used to
2035 derive actual timeout values on the Tx and Rx sides.
2036 On the Tx side, the value defines a window during
2037 which the STA accepts the frame(s) from the host for a
2038 particular connection. Until closed, the window
2039 restarts with every frame received from the host. On
2040 the Rx side, indicates the time until which the STA
2041 continues accepting frames from a particular
2042 connection. The value resets with every frame
2043 received. The value can be used to determine the
2044 trade off between throughput and power.
2045 Default = 10 ms
2046
2047 UINT8 ttl
2048 Specifies the value in number of beacon periods. The
2049 value is used to set a limit on the time until which a
2050 frame is kept alive in the AR6001 before being
2051 discarded. Default = 5
2052
2053 Command Values
2054 None
2055
2056 Reset Values
2057 By default, power_saving is enabled with atim_window = 20 ms
2058
2059 Restrictions
2060 Can only be issued before the AR6000 starts an ad hoc network
2061
2062 See Also
2063 \93SET_BEACON_INT\94
2064
2065 =====================================================================
2066
2067
2068
2069 Name
2070 SET_LISTEN_INT
2071
2072 Synopsis
2073 The host uses this command to request a listen interval, which determines how often
2074 the AR6000 device should wake up and listen for traffic. The listen interval can be set
2075 by the TUs or by the number of beacons. The device may not be able to comply with
2076 the request (e.g., if the beacon interval is greater than the requested listen interval, the
2077 device sets the listen interval to the beacon interval). The actual listen interval used
2078 by the device is available in the \93CONNECT\94 event.
2079
2080 Command
2081 wmiconfig eth1 --listen=<#of TUs, can range from 15 to 3000>
2082
2083 --listenbeacons=<#of beacons, can range from 1 to 50>
2084
2085 Command Parameters
2086 UINT16 listenInterval
2087 Specifies the listen interval in Kms
2088 (1024 ms), ranging from 100 to 1000
2089
2090 UINT16 listenbeacons
2091 Specifies the listen interval in beacons,
2092 ranging from 1 to 50
2093
2094 Command Values
2095 None
2096
2097 Reset Values
2098 The device sets the listen interval equal to the beacon interval of the AP it associates
2099 to.
2100
2101 Restrictions
2102 None
2103
2104 =====================================================================
2105
2106
2107 Name
2108 SET_LPREAMBLE
2109
2110 Synopsis
2111 Overrides the short preamble capability of the AR6000 device
2112
2113 Command
2114 TBD
2115
2116 Command Parameters
2117 WMI_LPREAMBLE_DISABLED
2118 The device is short-preamble capable
2119
2120 WMI_LPREAMBLE_ENABLED
2121 The device supports only the long-
2122 preamble mode
2123
2124 Command Values
2125 None
2126
2127 Reset Value
2128 None defined
2129
2130 Restrictions
2131 None
2132
2133
2134 =====================================================================
2135
2136 Name
2137 SET_MAX_SP_LEN
2138
2139 Synopsis
2140 Set the maximum service period; indicates the number of packets the AR6001 can
2141 receive from the AP when triggered
2142
2143 Command
2144 wmiconfig eth1 --setMaxSPLength <maxSPLen>
2145
2146 Command Parameters
2147 UINT8 maxSPLen
2148 An APSD_SP_LEN_TYPE value
2149
2150 Command Values
2151 {
2152 DELIVER_ALL_PKT = 0x0
2153 DELIVER_2_PKT = 0x1
2154 DELIVER_4_PKT = 0x2
2155 DELIVER_6_PKT = 0x3
2156 }APSD_SP_LEN_TYPE
2157
2158
2159 Reset Values
2160 maxSPLen is DELIVER_ALL_PKT
2161
2162 Restrictions
2163 None
2164
2165 =====================================================================
2166
2167
2168 Name
2169 SET_OPT_MODE
2170
2171 Synopsis
2172 Special feature, sets the special mode on/off
2173
2174 Command
2175 wmiconfig eth1 --mode <mode>
2176 Set the optional mode, where mode is special or off
2177
2178 Command Parameters
2179 enum {
2180 SPECIAL_OFF
2181 SPECIAL_ON
2182 } OPT_MODE_TYPE;
2183
2184 Command Values
2185
2186 Reset Value
2187 Mode = Off
2188
2189 Restrictions
2190 None
2191
2192 =====================================================================
2193
2194
2195 Name
2196 SET_PMKID
2197
2198 Synopsis
2199 The host uses this command to enable or disable a pairwise master key ID (PMKID)
2200 in the AR6000 PMKID cache. The AR6000 clears its PMKID cache on receipt of a
2201 DISCONNECT command from the host. Individual entries in the cache might be
2202 deleted as the AR6000 detect new APs and decides to remove old ones.
2203
2204 Command
2205 wmiconfig eth1 --setbsspmkid --bssid=<aabbccddeeff>
2206 --bsspmkid=<pmkid>
2207
2208 Command Parameters
2209 UINT8 bssid[6]
2210 The MAC address of the AP that the
2211 PMKID corresponds to (6 bytes in hex
2212 format)
2213
2214 UINT8 enable
2215 Either PMKID_DISABLE (0) to disable
2216 the PMKID or PMKID_ENABLE (1) to
2217 enable it (16 bytes in hex format)
2218
2219 UINT8 pmkid[16]
2220 Meaningful only if enable is
2221 PMKID_ENABLE, when it is the PMKID
2222 that the AR6000 should use on the next
2223 reassociation with the specified AP
2224
2225 Command Values
2226 enable
2227 = 0 (disable), 1 (enable)
2228 PKMID enabled/disabled
2229
2230 Reset Values
2231 None defined
2232
2233 Restrictions
2234 Only supported in infrastructure networks
2235
2236 =====================================================================
2237
2238
2239 Name
2240 SET_PMKID_LIST_CMD
2241
2242 Synopsis
2243 Configures the list of PMKIDs on the firmware.
2244
2245 Command
2246 wmiconfig --setpmkidlist --numpmkid=<n> --pmkid=<pmkid_1>
2247 ... --pmkid=<pmkid_n>
2248
2249 Where n is the number of pmkids (maximum = 8) and pmkid_i is the ith pmkid (16
2250 bytes in hex format)
2251
2252 Command Parameters
2253 {
2254 A_UINT8 pmkid[WMI_PMKID_LEN];
2255 } __ATTRIB_PACK WMI_PMKID;
2256
2257 {
2258 A_UINT32 numPMKID;
2259 WMI_PMKID pmkidList[WMI_MAX_PMKID_CACHE];
2260 } __ATTRIB_PACK WMI_SET_PMKID_LIST_CMD;
2261
2262 Command Values
2263 None
2264
2265 Reset Values
2266 None
2267
2268 Restrictions
2269 Supported only in infrastructure modes
2270
2271 =====================================================================
2272
2273
2274 Name
2275 SET_POWER_MODE
2276
2277 Synopsis
2278 The host uses this command to provide the AR6000 device with guidelines on the
2279 desired trade-off between power utilization and performance.
2280
2281 In normal power mode, the device enters a sleep state if they have nothing to do,
2282 which conserves power but may cost performance as it can take up to 2 ms to
2283 resume operation after leaving sleep state.
2284
2285 In maximum performance mode, the device never enters sleep state, thus no time
2286 is spent waking up, resulting in higher power consumption and better
2287 performance.
2288
2289 Command
2290 TBD
2291
2292 Command Parameters
2293 UINT8 powerMode
2294 WMI_POWER_MODE value
2295 {
2296 REC_POWER = 1
2297 (Recommended setting) Tries to conserve
2298 power without sacrificing performance
2299 MAX_PERF_POWER = 2
2300 Setting that maximizes performance at
2301 the expense of power
2302
2303 All other values are reserved
2304 } WMI_POWER_MODE
2305
2306 Command Values
2307 See command parameters
2308
2309 Reset Values
2310 powerMode is REC_POWER
2311
2312 Restrictions
2313 This command should only be issued in the DISCONNECTED state for the
2314 infrastructure network.
2315
2316 For a PM-disabled ad hoc network, the power mode should remain in
2317 MAX_PERF_POWER.
2318
2319 For a PM-enabled ad hoc network, the device can have REC_POWER or
2320 MAX_PERF_POWER set, but either way it must follow the power save ad hoc
2321 protocol. The host can change power modes in the CONNECTED state.
2322
2323 Host changes to the PS setting when the STA is off the home channel take no effect
2324 and cause a TARGET_PM_FAIL event.
2325
2326 =====================================================================
2327
2328
2329 Name
2330 SET_POWER_PARAMS
2331
2332 Synopsis
2333 The host uses this command to configure power parameters
2334
2335 Command
2336 wmiconfig eth1 --pmparams --it=<ms> --np=<number of PS POLL>
2337 --dp=<DTIM policy: ignore/normal/stick>
2338
2339 Command Parameters
2340 UINT16 idle_period
2341 Length of time (in ms) the AR6000 device
2342 remains awake after frame Rx/Tx before going
2343 to SLEEP state
2344
2345 UINT16 pspoll_number
2346 The number of PowerSavePoll (PS-poll)
2347 messages the device should send before
2348 notifying the AP it is awake
2349
2350 UINT16 dtim_policy
2351 A WMI_POWER_PARAMS_CMD value
2352
2353 {
2354 IGNORE_DTIM =1
2355 The device does not listen to any content after
2356 beacon (CAB) traffic
2357 NORMAL_DTIM = 2
2358 DTIM period follows the listen interval (e.g., if
2359 the listen interval is 4 and the DTIM period is 2,
2360 the device wakes up every fourth beacon)
2361 STICK_DTIM = 3
2362 Device attempt to receive all CAB traffic (e.g., if
2363 the DTIM period is 2 and the listen interval is 4,
2364 the device wakes up every second beacon)
2365 } WMI_POWER_PARAMS_CMD
2366
2367 Command Parameters
2368 See command parameters
2369
2370 Reset Values
2371 idle_period
2372 200 ms
2373
2374 pspoll_number
2375 = 1
2376
2377 dtim_policy
2378 = NORMAL_DTIM
2379
2380 Restrictions
2381 None
2382
2383 =====================================================================
2384
2385
2386 Name
2387 SET_POWERSAVE_PARAMS
2388
2389 Synopsis
2390 Set the two AR6000 power save timers (PS-POLL timer and APSD trigger timer) and
2391 the two ASPD TIM policies
2392
2393 Command
2394 wmiconfig eth1--psparams --psPollTimer=<psPollTimeout in ms>
2395 --triggerTimer=<triggerTimeout in ms> --apsdTimPolicy=<ignore/
2396 adhere> --simulatedAPSDTimPolicy=<ignore/adhere>
2397
2398 Command Parameters
2399 typedef struct {
2400 A_UINT16 psPollTimeout;
2401 Timeout (in ms) after sending PS-POLL; the
2402 AR6000 device sleeps if it does not receive a
2403 data packet from the AP
2404
2405 A_UINT16 triggerTimeout;
2406 Timeout (in ms) after sending a trigger; the
2407 device sleeps if it does not receive any data
2408 or null frame from the AP
2409
2410 APSD_TIM_POLICY apsdTimPolicy;
2411 TIM behavior with queue APSD enabled
2412
2413 APSD_TIM_POLICY simulatedAPSD
2414
2415 TimPolicy;
2416 TIM behavior with simulated APSD
2417 enabled
2418
2419 typedef enum {
2420 IGNORE_TIM_ALL_QUEUES_APSD = 0,
2421 PROCESS_TIM_ALL_QUEUES_APSD = 1,
2422 IGNORE_TIM_SIMULATED_APSD = 2,
2423 POWERSAVE_TIMERS_POLICY = 3,
2424 } APSD_TIM_POLICY;
2425
2426 Command Values
2427 None
2428
2429 Reset Values
2430 psPollTimeout is 50 ms; triggerTimeout is 10 ms;
2431 apsdTimPolicy = IGNORE_TIM_ALL_QUEUES_APSD;
2432 simulatedAPSDTimPolicy = POWERSAVE_TIMERS_POLICY
2433
2434 Restrictions
2435 When this command is used, all parameters must be set; this command does not
2436 allow setting only one parameter.
2437
2438 =====================================================================
2439
2440
2441 Name
2442 SET_PROBED_SSID
2443
2444 Synopsis
2445 The host uses this command to provide a list of up to MAX_PROBED_SSID_INDEX
2446 (six) SSIDs that the AR6000 device should actively look for. It lists the active SSID
2447 table. By default, the device actively looks for only the SSID specified in the
2448 \93CONNECT_CMD\94 command, and only when the regulatory domain allows active
2449 probing. With this command, specified SSIDs are probed for, even if they are hidden.
2450
2451 Command
2452 wmiconfig eth1 --ssid=<ssid> [--num=<index>]
2453
2454 Command Parameters
2455 {
2456 A_UINT8 numSsids
2457 A number from 0 to
2458 MAX_PROBED_SSID_INDEX indicating
2459 the active SSID table entry index for this
2460 command (if the specified entry index
2461 already has an SSID, the SSID specified in
2462 this command replaces it)
2463
2464 WMI_PROBED_SSID_INFO probedSSID[1]
2465 } WMI_PROBED_SSID_CMD
2466
2467 {
2468 A_UINT8 flag
2469 WMI_SSID_FLAG indicates the current
2470 entry in the active SSID table
2471 A_UINT8 ssidLength
2472 Length of the specified SSID in bytes.
2473 If = 0, the entry corresponding to the
2474 index is erased
2475 A_UINT8 ssid[32]
2476 SSID string actively probed for when
2477 permitted by the regulatory domain
2478 } WMI_PROBED_SSID_INFO
2479
2480 Command Values
2481 WMI_SSID_FLAG
2482 {
2483 DISABLE_SSID_FLAG = 0
2484 Disables entry
2485 SPECIFIC_SSID_FLAG = 1
2486 Probes specified SSID
2487 ANY_SSID_FLAG = 2
2488 Probes for any SSID
2489 } WMI_SSID_FLAG
2490
2491 Reset Value
2492 The entries are unused.
2493
2494 Restrictions
2495 None
2496
2497 =====================================================================
2498
2499
2500 Name
2501 SET_REASSOC_MODE
2502
2503 Synopsis
2504 Specify whether the disassociated frame should be sent or not upon reassociation.
2505
2506 Command
2507 wmiconfig eth1 --setreassocmode <mode>
2508
2509 Command Parameters
2510 UINT8 mode
2511
2512 Command Values
2513 mode
2514 = 0x00
2515 Send disassoc to a previously connected AP
2516 upon reassociation
2517 = 0x01
2518 Do not send disassoc to previously connected
2519 AP upon reassociation
2520
2521 Reset Values
2522 None defined
2523
2524 Restrictions
2525 None
2526
2527
2528 =====================================================================
2529
2530 Name
2531 SET_RETRY_LIMITS
2532
2533 Synopsis
2534 Allows the host to influence the number of times that the AR6000 device should
2535 attempt to send a frame before they give up.
2536
2537 Command
2538 wmiconfig --setretrylimits <frameType> <trafficClass> <maxRetries>
2539 <enableNotify>
2540
2541 Command Parameters
2542 {
2543 UINT8 frameType
2544 A WMI_FRAMETYPE specifying
2545 which type of frame is of interest.
2546 UINT8 trafficClass
2547 Specifies a traffic class (see
2548 \93CREATE_PSTREAM\94). This
2549 parameter is only significant when
2550 frameType = DATA_FRAMETYPE.
2551 UINT8 maxRetries
2552 Maximum number of times the
2553 device attempts to retry a frame Tx,
2554 ranging from WMI_MIN_RETRIES
2555 (2) to WMI_MAX_RETRIES (15). If
2556 the special value 0 is used,
2557 maxRetries is set to 15.
2558 A_UINT8 enableNotify
2559 Notify when enabled
2560 } WMI_RETRY_LIMIT_INFO
2561
2562 {
2563 A_UINT8 numEntries
2564 WMI_RETRY_LIMIT_INFO retryLimitInfo[1]
2565 } WMI_SET_RETRY_LIMITS_CMD
2566
2567 Command Values
2568 {
2569 MGMT_FRAMETYPE = 0 Management frame
2570 CONTROL_FRAMETYPE = 1 Control frame
2571 DATA_FRAMETYPE = 2 Data frame
2572 } WMI_FRAMETYPE
2573
2574 Reset Values
2575 Retries are set to 15
2576
2577 Restrictions
2578 None
2579
2580 =====================================================================
2581
2582
2583 Name
2584 SET_ROAM_CTRL
2585
2586 Synopsis
2587 Affects how the AR6000 device selects a BSS. The host uses this command to set and
2588 enable low RSSI scan parameters. The time period of low RSSI background scan is
2589 mentioned in scan period. Low RSSI scan is triggered when the current RSSI
2590 threshold (75% of current RSSI) is equal to or less than scan threshold.
2591
2592 Low RSSI roam is triggered when the current RSSI threshold falls below the roam
2593 threshold and roams to a better AP by the end of the scan cycle. During Low RSSI
2594 roam, if the STA finds a new AP with an RSSI greater than roam RSSI to floor, during
2595 scan, it roams immediately to it instead of waiting for the end of the scan cycle. See
2596 also \93Scan and Roam\94 on page C-1.
2597
2598 Command
2599 wmiconfig --roam <roamctrl> <info>, where info is <scan period>
2600 <scan threshold> <roam threshold> <roam rssi floor>
2601
2602 Command Parameters
2603 A_UINT8 roamCtrlType;
2604
2605 Command Values
2606 WMI_FORCE_ROAM = 1
2607 Roam to the specified BSSID
2608
2609 WMI_SET_ROAM_MODE = 2
2610 Default, progd bias, no roam
2611
2612 WMI_SET_HOST_BIAS = 3
2613 Set the host bias
2614
2615 WMI_SET_LOWRSSI_SCAN_PARAMS = 4
2616 Info parameters
2617
2618 A_UINT8 bssid[ATH_MAC_LEN];
2619 WMI_FORCE_ROAM
2620
2621 A_UINT8 roamMode;
2622 WMI_SET_ROAM_MODE
2623
2624 A_UINT8 bssBiasInfo;
2625 WMI_SET_HOST_BIAS
2626
2627 A_UINT16 lowrssi_scan_period;
2628 WMI_SET_LOWRSSI_SCAN_PARAMS
2629
2630 A_INT16
2631 lowrssi_scan_threshold;
2632 WMI_SET_LOWRSSI_SCAN_PARAMS
2633
2634 A_INT16 lowrssi_roam_threshold;
2635 WMI_SET_LOWRSSI_SCAN_PARAMS
2636
2637 A_UINT8 roam_rssi_floor;
2638 WMI_SET_LOWRSSI_SCAN_PARAMS
2639
2640 Reset Value
2641 None defined (default lowrssi scan is disabled. Enabled only when scan period is set.)
2642
2643 Restrictions
2644 None
2645
2646 =====================================================================
2647
2648
2649 Name
2650 SET_RTS
2651
2652 Synopsis
2653 Decides when RTS should be sent.
2654
2655 Command
2656 wmiconfig eth1 --setRTS <pkt length threshold>
2657
2658 Command Parameters
2659 A_UINT16
2660 threshold;
2661 Command parameter threshold in bytes. An RTS is
2662 sent if the data length is more than this threshold.
2663 The default is to NOT send RTS.
2664
2665 Command Values
2666 None
2667
2668 Reset Value
2669 Not to send RTS.
2670
2671 Restrictions
2672 None
2673
2674
2675 =====================================================================
2676
2677 Name
2678 SET_SCAN_PARAMS
2679
2680 Synopsis
2681 The host uses this command to set the AR6000 scan parameters, including the duty
2682 cycle for both foreground and background scanning. Foreground scanning takes
2683 place when the AR6000 device is not connected, and discovers all available wireless
2684 networks to find the best BSS to join. Background scanning takes place when the
2685 device is already connected to a network and scans for potential roaming candidates
2686 and maintains them in order of best to worst. A second priority of background
2687 scanning is to find new wireless networks.
2688
2689 The device initiates a scan when necessary. For example, a foreground scan is always
2690 started on receipt of a \93CONNECT_CMD\94 command or when the device cannot find
2691 a BSS to connect to. Foreground scanning is disabled by default until receipt of a
2692 CONNECT command. Background scanning is enabled by default and occurs every
2693 60 seconds after the device is connected.
2694
2695 The device implements a binary backoff interval for foreground scanning when it
2696 enters the DISCONNECTED state after losing connectivity with an AP or when a
2697 CONNECT command is received. The first interval is ForegroundScanStartPeriod,
2698 which doubles after each scan until the interval reaches ForegroundScanEndPeriod.
2699 If the host terminates a connection with DISCONNECT, the foreground scan period
2700 is ForegroundScanEndPeriod. All scan intervals are measured from the time a full
2701 scan ends to the time the next full scan starts. The host starts a scan by issuing a
2702 \93START_SCAN\94 command. See also \93Scan and Roam\94 on page C-1.
2703
2704 Command
2705 wmiconfig eth1 --scan --fgstart=<sec> --fgend=<sec> --bg=<sec> --
2706 act=<msec> --pas=<msec> --sr=<short scan ratio> --scanctrlflags
2707 <connScan> <scanConnected> <activeScan> <reportBSSINFO>
2708
2709 Command Parameters
2710 UINT16 fgStartPeriod
2711 First interval used by the device when it
2712 disconnects from an AP or receives a
2713 CONNECT command, specified in seconds (0\96
2714 65535). If = 0, the device uses the reset value.
2715 If = 65535, the device disables foreground
2716 scanning.
2717
2718 UINT16 fgEndPeriod
2719 The maximum interval the device waits between
2720 foreground scans specified in seconds (from
2721 ForegroundScanStartPeriod to 65535). If = 0, the
2722 device uses the reset value.
2723
2724 UINT16 bgScanPeriod
2725 The period of background scan specified in
2726 seconds (0\9665535). By default, it is set to the reset
2727 value of 60 seconds. If 0 or 65535 is specified, the
2728 device disables background scanning.
2729
2730 UINT16 maxactChDwellTime
2731 The period of time the device stays on a
2732 particular channel while active scanning. It is
2733 specified in ms (10\9665535). If the special value of
2734 0 is specified, the device uses the reset value.
2735
2736 UINT16 PasChDwellTime
2737 The period of time the device remains on a
2738 particular channel while passive scanning. It is
2739 specified in ms (10\9665535). If the special value of
2740 0 is specified, the device uses the reset value.
2741
2742 UINT8 shortScanRatio
2743 Number of short scans to perform for each
2744 long scan.
2745
2746 UINT8 scanCtrlFlasgs
2747
2748 UINT16 minactChDwellTime
2749 Specified in ms
2750
2751 UINT32 maxDFSchActTime
2752 The maximum time a DFS channel can stay
2753 active before being marked passive, specified in
2754 ms.
2755
2756 Command Values
2757 None
2758
2759 Reset Values
2760 ForegroundScanStart
2761 Period
2762 1 sec
2763
2764 ForegroundScanEndPeriod
2765 60 sec
2766
2767 BackgroundScanPeriod
2768 60 sec
2769
2770 ActiveChannelDwellTime
2771 105 ms
2772
2773 =====================================================================
2774
2775
2776 Name
2777 SET_TKIP_COUNTERMEASURES
2778
2779 Synopsis
2780 The host issues this command to tell the target whether to enable or disable TKIP
2781 countermeasures.
2782
2783 Command
2784 TBD
2785
2786 Command Parameters
2787 UINT8 WMI_TKIP_CM_ENABLE
2788 Enables the countermeasures
2789
2790
2791 UINT8 TKIP_CM_DISABLE
2792 Disables the countermeasures
2793
2794 Command Values
2795 None
2796
2797 Reset Values
2798 By default, TKIP MIC reporting is disabled
2799
2800 Restrictions
2801 None
2802
2803 =====================================================================
2804
2805
2806 Name
2807 SET_TX_PWR
2808
2809 Synopsis
2810 The host uses this command to specify the Tx power level of the AR6000. Cannot be
2811 used to exceed the power limit permitted by the regulatory domain. The maximum
2812 output power is limited in the chip to 31.5 dBm; the range is 0 \96 31.5 dbm.
2813
2814 Command
2815 wmiconfig --power <dbM>
2816
2817 Command Parameters
2818 UINT8 dbM
2819 The desired Tx power specified in dbM.
2820 If = 0, the device chooses the maximum
2821 permitted by the regulatory domain.
2822
2823 Command Values
2824 None
2825
2826 Reset Values
2827 The maximum permitted by the regulatory domain
2828
2829 Restrictions
2830 None
2831
2832 See Also
2833 \93GET_TX_PWR\94
2834
2835
2836 =====================================================================
2837
2838 Name
2839 SET_VOICE_PKT_SIZE
2840
2841 Synopsis
2842 If an AP does not support WMM, it has no way to differentiate voice from data.
2843 Because the voice packet is typically small, packet in size less than voicePktSize are
2844 assumed to be voice, otherwise it is treated as data.
2845
2846 Command
2847 wmiconfig eth1 --setVoicePktSize <size-in-bytes>
2848
2849 Command Parameters
2850 UINT16 voicePktSize
2851 Packet size in octets
2852
2853 Command Values
2854 None
2855
2856 Reset Values
2857 voicePktSize default is 400 bytes
2858
2859 Restrictions
2860 No effect if WMM is unavailable
2861
2862
2863 =====================================================================
2864
2865 Name
2866 SET_WMM
2867
2868 Synopsis
2869 Overrides the AR6000 device WMM capability
2870
2871 Command
2872 wmiconfig eth1 --setwmm <enable>
2873
2874 Command Parameters
2875 WMI_WMM_ENABLED
2876 Enables WMM
2877
2878 WMI_WMM_DISABLED
2879 Disables WMM support
2880
2881 Command Values
2882 0 = disabled
2883 1 = enabled
2884
2885 Reset Value
2886 WMM Disabled
2887
2888 Restrictions
2889 None
2890
2891
2892 =====================================================================
2893
2894 Name
2895 SET_WMM_TXOP
2896
2897 Synopsis
2898 Configures TxOP Bursting when sending traffic to a WMM capable AP
2899
2900 Command
2901 wmiconfig eth1 --txopbursting <burstEnable>
2902
2903 <burstEnable>
2904 = 0
2905 Disallow TxOp bursting
2906
2907 = 1
2908 Allow TxOp bursting
2909
2910 Command Parameters
2911 txopEnable
2912 = WMI_TXOP_DISABLED
2913 Disabled
2914
2915 = WMI_TXOP_ENABLED
2916 Enabled
2917
2918 Command Values
2919 txopEnable
2920 = 0 Disabled
2921
2922 = 1 Enabled
2923
2924 Reset Value
2925 Bursting is off by default
2926
2927 Restrictions
2928 None
2929
2930 =====================================================================
2931
2932
2933 Name
2934 SET_WOW_MODE
2935
2936 Synopsis
2937 The host uses this command to enable or disable the WoW mode. When WoW mode
2938 is enabled and the host is asleep, pattern matching takes place at the target level.
2939 Only packets that match any of the pre-specified WoW filter patterns, will be passed
2940 up to the host. The host will also be woken up by the target. Packets which do not
2941 match any of the WoW patterns are discarded.
2942
2943 Command
2944 wmiconfig \96setwowmode <enable/disable>
2945
2946 Command Parameters
2947 A_BOOL enable_wow
2948 Enable or disable WoW:
2949
2950 Command Values
2951 = 0
2952 Disable WoW
2953
2954 = 1
2955 Enable WoW
2956
2957 Reset Value
2958 None defined (default WoW mode is disabled).
2959
2960 Restrictions
2961 None
2962
2963 See Also
2964 \93GET_WOW_LIST\94
2965
2966
2967 =====================================================================
2968
2969 Name
2970 SET_WSC_STATUS
2971
2972 Synopsis
2973 The supplicant uses this command to inform the target about the status of the WSC
2974 registration protocol. During the WSC registration protocol, a flag is set so the target
2975 bypasses some of the checks in the CSERV module. At the end of the registration, this
2976 flag is reset.
2977
2978 Command
2979 N/A
2980
2981 Command Parameters
2982 A_BOOL status
2983 = 1 WSC registration in progress
2984 = 0 WSC protocol not running
2985
2986 Reply Parameters
2987 None
2988
2989 Reset Value
2990 None defined (default = 0)
2991
2992 Restrictions
2993 None
2994
2995
2996 =====================================================================
2997
2998 Name
2999 SNR_THRESHOLD_PARAMS
3000
3001 Synopsis
3002 Configures how the AR6000 device monitors and reports SNR of the connected BSS,
3003 used as a link quality metric.
3004
3005 Command
3006 --snrThreshold <weight> <upper_threshold_1> ...
3007 <upper_threshold_4> <lower_threshold_1> ... <lower_threshold_4>
3008 <pollTimer>
3009
3010 Command Parameters
3011 <weight>
3012 Share with rssiThreshold. Range in [1, 16], used
3013 in the formula to calculate average RSSI
3014
3015 <upper_threshold_x>
3016 Above thresholds expressed in db, in ascending
3017 order
3018
3019 <lower_threshold_x>
3020 Below thresholds expressed in db, in ascending
3021 order
3022
3023 <pollTimer>
3024 The signal strength sampling frequency in
3025 seconds. If polltime = 0, signal strength
3026 sampling is disabled
3027
3028 Command Values
3029 None
3030
3031 Reset Value
3032 None defined
3033
3034 Restrictions
3035 None
3036
3037 =====================================================================
3038
3039
3040 Name
3041 START_SCAN
3042
3043 Synopsis
3044 The host uses this command to start a long or short channel scan. All future scans are
3045 relative to the time the AR6000 device processes this command. The device performs
3046 a channel scan on receipt of this command, even if a scan was already in progress.
3047 The host uses this command when it wishes to refresh its cached database of wireless
3048 networks. The isLegacy field will be removed (0 for now) because it is achieved by
3049 setting CONNECT_PROFILE_MATCH_DONE in the CONNECT command. See also
3050 \93Scan and Roam\94
3051
3052 Command
3053 wmiconfig eth1 --startscan <scan type> <forcefgscan> 0
3054 <homeDwellTime> <forceScanInterval>
3055
3056 Command Parameters
3057 UINT8 scanType
3058 WMI_SCAN_TYPE
3059
3060 Command Values
3061 {
3062 WMI_LONG_SCAN =0x0
3063 Requests a full scan
3064 WMI_SHORT_SCAN =0x1
3065 Requests a short scan
3066 } WMI_SCAN_TYPE
3067
3068 A_BOOL forceFgScan
3069 forceFgScan
3070 = 0
3071 Disable the foreground scan
3072
3073 forceFgScan
3074 = 1
3075 Forces a foreground scan
3076
3077 A_UINT32 homeDwellTime
3078 Maximum duration in the home
3079 channel (in ms)
3080
3081 A_UINT32 forceScanInterval
3082 Time interval between scans (in ms)
3083
3084 A_UINT32 scanType
3085 WMI_SCAN_TYPE
3086
3087 Reset Value
3088 Disable forcing foreground scan
3089
3090 Restrictions
3091 isLegacy field will no longer be supported (pass as 0 for now)
3092
3093
3094 =====================================================================
3095
3096 Name
3097 SYNCHRONIZE
3098
3099 Synopsis
3100 The host uses this command to force a synchronization point between the command
3101 and data paths
3102
3103 Command
3104 TBD
3105
3106 Command Parameters
3107 None
3108
3109
3110
3111 Command Values
3112 None
3113
3114
3115
3116 Reset Values
3117 None
3118
3119
3120
3121 Restrictions
3122 None
3123
3124
3125 =====================================================================
3126
3127 Name
3128 TARGET_ERROR_REPORT_BITMASK
3129
3130 Synopsis
3131 Allows the host to control \93ERROR_REPORT\94 events from the AR6000 device.
3132
3133 If error reporting is disabled for an error type, a count of errors of that type is
3134 maintained by the device.
3135
3136 If error reporting is enabled for an error type, an \93ERROR_REPORT\94 event is
3137 sent when an error occurs and the error report bit is cleared.
3138
3139 Error counts for each error type are available through the \93GET_TARGET_STATS\94
3140 command.
3141
3142 Command
3143 wmiconfig eth1 --setErrorReportingBitmask
3144
3145 Command Parameters
3146 UINT32 bitmask
3147 Represents the set of
3148 WMI_TARGET_ERROR_VAL error types
3149 enabled for reporting
3150
3151 Command Values
3152 {
3153 WMI_TARGET_PM_ERR_FAIL = 0x00000001
3154 Power save fails (only two cases):
3155 Retry out of null function/QoS null
3156 function to associated AP for PS
3157 indication'
3158 Host changes the PS setting when
3159 STA is off home channel
3160
3161 WMI_TARGET_KEY_NOT_FOUND = 0x00000002
3162 No cipher key
3163 WMI_TARGET_DECRYPTION_ERR = 0x00000004
3164 Decryption error
3165 WMI_TARGET_BMISS = 0x00000008
3166 Beacon miss
3167 WMI_PSDISABLE_NODE_JOIN = 0x00000010
3168 A non-PS-enabled STA joined the
3169 PS-enabled network
3170 WMI_TARGET_COM_ERR = 0x00000020
3171 Host/target communication error
3172 WMI_TARGET_FATAL_ERR = 0x00000040
3173 Fatal error
3174 } WMI_TARGET_ERROR_VAL
3175
3176 Reset Values
3177 Bitmask is 0, and all error reporting is disabled
3178
3179 Restrictions
3180 None
3181
3182
3183 =====================================================================
3184 WMI Events
3185
3186 Event
3187 Description
3188 Page
3189
3190
3191 BSSINFO
3192 Contains information describing BSSs collected during a scan
3193
3194 CAC_EVENTID
3195 Indicates signalling events in admission control
3196
3197 CMDERROR
3198 The AR6000 device encounters an error while attempting to process
3199 a command
3200
3201 CONNECT
3202 The device has connected to a wireless network
3203
3204 DISCONNECT
3205 The device lost connectivity with a wireless network
3206
3207 ERROR_REPORT
3208 An error has occurred for which the host previously requested
3209 notification with the command
3210 \93TARGET_ERROR_REPORT_BITMASK\94
3211
3212 EXTENSION
3213 WMI extension event
3214
3215 GET_PMKID_LIST_EVENT
3216 Created in response to a \93GET_PMKID_LIST_CMD\94 command
3217
3218 GET_WOW_LIST_EVENT
3219 Response to the wmiconfig \93GET_WOW_LIST\94 command to
3220 retrieve the configured WoW patterns
3221
3222 NEIGHBOR_REPORT
3223 Neighbor APs that match the current profile were detected
3224
3225 OPT_RX_FRAME_EVENT
3226 (Special feature) informs the host of the reception of a special frame
3227
3228 PSTREAM_TIMEOUT
3229 A prioritized stream has been idle for a specified interval
3230
3231 READY
3232 The AR6000 device is ready to accept commands
3233
3234 REGDOMAIN
3235 The regulatory domain has changed
3236
3237 REPORT_ROAM_DATA_EVENT
3238 Reports the roam time calculations made by the device
3239 (generated with a special build)
3240 \97
3241
3242 REPORT_STATISTICS
3243 Reply to a \93GET_TARGET_STATS\94 command
3244
3245 ROAM_TBL_EVENT
3246 Reports the roam table
3247
3248 RSSI_THRESHOLD
3249 Signal strength from the connected AP has crossed the threshold
3250 defined in the \93RSSI_THRESHOLD_PARAMS\94 command
3251
3252 SCAN_COMPLETE_EVENT
3253 A scan has completed (added status SCAN_ABORTED in release 2.0)
3254
3255 TEST_EVENT
3256 Event generated by the TCMD
3257
3258 TKIP_MICERROR
3259 TKIP MIC errors were detected
3260
3261 =====================================================================
3262
3263 Name
3264 BSSINFO
3265
3266 Synopsis
3267 Contains information describing one or more BSSs as collected during a scan.
3268 Information includes the BSSID, SSID, RSSI, network type, channel, supported rates,
3269 and IEs. BSSINFO events are sent only after the device receives a beacon or probe-
3270 response frame that pass the filter specified in the \93SET_BSS_FILTER\94 command.
3271 BSSINFO events consist of a small header followed by a copy of the beacon or probe
3272 response frame. The 802.11 header is not present. For formats of beacon and probe-
3273 response frames please consult the IEEE 802.11 specification.
3274
3275 The beacons or probe responses containing the IE specified by the
3276 WMI_BSS_FILTER_CMD are passed to the host through the
3277 WMI_BSSINFO_EVENT. The event carries a 32-bit bitmask that indicates the IEs that
3278 were detected in the management frame. The frame type field has been extended to
3279 indicate action management frames. This would be helpful to route these frames
3280 through the same event mechanism as used by the beacon processing function.
3281
3282 If the bssFilter in the SET_BSS_FILTER matches, then the ieMask is not relevant
3283 because the BSSINFO event is sent to the host. If the bssFilter doesnot match in the
3284 beacons/probe respones, then the ieMask match dictates whether the BSSINFO
3285 event is sent to the host. In the case of action management frames, the ieMask is the
3286 filter that is applied.
3287
3288 Event ID
3289 0x1004
3290
3291 Event Parameters
3292 typedef struct {
3293 A_UINT16 channel;
3294 Specifies the frequency (in MHz) where the
3295 frame was received
3296 A_UINT8 frameType;
3297 A WMI_BI_FTYPE value
3298 A_UINT8 snr;
3299 A_INT16 rssi;
3300 Indicates signal strength
3301 A_UINT8 bssid[ATH_MAC_LEN];
3302 A_UINT32 ieMask;
3303 } _ATTRIB_PACK_WMI_BSS_INFO_HDR;
3304
3305 Beacon or Probe Response Frame
3306
3307 Event Values
3308 {
3309 BEACON_FTYPE = 0x1
3310 Indicates a beacon frame
3311 PROBERESP_FTYPE
3312 Indicates a probe response frame
3313 ACTION_MGMT_FTYPE
3314 } WMI_BI_FTYPE
3315
3316 =====================================================================
3317
3318 Name
3319 CAC_EVENTID
3320
3321 Synopsis
3322 Indicates signalling events in admission control. Events are generated when
3323 admission is accepted, rejected, or deleted by either the host or the AP. If the AP does
3324 not respond to an admission request within a timeout of 500 ms, an event is
3325 generated to the host.
3326
3327 Event ID
3328 0x1011
3329
3330 Event Parameters
3331 UINT8
3332 ac
3333 Access class pertaining to the
3334 signalling
3335
3336 UINT8 cac_indication
3337 Type of indication; indications are
3338 listed in WMI_CAC_INDICATION
3339
3340 UINT8 statusCode
3341 AP response status code for a
3342 request
3343
3344 UINT8 tspecSuggestion[63]
3345 Suggested TSPEC from AP
3346
3347 Event Values
3348 {
3349 CAC_INDICATION_ADMISSION = 0x00
3350 CAC_INDICATION_ADMISSION_RESP = 0x01
3351 CAC_INDICATION_DELETE = 0x02
3352 CAC_INDICATION_NO_RESP = 0x03
3353 } WMI_CAC_INDICATION
3354
3355
3356 =====================================================================
3357
3358
3359 Name
3360 CMDERROR
3361
3362 Synopsis
3363 Indicates that the AR6000 device encountered an error while attempting to process a
3364 command. This error is fatal and indicates that the device requires a reset.
3365
3366 Event ID
3367 0x1005
3368
3369 Event Parameters
3370 UINT16 commandId
3371 Corresponds to the command which generated
3372 the error
3373 UINT8 errorCode
3374 A WMI_ERROR_CODE value
3375
3376 Event Values
3377 {
3378 INVALID_PARAM = 1
3379 Invalid parameter
3380 ILLEGAL_STATE = 2
3381 Illegal state
3382 INTERNAL_ERROR = 3
3383 Internal Error
3384 All other values reserved
3385 } WMI_ERROR_CODE
3386
3387
3388 =====================================================================
3389
3390
3391 Name
3392 CONNECT
3393
3394 Synopsis
3395 Signals that the AR6000 connected to a wireless network. Connection occurs due to a
3396 \93CONNECT\94 command or roaming to a new AP. For infrastructure networks, shows
3397 that the AR6000 successfully performed 802.11 authentication and AP association.
3398
3399 Event ID
3400 0x1002
3401
3402 Event Parameters
3403 UINT16 channel
3404 Channel frequency (in MHz) of the network the
3405 AR6000 are connected to
3406
3407 UINT8 bssid[6]
3408 MAC address of the AP the AR6000 are
3409 connected to or the BSSID of the ad hoc
3410 network
3411
3412 UINT16 listenInterval
3413 Listen interval (in Kms) that the AR6000 are
3414 using
3415
3416 UINT 8 beaconIeLen
3417 Length (in bytes) of the beacon IEs
3418
3419 UINT8 assocInfo
3420 Pointer to an array containing beacon IEs,
3421 followed first by association request IEs then by
3422 association response IEs
3423
3424 UINT8 assocReqLen
3425 Length (in bytes) of the assocReqIEs array
3426
3427 UINT8 assocRespLen
3428 Length (in bytes) of the assocRespIEs array
3429
3430 Event Values
3431 None defined
3432
3433 =====================================================================
3434
3435
3436 Name
3437 DISCONNECT
3438
3439 Synopsis
3440 Signals that the AR6000 device lost connectivity with the wireless network.
3441 DISCONENCT is generated when the device fails to complete a \93CONNECT\94
3442 command or as a result of a transition from a connected state to disconnected state.
3443
3444 After sending the \93DISCONNECT\94 event the device continually tries to re-establish
3445 a connection. A LOST_LINK occurs when STA cannot receive beacons within the
3446 specified time for the SET_BMISS_TIME command.
3447
3448 Event ID
3449 0x1003
3450
3451 Event Parameters
3452 UINT8 disconnect
3453 Reason
3454 A WMI_DISCONNECT_REASON value
3455
3456 UINT8 bssid[6]
3457 Indicates which BSS the device was connected to
3458
3459 UINT8 assocRespLen
3460 Length of the 802.11 association response frame
3461 that triggered this event, or 0 if not applicable
3462
3463 UINT8 assocInfo[assocRespLen]
3464 Copy of the 802.11 association response frame
3465
3466 Event Values
3467 {
3468 NO_NETWORK_AVAIL =0x01
3469 Indicates that the device was unable to
3470 establish or find the desired network
3471 LOST_LINK =0x02
3472 Indicates the devices is no longer receiving
3473 beacons from the BSS it was previously
3474 connected to
3475
3476 DISCONNECT_CMD =0x03
3477 Indicates a \93DISCONNECT\94 command was
3478 processed
3479 BSS_DISCONNECTED =0x04
3480 Indicates the BSS explicitly disconnected the
3481 device. Possible mechanisms include the AP
3482 sending 802.11 management frames
3483 (e.g., disassociate or deauthentication
3484 messages).
3485 AUTH_FAILED =0x05
3486 Indicates that the device failed 802.11
3487 authentication with the BSS
3488 ASSOC_FAILED =0x06
3489 Indicates that the device failed 802.11
3490 association with the BSS
3491 NO_RESOURCES_AVAIL =0x07
3492 Indicates that a connection failed because the
3493 AP had insufficient resources to complete the
3494 connection
3495 CSERV_DISCONNECT =0x08
3496 Indicates that the device\92s connection services
3497 module decided to disconnect from a BSS,
3498 which can happen for a variety of reasons (e.g.,
3499 the host marks the current connected AP as a
3500 bad AP).
3501 INVALID_PROFILE =0x0A
3502 Indicates that an attempt was made to
3503 reconnect to a BSS that no longer matches the
3504 current profile
3505 All other values are reserved
3506 } WMI_DISCONNECT_REASON
3507
3508
3509 =====================================================================
3510
3511
3512 Name
3513 ERROR_REPORT
3514
3515 Synopsis
3516 Signals that a type of error has occurred for which the host previously requested
3517 notification through the \93TARGET_ERROR_REPORT_BITMASK\94 command.
3518
3519 Event ID
3520 0x100D
3521
3522 Event Parameters
3523 UINT32 errorVal
3524 WMI_TARGET_ERROR_VAL value. See
3525 \93TARGET_ERROR_REPORT_BITMASK\94.
3526
3527 Event Values
3528 errorVal
3529 = 0x00000001
3530 Power save fails
3531
3532 = 0x00000002
3533 No cipher key
3534
3535 = 0x00000004
3536 Decryption error
3537
3538 = 0x00000008
3539 Beacon miss
3540
3541 = 0x00000010
3542 A non-power save disabled node has joined
3543 the PS-enabled network
3544
3545
3546 =====================================================================
3547
3548
3549 Name
3550 EXTENSION
3551
3552 Synopsis
3553 The WMI is used mostly for wireless control messages to a wireless module that
3554 apply to wireless module management regardless of the target platform
3555 implementation. However, some events peripherally related to wireless management
3556 are desired during operation. These wireless extension events may be platform-
3557 specific or implementation-dependent. See \93WMI Extension Commands\94
3558
3559
3560 Event ID
3561 0x1010
3562
3563
3564 =====================================================================
3565
3566
3567 Name
3568 GET_PMKID_LIST_EVENT
3569
3570 Synopsis
3571 Generated by firmware in response to a \93GET_PMKID_LIST_CMD\94 command.
3572
3573 Event Parameters
3574 typedef struct {
3575 A_UINT32 numPMKID;
3576 Contains the number of PMKIDs in the reply
3577 WMI_PMKID pmkidList[1];
3578 } __ATTRIB_PACK WMI_PMKID_LIST_REPLY;
3579
3580 Event Values
3581 None
3582
3583
3584 =====================================================================
3585
3586
3587 Name
3588 GET_WOW_LIST_EVENT
3589
3590 Synopsis
3591 Response to the wmiconfig \96getwowlist command to retrieve the configured Wake on
3592 Wireless patterns
3593
3594 Event ID
3595 0x10018
3596
3597 Event Parameters
3598 {
3599
3600 A_UINT8 num_filters
3601 Total number of patterns in the list
3602 A_UINT8 this_filter_num
3603 The filter number
3604 A_UINT8 wow_mode
3605 Shows whether WoW is enabled or disabled
3606 A_UINT8 host_mode
3607 Shows whether the host is asleep or awake
3608 WOW_FILTER wow_filters[1]
3609 List of WoW filters (pattern and mask data bytes)
3610 } WMI_GET_WOW_LIST_REPLY;
3611
3612 {
3613 Each wow_filter_list element shows:
3614 A_UINT8 wow_valid_filter
3615 Whether the filter is valid
3616 A_UINT8 wow_filter_list_id
3617 Filter List ID (23 = default)
3618 A_UINT8 wow_filter_size
3619 Size in bytes of the filter
3620 A_UINT8 wow_filter_offset
3621 Offset of the pattern to search in the data packet
3622 A_UINT8 wow_filter_mask[MASK_SIZE]
3623 The mask to be applied to the pattern
3624 A_UINT8 wow_filter_pattern[WOW_PATTERN_SIZE]
3625 The pattern that to match to wake up the host
3626 } WOW_FILTER
3627
3628 Event Values
3629 None
3630
3631 =====================================================================
3632
3633
3634
3635 Name
3636 NEIGHBOR_REPORT
3637
3638 Synopsis
3639 Indicates the existence of neighbor APs that match the current profile. The host uses
3640 this event to populate the PMKID cache on the AR6000 and/or to perform
3641 preauthentication. This event is only generated in infrastructure mode.
3642
3643 A total of numberOfAps pairs of bssid/bssFlags exist, one pair for each AP.
3644
3645 Event ID
3646 0x1008
3647
3648 Event Parameters
3649 UINT8 numberOfAps
3650 The number of APs reported about in
3651 this event
3652 {
3653 UINT8 bssid[6]
3654 MAC address of a neighbor AP
3655 UINT8 bssFlags
3656 A WMI_BSS_FLAGS value
3657 }[numberOfAps]
3658
3659
3660 Event Values
3661 {
3662 WMI_DEFAULT_BSS_FLAGS = 0
3663 Logical OR of 1 or more
3664 WMI_BSS_FLAGS
3665 WMI_PREAUTH_CAPABLE_BSS
3666 = 1
3667 Indicates that this AP is capable of
3668 preauthentication
3669 WMI_PMKID_VALID_BSS
3670 = 2
3671 Indicates that the AR6000 have a
3672 valid pairwise master key for this AP
3673 } WMI_BSS_FLAGS
3674
3675
3676 =====================================================================
3677
3678
3679
3680 Name
3681 OPT_RX_FRAME_EVENT
3682
3683 Synopsis
3684 Special feature, informs host of the reception of a special frame.
3685
3686 Event ID
3687 0x100E
3688
3689 Event Parameters
3690 {
3691 A_UINT16 channel;
3692 A_UINT8 frameType;
3693 A_INT8 snr;
3694 A_UINT8 srcAddr[ATH_MAC_LEN];
3695 A_UINT8 bssid[ATH_MAC_LEN];
3696 }WMI_OPT_RX_INFO_HDR
3697
3698 Event Values
3699 None
3700
3701 =====================================================================
3702
3703
3704
3705 Name
3706 PSTREAM_TIMEOUT
3707
3708 Synopsis
3709 Indicates that a priority stream that got created as a result of priority-marked data
3710 flow (priority marked in IP TOS) being idle for the default inactivity interval period
3711 (specified in the \93CREATE_PSTREAM\94 command) used for priority streams created
3712 implicitly by the driver. This event is not indicated for user-created priority streams.
3713 User-created priority streams exist until the users delete them explicitly. They do not
3714 timeout due to data inactivity.
3715
3716 Event ID
3717 0x1007
3718
3719 Event Parameters
3720 A_UINT8
3721 trafficClass
3722 Indicated the traffic class of priority
3723 stream that timed out
3724
3725 Event Values
3726 {
3727 WMM_AC_BE = 0
3728 Best effort
3729 WMM_AC_BK = 1
3730 Background
3731 WMM_AC_VI = 2
3732 Video
3733 WMM_AC_VO = 3
3734 Voice
3735 } TRAFFIC CLASS
3736
3737
3738 =====================================================================
3739
3740 Name
3741 READY
3742
3743 Synopsis
3744 Indicates that the AR6000 device is prepared to accept commands. It is sent once after
3745 power on or reset. It also indicates the MAC address of the device.
3746
3747 Event ID
3748 0x1001
3749
3750 Event Parameters
3751 UINT8 macAddr[6]
3752 Device MAC address
3753 UINT8 phyCapability
3754 A WMI_PHY_CAPABILITY value. Indicates the
3755 capabilities of the device wireless module\92s radio
3756
3757 Event Values
3758 {
3759 WMI_11A_CAPABILITY = 1
3760 WMI_11G_CAPABILITY = 2
3761 WMI_11AG_CAPABILITY = 3
3762 } WMI_PHY_CAPABILITY
3763
3764
3765 =====================================================================
3766
3767 Name
3768 REGDOMAIN
3769
3770 Synopsis
3771 Indicates that the regulatory domain has changed. It initially occurs when the
3772 AR6000 device reads the board data information. The regulatory domain can also
3773 change when the device is a world-mode SKU. In this case, the regulatory domain is
3774 based on the country advertised by APs per the IEEE 802.11d specification. A
3775 potential side effect of a regulatory domain change is a change in the list of available
3776 channels. Any channel restrictions that exist as a result of a previous
3777 \93SET_CHANNEL_PARAMETERS\94 command are lifted.
3778
3779 Event ID
3780 0x1006
3781
3782 Event Parameters
3783 UINT32 regDomain
3784 The range of 0x0000 \96 0x00FF
3785 corresponds to an ISO country code.
3786
3787 Other regCodes are reserved for world
3788 mode settings and specific regulatory
3789 domains.
3790
3791 Event Values
3792 None
3793
3794
3795 =====================================================================
3796
3797
3798
3799 Name
3800 REPORT_STATISTICS
3801
3802 Synopsis
3803 A reply to a \93GET_TARGET_STATS\94 command.
3804
3805 Event ID
3806 0x100B
3807
3808 Event Parameters
3809 When the statistics are sent to the host, the AR6001 clear them so that a new set of
3810 statistics are collected for the next report.
3811
3812 UINT32 tx_packets
3813 UINT32 tx_bytes
3814 UINT32 tx_unicast_pkts
3815 UINT32 tx_unicast_bytes
3816 UINT32 tx_multicast_pkts
3817 UINT32 tx_multicast_bytes
3818 UINT32 tx_broadcast_pkts
3819 UINT32 tx_broadcast_bytes
3820 UINT32 tx_rts_success_cnt
3821 UINT32 tx_packet_per_ac[4]
3822 Tx packets per AC: [0] = BE, [1] = BK,
3823 [2] = VI, [3] = VO
3824 UINT32 tx_errors
3825 Number of packets which failed Tx, due
3826 to all failures
3827 ... REPORT_STATISTICS, continued
3828 UINT32 tx_failed_cnt
3829 Number of data packets that failed Tx
3830 UINT32 tx_retry_cnt
3831 Number of Tx retries for all packets
3832 UINT32 tx_rts_fail_cnt
3833 Number of RTS Tx failed count
3834 UINT32 rx_packets
3835 UINT32 rx_bytes
3836 UINT32 rx_unicast_pkts
3837 UINT32 rx_unicast_bytes
3838 UINT32 rx_multicast_pkts
3839 UINT32 rx_multicast_bytes
3840 UINT32 rx_broadcast_pkts
3841 UINT32 rx_broadcast_bytes
3842 UINT32 rx_fragment_pkt
3843 Number of fragmented packets received
3844 UINT32 rx_errors
3845 Number of Rx errors due to all failures
3846 UINT32 rx_crcerr
3847 Number of Rx errors due to CRC errors
3848 UINT32 rx_key_cache_miss
3849 Number of Rx errors due to a key not
3850 being plumbed
3851 UINT32 rx_decrypt_err
3852 Number of Rx errors due to decryption
3853 failure
3854 UINT32 rx_duplicate_frames
3855 Number of duplicate frames received
3856 UINT32 tkip_local_mic_failure
3857 Number of TKIP MIC errors detected
3858 UINT32 tkip_counter_measures_invoked
3859 Number of times TKIP countermeasures
3860 were invoked
3861 UINT32 tkip_replays
3862 Number of frames that replayed a TKIP
3863 encrypted frame received earlier
3864 UINT32 tkip_format_errors
3865 Number of frames that did not conform
3866 to the TKIP frame format
3867 UINT32 ccmp_format_errors
3868 Number of frames that did not conform
3869 to the CCMP frame format
3870 UINT32 ccmp_replays
3871 Number of frames that replayed a CCMP
3872 encrypted frame received earlier
3873 UINT32 power_save_failure_cnt
3874 Number of failures that occurred when
3875 the AR6001 could not go to sleep
3876 UINT32 cs_bmiss_cnt
3877 Number of BMISS interrupts since
3878 connection
3879 UINT32 cs_lowRssi_cnt
3880 Number of the times the RSSI went below
3881 the low RSSI threshold
3882 UINT16 cs_connect_cnt
3883 Number of connection times
3884 UINT16 cs_disconnect_cnt
3885 Number of disconnection times
3886 UINT8 cs_aveBeacon_rssi
3887 The current averaged value of the RSSI
3888 from the beacons of the connected BSS
3889 UINT8 cs_lastRoam_msec
3890 Time that the last roaming took, in ms.
3891 This time is the difference between
3892 roaming start and actual connection.
3893
3894 Event Values
3895 None defined
3896
3897
3898 =====================================================================
3899
3900 Name
3901 ROAM_TBL_EVENT
3902
3903 Synopsis
3904 Reports the roam table, which contains the current roam mode and this information
3905 for every BSS:
3906
3907 Event ID
3908 0x100F
3909
3910 Event Parameters
3911 A_UINT8 bssid[ATH_MAC_LEN];
3912 BSSID
3913 A_UINT8 rssi
3914 Averaged RSSI
3915 A_UINT8 rssidt
3916 Change in RSSI
3917 A_UINT8 last_rssi
3918 Last recorded RSSI
3919 A_UINT8 roam_util
3920 Utility value used in roaming decision
3921 A_UINT8 util
3922 Base utility with the BSS
3923 A_UINT8 bias
3924 Host configured for this BSS
3925
3926 Event Values
3927 roamMode
3928 Current roam mode
3929
3930 = 1
3931 RSSI based roam
3932
3933 = 2
3934 Host bias-based roam
3935
3936 = 3
3937 Lock to the current BSS
3938
3939 = 4
3940 Autonomous roaming disabled
3941
3942
3943 =====================================================================
3944
3945 Name
3946 RSSI_THRESHOLD
3947
3948 Synopsis
3949 Alerts the host that the signal strength from the connected AP has crossed a
3950 interesting threshold as defined in a previous \93RSSI_THRESHOLD_PARAMS\94
3951 command.
3952
3953 Event ID
3954 0x100C
3955
3956 Event Parameters
3957 UINT8 range
3958 A WMI_RSSI_THRESHOLD_VAL
3959 value, which indicates the range of
3960 the average signal strength
3961
3962 Event Values
3963 {
3964 WMI_RSSI_LOWTHRESHOLD_BELOW_LOWERVAL = 1
3965 WMI_RSSI_LOWTHRESHOLD_LOWERVAL = 2
3966 WMI_RSSI_LOWTHRESHOLD_UPPERVAL = 3
3967 WMI_RSSI_HIGHTHRESHOLD_LOWERVAL = 4
3968 WMI_RSSI_HIGHTHRESHOLD_HIGHERVAL = 5
3969 } WMI_RSSI_THRESHOLD_VAL
3970
3971
3972 =====================================================================
3973
3974 Name
3975 SCAN_COMPLETE_EVENT
3976
3977 Synopsis
3978 Indicates the scan status. if the Scan was not completed, this event is generated with
3979 the status A_ECANCELED.
3980
3981 Event ID
3982 0x100A
3983
3984 Event Parameters
3985 A_UINT8 scanStatus
3986
3987 Event Values
3988 {
3989 #define SCAN_ABORTED 16
3990 #define SCAN_COMPLETED 0
3991 A_UINT8 scanStatus
3992 A_OK or A_ECANCELED
3993 } WMI_SCAN_COMPLETE_EVENT;
3994
3995
3996 =====================================================================
3997
3998 Name
3999 TEST_EVENT
4000
4001 Synopsis
4002 The TCMD application uses a single WMI event (WMI_TEST_EVENTID) to
4003 communicate events from target to host. The events are parsed by the TCMD
4004 application and WMI layer is oblivious of it.
4005
4006 Event ID
4007 0x1016
4008
4009 Event Parameters
4010 WMI_TEST_EVENTID
4011
4012
4013 Event Values
4014 None
4015
4016
4017 =====================================================================
4018
4019
4020
4021 Name
4022 TKIP_MICERR
4023
4024 Synopsis
4025 Indicates that TKIP MIC errors were detected.
4026
4027 Event ID
4028 0x1009
4029
4030 Event Parameters
4031 UINT8 keyid
4032 Indicates the TKIP key ID
4033
4034 UINT8 ismcast
4035 0 = Unicast
4036 1 = Multicast
4037
4038 Event Values
4039 See event parameters
4040
4041 =====================================================================
4042
4043 WMI Extension Commands
4044
4045 The WMI EXTENSION command is used to multiplex a collection of
4046 commands that:
4047
4048 Are not generic wireless commands
4049 May be implementation-specific
4050 May be target platform-specific
4051 May be optional for a host implementation
4052
4053 An extension command is sent to the AR6000 targets like any other WMI
4054 command message and uses the WMI_EXTENSION. The first field of the
4055 payload for this EXTENSION command is another commandId, sometimes
4056 called the subcommandId, which indicates which extension command is
4057 being used. A subcommandId-specific payload follows the subcommandId.
4058
4059 All extensions (subcommandIds) are listed in the header file include/wmix.h.
4060 See also \93WMI Extension Events\94 on page B-58.
4061
4062
4063 WMI Extension Commands
4064
4065
4066 GPIO_INPUT_GET
4067 Read GPIO pins configured for input
4068
4069 GPIO_INTR_ACK
4070 Acknowledge and re-arm GPIO interrupts reported earlier
4071
4072 GPIO_OUTPUT_SET
4073 Manage output on GPIO pins configured for output
4074
4075 GPIO_REGISTER_GET
4076 Read an arbitrary GPIO register
4077
4078 GPIO_REGISTER_SET
4079 Dynamically change GPIO configuration
4080
4081 SET_LQTHRESHOLD
4082 Set link quality thresholds; the sampling happens at every unicast
4083 data frame Tx, if certain thresholds are met, and corresponding
4084 events are sent to the host
4085
4086
4087 =====================================================================
4088
4089 Name
4090 GPIO_INPUT_GET
4091
4092 Synopsis
4093 Allows the host to read GPIO pins that are configured for input. The values read are
4094 returned through a \93GPIO_DATA\94 extension event.
4095
4096 NOTE: Support for GPIO is optional.
4097
4098 Command
4099 N/A
4100
4101 Command Parameters
4102 None
4103
4104
4105
4106 Reply Parameters
4107 None
4108
4109
4110 Reset Value
4111 None
4112
4113
4114
4115 Restrictions
4116 None
4117
4118 =====================================================================
4119
4120
4121 Name
4122 GPIO_INTR_ACK
4123
4124 Synopsis
4125 The host uses this command to acknowledge and to re-arm GPIO interrupts reported
4126 through an earlier \93GPIO_INTR\94 extension event. A single \93GPIO_INTR_ACK\94
4127 command should be used to acknowledge all GPIO interrupts that the host knows to
4128 be outstanding (if pending interrupts are not acknowledged through
4129 \93GPIO_INTR_ACK\94, another \93GPIO_INTR\94 extension event is raised).
4130
4131 NOTE: Support for GPIO is optional.
4132
4133 Command
4134 N/A
4135
4136 Command Parameters
4137 UINT32 ack_mask
4138 A mask of interrupting GPIO pins (e.g., ack_mask
4139 bit [3] acknowledges an interrupt from the pin GPIO3).
4140
4141 Command Values
4142 None
4143
4144 Reset Value
4145 None
4146
4147 Restrictions
4148 The host should acknowledge only interrupts about which it was notified.
4149
4150
4151 =====================================================================
4152
4153 Name
4154 GPIO_OUTPUT_SET
4155
4156 Synopsis
4157 Manages output on GPIO pins configured for output.
4158
4159 Conflicts between set_mask and clear_mask or enable_mask and disable_mask result
4160 in undefined behavior.
4161
4162 NOTE: Support for GPIO is optional.
4163
4164 Command
4165 N/A
4166
4167 Command Parameters
4168 UINT32 set_mask
4169 Specifies which pins should drive a 1 out
4170 UINT32 clear_mask
4171 Specifies which pins should drive a 0 out
4172 UINT32 enable_mask
4173 Specifies which pins should be enabled for output
4174 UINT32 disable_mask
4175 Specifies which pins should be disabled for output
4176
4177 Command Values
4178 None
4179
4180
4181 Reset Value
4182 None
4183
4184
4185 Restrictions
4186 None
4187
4188
4189
4190 =====================================================================
4191
4192
4193 Name
4194 GPIO_REGISTER_GET
4195
4196 Synopsis
4197 Allows the host to read an arbitrary GPIO register. It is intended for use during
4198 bringup/debug. The target responds to this command with a \93GPIO_DATA\94 event.
4199
4200 NOTE: Support for GPIO is optional.
4201
4202 Command
4203 N/A
4204
4205 Command Parameters
4206 UINT32
4207 gpioreg_id
4208 Specifies a GPIO register identifier, as defined
4209 in include/AR6000/AR6000_gpio.h
4210
4211 Reply Parameters
4212 None
4213
4214 Reset Value
4215 N/A
4216
4217 Restrictions
4218 None
4219
4220
4221 =====================================================================
4222
4223 Name
4224 GPIO_REGISTER_SET
4225
4226 Synopsis
4227 Allows the host to dynamically change GPIO configuration (usually handled
4228 statically through the GPIO configuration DataSet).
4229
4230 NOTE: Support for GPIO is optional.
4231
4232 Command
4233 N/A
4234
4235 Command Parameters
4236 UINT32 gpioreg_id
4237 Specifies a GPIO register identifier, as defined in
4238 include/AR6000/AR6000_gpio.h
4239 UINT32 value
4240 Specifies a value to write to the specified
4241 GPIO register
4242
4243 Command Values
4244 None
4245
4246
4247 Reset Value
4248 Initial hardware configuration is as defined in the AR6001 or AR6002 ROCmTM
4249 Single-Chip MAC/BB/Radio for 2.4/5 GHz Embedded WLAN Applications data sheet. This
4250 configuration is modified by the GPIO Configuration DataSet, if one exists.
4251
4252 Restrictions
4253 None
4254
4255
4256 =====================================================================
4257
4258
4259 Name
4260 SET_LQTHRESHOLD
4261
4262 Synopsis
4263 Set link quality thresholds, the sampling happens at every unicast data frame Tx, if
4264 certain threshold is met, corresponding event will be sent to host.
4265
4266 Command
4267 wmiconfig eth1 --lqThreshold <enable> <upper_threshold_1>...
4268 <upper_threshold_4> <lower_threshold_1>... <lower_threshold_4>
4269
4270 Command Parameters
4271 A_UINT8 enable;
4272 A_UINT8 thresholdAbove1_Val;
4273 A_UINT8 thresholdAbove2_Val;
4274 A_UINT8 thresholdAbove3_Val;
4275 A_UINT8 thresholdAbove4_Val;
4276 A_UINT8 thresholdBelow1_Val;
4277 A_UINT8 thresholdBelow2_Val;
4278 A_UINT8 thresholdBelow3_Val;
4279 A_UINT8 thresholdBelow4_Val;
4280
4281 Command Values
4282 enable
4283 = 0
4284 Disable link quality sampling
4285
4286 = 1
4287 Enable link quality sampling
4288
4289
4290 thresholdAbove_Val
4291 [1...4]
4292 Above thresholds (value in [0,100]), in ascending
4293 order threshold
4294
4295 Below_Val [1...4] = below thresholds (value
4296 in [0,100]), in ascending order
4297
4298 Reset Values
4299 None
4300
4301 Restrictions
4302 None
4303
4304 =====================================================================
4305 WMI Extension Events
4306
4307 The WMI EXTENSION event is used for a collection of events that:
4308
4309 Are not generic wireless events
4310 May be implementation-specific
4311 May be target platform-specific
4312 May be optional for a host implementation
4313
4314 An extension event is sent from the AR6000 device targets to the host just like
4315 any other WMI event message, using the WMI_EXTENSION_EVENTID. The
4316 first field of the payload for this \93EXTENSION\94 event is another commandId
4317 (sometimes called the subcommandId) that indicates which \93EXTENSION\94
4318 event is being used. A subcommandId-specific payload follows the
4319 subcommandId.
4320
4321 All extensions (subcommandIds) are listed in the header file include/wmix.h.
4322 See also \93WMI Extension Commands\94 on page B-55.
4323
4324
4325 WMI Extension Events
4326
4327
4328 GPIO_ACK
4329 Acknowledges a host set command has been processed by the device
4330
4331 GPIO_DATA
4332 Response to a host\92s request for data
4333
4334 GPIO_INTR
4335 Signals that GPIO interrupts are pending
4336
4337
4338 =====================================================================
4339
4340 Name
4341 GPIO_ACK
4342
4343 Synopsis
4344 Acknowledges that a host set command (either \93GPIO_OUTPUT_SET\94 or
4345 \93GPIO_REGISTER_SET\94) has been processed by the AR6000 device.
4346
4347 NOTE: Support for GPIO is optional.
4348
4349 Event ID
4350 N/A
4351
4352 Event Parameters
4353 None
4354
4355
4356 Event Values
4357 None
4358
4359 =====================================================================
4360
4361
4362 Name
4363 GPIO_DATA
4364
4365 Synopsis
4366 The AR6000 device uses this event to respond to the host\92s earlier request for data
4367 (through either a \93GPIO_REGISTER_GET\94 or a \93GPIO_INPUT_GET\94 command).
4368
4369 NOTE: Support for GPIO is optional.
4370
4371 Event ID
4372 N/A
4373
4374 Event Parameters
4375 UINT32 value
4376 Holds the data of interest, which is either a register value
4377 (in the case of \93GPIO_REGISTER_GET\94) or a mask of
4378 pin inputs (in the case of \93GPIO_INPUT_GET\94).
4379 UINT32 reg_id
4380 Indicates which register was read (in the case of
4381 \93GPIO_REGISTER_GET\94) or is GPIO_ID_NONE (in the
4382 case of \93GPIO_INPUT_GET\94)
4383
4384 Event Values
4385 None
4386
4387
4388 =====================================================================
4389
4390
4391
4392 Name
4393 GPIO_INTR
4394
4395 Synopsis
4396 The AR6000 device raises this event to signal that GPIO interrupts are pending.
4397 These GPIOs may be interrupts that occurred after the last \93GPIO_INTR_ACK\94
4398 command was issued, or may be GPIO interrupts that the host failed to acknowledge
4399 in the last \93GPIO_INTR_ACK\94. The AR6000 will not raise another GPIO_INTR
4400 event until this event is acknowledged through a \93GPIO_INTR_ACK\94 command.
4401
4402 NOTE: Support for GPIO is optional.
4403
4404 Event ID
4405 N/A
4406
4407 Event Parameters
4408 UINT32 intr_mask
4409 Indicates which GPIO interrupts are currently pending
4410
4411 UINT32 input_values
4412 A recent copy of the GPIO input values, taken at the
4413 time the most recent GPIO interrupt was processed
4414
4415 Event Values
4416 None
4417
4418
4419
4420 =====================================================================
4421 #endif