xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/nxp/README_MLAN (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1===============================================================================
2			U S E R  M A N U A L
3
4 Copyright 2008-2022 NXP
5
6
71) FOR DRIVER BUILD
8
9	Goto source code directory wlan_src/.
10	make [clean] build
11	The driver and utility binaries can be found in ../bin_xxxx directory.
12	The driver code supports Linux kernel from 2.6.32 to 6.0.0.
13
142) FOR DRIVER INSTALL
15
16	a) Copy firmware image to /lib/firmware/nxp/, copy wifi_mod_para.conf to /lib/firmware/nxp/.
17	b) Install WLAN driver
18	   There are drv_mode, max_sta_bss, max_uap_bss etc. module parameters.
19		The bit settings of drv_mode are,
20			Bit 0 :  STA
21			Bit 1 :  uAP
22			Bit 2 :  WIFIDIRECT
23
24		max_sta_bss: Maximum number of STA BSS (default 1, max 1)
25		sta_name: Name of the STA interface (default: "mlan")
26		max_uap_bss: Maximum number of uAP BSS (default 1, max 2)
27		uap_name: Name of the uAP interface (default: "uap")
28		max_wfd_bss: Maximum number of WIFIDIRECT BSS (default 1, max 1)
29		wfd_name: Name of the WIFIDIRECT interface (default: "wfd")
30		max_vir_bss: Number of Virtual interfaces (default 0)
31		uap_oper_ctrl: uAP operation control when in-STA disconnect with ext-AP
32                               0: default do nothing, 2: uAP stops and restarts automatically
33	   For example, to install multi-chip driver,
34		insmod mlan.ko
35		insmod moal.ko mod_para=nxp/wifi_mod_para.conf [drvdbg=0x7]
36	   wifi_mod_para.conf is used to support multi-chips which has different load module parameters. It contains
37           the module parameters for different chips.
38	c) Uninstall WLAN driver,
39		ifconfig mlanX down
40		ifconfig uapX down
41		rmmod moal
42		rmmod mlan
43
44	To load driver with MFG firmware file, use mfg_mode=1 when insmod WLAN driver and
45	specify MFG firmware name if needed.
46
47	There are some other parameters for debugging purpose etc. Use modinfo to check details.
48	  drvdbg=<bit mask of driver debug message control>
49	  dev_cap_mask=<Bit mask of the device capability>
50	  mac_addr=xx:xx:xx:xx:xx:xx <override the MAC address (in hex)>
51	  auto_ds=0|1|2 <use MLAN default | enable auto deepsleep | disable auto deepsleep>
52	  ext_scan=0|1|2 <use MLAN default | Enable Extended Scan| Enable Enhanced Extended Scan>
53      net_rx=0|1 <use netif_rx_ni in rx | use netif_receive_skb in rx>
54      amsdu_deaggr=0|1 <default | Try avoid buf copy in amsud deaggregation>
55
56	  ps_mode=0|1|2 <use MLAN default | enable IEEE PS mode | disable IEEE PS mode>
57	  sched_scan=0|1 <disable sched_scan | enable sched_scan default>
58	  max_tx_buf=2048|4096|8192 <maximum AMSDU Tx buffer size>
59	  pm_keep_power=1|0 <PM keep power in suspend (default) | PM no power in suspend>
60	  shutdown_hs=1|0 <Enable HS when shutdown | No HS when shutdown (default)>
61	  cfg_11d=0|1|2 <use MLAN default | enable 11d | disable 11d>
62	  dts_enable=0|1 <Disable DTS | Enable DTS (default)>
63	  fw_name = <FW file name>
64		e.g. copy pcieuart9098_combo_v1.bin to firmware directory, fw_name=nxp/pcieuart9098_combo_v1.bin
65	  hw_name = <hardware name>
66	  reg_work=0|1 <Disable register work queue| Enable register work queue>
67	  hw_test=0|1 <Disable hardware test (default) | Enable hardware test>
68	  fw_serial=0|1 <support parallel download FW | support serial download FW (default)>
69	  req_fw_nowait=0|1 <use request_firmware API (default) | use request_firmware_nowait API>
70      dfs53cfg=0|1|2 <use Fw Default | New W53 | Old W53>
71	  mcs32=0|1 <disable HT MCS32 support | enable HT MCS32 (default)>
72	  SD8887: antcfg=0|1|2|0xffff <default | Tx/Rx antenna 1 | Tx/Rx antenna 2 | enable antenna diversity>
73	  SD8897/SD8997: antcfg=0x11|0x13|0x33 <Bit0:Rx Path A, Bit1:Rx Path B, Bit 4:Tx Path A, Bit 5:Tx Path B>
74	  slew_rate: Slew Rate Control value = 0|1|2|3 (0 is the slowest slew rate and 03 has the highest slew rate (default))
75	  init_cfg=<init config (MAC addresses, registers etc.) file name>
76		e.g. copy init_cfg.conf to firmware directory, init_cfg=nxp/init_cfg.conf
77	  cal_data_cfg=<CAL data config file name>
78		e.g. copy cal_data.conf to firmware directory, cal_data_cfg=nxp/cal_data.conf
79          Note: Loading driver with 8887 must include correct cal_data_cfg parameter.
80	 dpd_data_cfg=<DPD data config file name>
81	   e.g. copy dpd_data.conf to firmware directory, dpd_data_cfg=nxp/dpd_data.conf
82	  txpwrlimit_cfg=<Tx power limit config file name>
83		e.g. copy txpwrlimit_cfg_set.conf to firmware directory, txpwrlimit_cfg=nxp/txpwrlimit_cfg_set.conf
84      cntry_txpwr=0|1|2
85                  0: Disable setting tx power table of country (default)
86                  1: Enable setting tx power table of country
87                  2: Enable setting rgpower table of country
88	  init_hostcmd_cfg=<init hostcmd config file name>
89		e.g. copy init_hostcmd_cfg.conf to firmware directory, init_hostcmd_cfg=nxp/init_hostcmd_cfg.conf
90	  band_steer_cfg=<band steer config file name>
91		e.g. generate bscfg.conf by band_steer_cfg.conf, then copy bscfg.conf to firmware directory, band_steer_cfg=nxp/bscfg.conf
92	  sdio_rx_aggr=1|0 <Enable SDIO rx aggr (default) | Disable SDIO rx aggr>
93	  cfg80211_wext=<bit mask of CFG80211 and WEXT control>
94		Bit 0: STA WEXT
95		Bit 1: uAP WEXT
96		Bit 2: STA CFG80211
97		Bit 3: uAP CFG80211
98	  reg_alpha2=<Regulatory alpha2 (default NULL)>
99	  skip_fwdnld=0|1 <enable FW download support (default) | disable FW download support>
100	  wq_sched_prio: Priority for work queue
101	  wq_sched_policy: Scheduling policy for work queue
102		(0: SCHED_NORMAL, 1: SCHED_FIFO, 2: SCHED_RR, 3: SCHED_BATCH, 5: SCHED_IDLE)
103		Please note that, both wq_sched_prio and wq_sched_policy should be provided
104		as module parameters. If wq_sched_policy is (0, 3 or 5), then wq_sched_prio
105		must be 0. wq_sched_prio should be 1 to 99 otherwise.
106	  rx_work=0|1|2 <default | Enable rx_work_queue | Disable rx_work_queue>
107	  pcie_int_mode=0|1|2 <Legacy mode, MSI mode (default), MSI-X mode>
108	  pcie_int_mode=0|1 <Legacy mode, MSI mode (default)>
109      ring_size=32|64|128|256|512 <adma ring size for 9097/9098>
110	  aggrctrl=1|0 <enable Tx aggr | disable Tx aggr>
111	  usb_aggr=0|1|2 <use MLAN default (disabled) | enable USB aggr | disable USB aggr>
112	  low_power_mode_enable=0|1 <disable low power mode (default)| enable low power mode>
113	  When low power mode is enabled, the output power will be clipped at ~+10dBm and the
114	  expected PA current is expected to be in the 80-90 mA range for b/g/n modes
115	wakelock_timeout=<set wakelock_timeout value (ms)>
116	pmic=0|1 <No pmic configure cmd sent to firmware | Send pmic configure cmd to firmware>
117	indication_gpio=0xXY <GPIO to indicate wakeup source and its level; high four bits X:
118                  level(0/1) for normal wakeup; low four bits Y: GPIO pin number. This parameter
119                  only works with specific board and firmware.>
120	hs_wake_interval=<Host sleep wakeup interval,it will round to nearest multiple dtim*beacon_period in fw>
121	disconnect_on_suspend=0|1 <Disable disconnect wifi on suspend (default) | Enable disconnect wifi on suspend>
122	hs_mimo_switch=0|1 <Disable dynamic MIMO-SISO switch during host sleep (default) | Enable dynamic MIMO-SISO switch during host sleep>
123	gtk_rekey_offload=0|1|2 <disable gtk_rekey_offload|enable gtk_rekey_offload (default) | enable gtk_rekey_offload in suspend mode only>
124	napi=0|1 <disable napi | enable napi>
125	fixed_beacon_buffer=0|1 <allocate default buffer size (default) | allocate max buffer size>
126	GoAgeoutTime=0|x <use default ageout time (default) | set Go age out time xTU(TU 100ms)>
127	multi_dtim=0|x <use default DTIM interval(default) | set x*beacon_period as DTIM interval>
128	inact_tmo=0|x <use default IEEE ps inactivity timout value (default) | use IEEE ps inactivity timeout value x ms>
129	roamoffload_in_hs=0|1 <always enable fw roaming (default) | enable fw roaming only when host suspend>
130	uap_max_sta: Maximum number of STA for UAP/GO (default 0, max 64)
131	host_mlme=0|1 <Operate in non-host_mlme mode | Operate in host_mlme mode (default)>
132	for supplicant/authenticator running on host side, WPA3 support is available only in host_mlme mode
133	country_ie_ignore=0|1 <Follow countryIE from AP and beacon hint enable (default) | Ignore countryIE from AP and beacon hint disable>
134	beacon_hints=0|1 <enable beacon hints(default) | disable beacon hints>
135
136	chan_track=0|1 <restore channel tracking parameters(default) | set channel tracking new parameters> for 9098 only
137	keep_previous_scan=0|1, <Flush previous scan result before start scan | Keep previous scan result(default)>
138
139
140	Note: On some platforms (e.g. PXA910/920) double quotation marks ("") need to used
141	for module parameters.
142		insmod sdxxx.ko "<para1> <para2> ..."
143
1443) FOR DRIVER PROC & DEBUG
145
146	The following info are provided in /proc/net/mwlan/adapterX/mlanY|uapY|wfdY/info,
147	on kernel 2.6.24 or later, the entry is /proc/mwlan/adapterX/mlanY|uapY|wfdY/info.
148
149	driver_name = "wlan" or "uap"
150	driver_version = <chip id, firmware version and driver version>
151	interface_name = "mlanX", "uapX" or "wfdX"
152	bss_mode = "Ad-hoc" | "Managed" | "Auto" | "Unknown"
153	media_state = "Disconnected" | "Connected"
154	mac_address = <6-byte adapter MAC address>
155	multicase_count = <multicast address count>     // Only for STA
156	essid = <current SSID>                          // Only for STA
157	bssid = <current BSSID>                         // Only for STA
158	channel = <current channel>                     // Only for STA
159	region_code = <current region code>             // Only for STA
160	multicast_address[n] = <multicast address>      // Only for STA
161	num_tx_bytes = <number of bytes sent to device>
162	num_rx_bytes = <number of bytes received from device and sent to kernel>
163	num_tx_pkts = <number of packets sent to device>
164	num_rx_pkts = <number of packets received from device and sent to kernel>
165	num_tx_pkts_dropped = <number of Tx packets dropped by driver>
166	num_rx_pkts_dropped = <number of Rx packets dropped by driver>
167	num_tx_pkts_err = <number of Tx packets failed to send to device>
168	num_rx_pkts_err = <number of Rx packets failed to receive from device>
169	carrier "on" | "off"
170	tx queue "stopped" | "started"
171	tkip_mic_failures = 0                           // Only for uAP (use of WEP/TKIP is not recommended anymore)
172	ccmp_decrypt_errors = 0                         // Only for uAP
173	wep_undecryptable_count = 0                     // Only for uAP  (use of WEP/TKIP is not recommended anymore)
174	wep_icv_error_count = 0                         // Only for uAP  (use of WEP/TKIP is not recommended anymore)
175	decrypt_failure_count = 0                       // Only for uAP
176	mcast_tx_count = 0                              // Only for uAP
177	failed_count = 0                                // Only for uAP
178	retry_count = 0                                 // Only for uAP
179	multiple_retry_count = 0                        // Only for uAP
180	frame_duplicate_count = 0                       // Only for uAP
181	rts_success_count = 0                           // Only for uAP
182	rts_failure_count = 0                           // Only for uAP
183	ack_failure_count = 0                           // Only for uAP
184	rx_fragment_count = 0                           // Only for uAP
185	mcast_rx_frame_count = 0                        // Only for uAP
186	fcs_error_count = 0                             // Only for uAP
187	tx_frame_count = 0                              // Only for uAP
188	rsna_tkip_cm_invoked = 0                        // Only for uAP  (use of WEP/TKIP is not recommended anymore)
189	rsna_4way_hshk_failures = 0                     // Only for uAP
190
191	The following debug info are provided in /proc/net/mwlan/adapterX/mlanY|uapY|wfdY/debug,
192	on kernel 2.6.24 or later, the entry is /proc/mwlan/adapterX/mlanY|uapY|wfdY/debug.
193
194	drvdbg = <bit mask of driver debug message control>
195	wmm_ac_vo = <number of packets sent to device from WMM AcVo queue>
196	wmm_ac_vi = <number of packets sent to device from WMM AcVi queue>
197	wmm_ac_be = <number of packets sent to device from WMM AcBE queue>
198	wmm_ac_bk = <number of packets sent to device from WMM AcBK queue>
199	max_tx_buf_size = <maximum Tx buffer size>
200	tx_buf_size = <current Tx buffer size>
201	curr_tx_buf_size = <current Tx buffer size in FW>
202	ps_mode = <0/1, CAM mode/PS mode>
203	ps_state = <0/1/2/3, awake state/pre-sleep state/sleep-confirm state/sleep state>
204	is_deep_sleep = <0/1, not deep sleep state/deep sleep state>    // Only for STA
205	wakeup_dev_req = <0/1, wakeup device not required/required>
206	wakeup_tries = <wakeup device count, cleared when device awake>
207	hs_configured = <0/1, host sleep not configured/configured>
208	hs_activated = <0/1, extended host sleep not activated/activated>
209	tx_pkts_queued = <number of Tx packets queued>
210	pps_uapsd_mode = <0/1, PPS/UAPSD mode disabled/enabled>     // Only for STA
211	sleep_pd = <sleep period in milliseconds>                   // Only for STA
212	qos_cfg = <WMM QoS info>                                    // Only for STA
213	tx_lock_flag = <0/1, Tx lock flag>                          // Only for STA
214	port_open = <0/1, port open flag>                           // Only for STA
215	scan_processing = <0/1, scan processing flag>               // Only for STA
216	num_bridge_pkts = <number of bridged packets>               // Only for uAP
217	num_drop_pkts = <number of dropped packets>                 // Only for uAP
218	num_tx_timeout = <number of Tx timeout>
219	num_cmd_timeout = <number of timeout commands>
220	timeout_cmd_id = <command id of the last timeout command>
221	timeout_cmd_act = <command action of the last timeout command>
222	last_cmd_id = <command id of the last several commands sent to device>
223	last_cmd_act = <command action of the last several commands sent to device>
224	last_cmd_index = <0 based last command index>
225	last_cmd_resp_id = <command id of the last several command responses received from device>
226	last_cmd_resp_index = <0 based last command response index>
227	last_event = <event id of the last several events received from device>
228	last_event_index = <0 based last event index>
229	num_cmd_h2c_fail = <number of commands failed to send to device>
230	num_cmd_sleep_cfm_fail = <number of sleep confirm failed to send to device>
231	num_tx_h2c_fail = <number of data packets failed to send to device>
232	num_cmdevt_c2h_fail = <number of commands/events failed to receive from device>
233	num_rx_c2h_fail = <number of data packets failed to receive from device>
234	num_int_read_fail = <number of interrupt read failures>
235	last_int_status = <last interrupt status>
236	num_evt_deauth = <number of deauthenticated events received from device>        // Only for STA
237	num_evt_disassoc = <number of disassociated events received from device>        // Only for STA
238	num_evt_link_lost = <number of link lost events received from device>           // Only for STA
239	num_cmd_deauth = <number of deauthenticate commands sent to device>             // Only for STA
240	num_cmd_assoc_ok = <number of associate commands with success return>           // Only for STA
241	num_cmd_assoc_fail = <number of associate commands with failure return>         // Only for STA
242	cmd_sent = <0/1, send command resources available/sending command to device>
243	data_sent = <0/1, send data resources available/sending data to device>
244	mp_rd_bitmap = <SDIO multi-port read bitmap>
245	curr_rd_port = <SDIO multi-port current read port>
246	mp_wr_bitmap = <SDIO multi-port write bitmap>
247	curr_wr_port = <SDIO multi-port current write port>
248	txbd_rdptr = <PCIE transmit read pointer>
249	txbd_wrptr = <PCIE transmit write pointer>
250	rxbd_rdptr = <PCIE recieve read pointer>
251	rxbd_wrptr = <PCIE recieve write pointer>
252	eventbd_rdptr = <PCIE event read pointer>
253	eventbd_wrptr = <PCIE event write pointer>
254	cmd_resp_received = <0/1, no cmd response to process/response received and yet to process>
255	event_received = <0/1, no event to process/event received and yet to process>
256	tx_cmd_urb_pending = <number of URB pending for cmd transmit>
257	tx_data_urb_pending = <number of URB pending for data transmit>
258	rx_cmd_urb_pending = <number of URB pending for cmd receive>
259	rx_data_urb_pending = <number of URB pending for data receive>
260	ioctl_pending = <number of ioctl pending>
261	tx_pending = <number of Tx packet pending>
262	rx_pending = <number of Rx packet pending>
263	lock_count = <number of lock used>
264	malloc_count = <number of malloc done>
265	mbufalloc_count = <number of mlan_buffer allocated>
266	malloc_cons_count = <number of consistent malloc done>
267	main_state = <current state of the main process>
268	sdiocmd53w = <SDIO Cmd53 write status>
269	sdiocmd53r = <SDIO Cmd52 read status>
270	hs_skip_count = <number of skipped suspends>
271	hs_force_count = <number of forced suspends>
272
273	Issue SDIO cmd52 read/write through proc.
274	Usage:
275		echo "sdcmd52rw=<func> <reg> [data]" > /proc/mwlan/adapterX/config
276	where the parameters:
277		func: The function number to use (0-7)
278		reg:  The address of the register
279		data: The value to write, read if the value is absent
280		For SDIO MMC driver, only function 0 and WLAN function access is allowed.
281		And there is a limitation for function 0 write, only vendor specific CCCR
282		registers (0xf0 -0xff) are permiited.
283	Examples:
284		echo "sdcmd52rw= 0 4" > /proc/mwlan/adapterX/config      # read func 0 address 4
285		cat /proc/mwlan/adapterX/config                          # display the register value
286		echo "sdcmd52rw= 1 3 0xf" > /proc/mwlan/adapterX/config  # write 0xf to func 1 address 3
287
288	Issue debug_dump command through proc.
289	Usage:
290		echo "debug_dump" > /proc/mwlan/adapterX/config
291
292	Examples:
293		echo "debug_dump" > /proc/mwlan/adapterX/config      # dump driver internal debug status.
294	To obtain fw dump or driver dump, use command:
295	        cat /proc/mwlan/adapter0/drv_dump > file_drv_dump     #save the drv dump to file_drv_dump
296	        cat /proc/mwlan/adapter0/fw_dump > file_fw_dump       #save the fw dump to file_fw_dump
297            cat /proc/mwlan/adapter1/drv_dump > file_drv_dump_2   #save the adapter1 drv dump to file_drv_dump_2
298
299	Use dmesg or cat /var/log/debug to check driver debug messages.
300
301	Update /proc/sys/kernel/printk to change message log levels.
302	For example,
303	echo 6 > /proc/sys/kernel/printk    (messages with a higher priority than 6
304	                                     will be printed to the console)
305	echo 15 > /proc/sys/kernel/printk   (all messages will be printed to console)
306
3074) FOR FW RELOAD
308    a) Enable parallel firmware download in driver parameter
309       insmod sdxxx.ko fw_serial=0
310
311    b) default fw name for parallel firmware download
312       sd8887_wlan_a2.bin
313
314    c) Trigger FW reload
315       echo "fw_reload=1" > /proc/mwlan/adapterX/config   trigger inband firmware reset and reload firmware
316       echo "fw_reload=2" > /proc/mwlan/adapterX/config   trigger firmware reload
317       echo "fw_reload=3" > /proc/mwlan/adapterX/config   set firmware reload flag in driver.
318       echo "fw_reload=4" > /proc/mwlan/config   trigger pcie FLR and reload firmware.
319
320    (Note: This feature will be supported on Robin3 and KF2.
321           For CAC-A2, it only work with the board which supports parallel fw download)
322
3235) FOR RF test mode commands:
324
325    Following commands are used to perform RF testing of the wifi chipset.
326    Please not that these test mode commands can only be issued while the
327    device is in disconnected state and the uAP BSS is inactive.
328    Normal wifi operations cannot be used on entering RF Test Mode.
329
330    Enter RF Test Mode:
331	echo "rf_test_mode=1" > /proc/mwlan/adapterX/config
332
333    Exit RF Test Mode:
334	echo "rf_test_mode=0" > /proc/mwlan/adapterX/config
335    Please note that after exiting the RF Test Mode, the FW needs to be
336    reset in order to use normal wifi connectivity.
337
338    To get the set of available RF Test Mode commands, currently set
339    parameters values for each command and the output,
340	cat /proc/mwlan/adapterX/config
341
342    Set Tx Antenna
343	For 1x1 chipsets, 1:Main, 2:Aux when antenna diversity is supported
344	For 2x2 chipsets, 1:Path A, 2: Path B, 3: Path A+B
345			  Both Tx and Rx must be set to same antenna path
346	echo "tx_antenna=1" > /proc/mwlan/adapterX/config
347
348    Set Rx Antenna
349	For 1x1 chipsets, 1:Main, 2:Aux when antenna diversity is supported
350	For 2x2 chipsets, 1:Path A, 2:Path B, 3:Path A+B
351			  Both Tx and Rx must be set to same antenna path
352	echo "rx_antenna=1" > /proc/mwlan/adapterX/config
353
354    Set RF band  (0:2G, 1:5G)
355	For 2G, channel will be reset to 6, while for 5G, to channel 36
356	echo "band=0" > /proc/mwlan/adapterX/config
357
358    Set RF bandwidth  (0:20MHz, 1:40MHz, 4:80MHz)
359	echo "bw=0" > /proc/mwlan/adapterX/config
360
361    Set RF channel
362	echo "channel=6" > /proc/mwlan/adapterX/config
363
364    Set Radio Mode
365        echo "radio_mode=14 4" > /proc/mwlan/adapterX/config
366
367    Get and reset packet error rate
368	echo "get_and_reset_per" > /proc/mwlan/adapterX/config
369
370    Set Tx Power
371	This command will set power only if caldata is already loaded in the FW.
372	Power       (0 to 24 dBm)
373	Modulation  (0: CCK, 1:OFDM, 2:MCS)
374	Path ID     (0: PathA, 1:PathB, 2:PathA+B)
375	echo "tx_power=16 2 0" > /proc/mwlan/adapterX/config
376
377    Set MFG HE TB Tx to configure Trigger based TX reponse
378    Enable Tx   (0:disable, 1:enable)
379    Q num       (0-7 : TCQs 0-7, 17-20: AXQs 0-3)
380    AID         (Association ID as applicable)
381    AXQ MU Timer(to set the MU EDCA Timer for the Queue)
382    Tx Power    (-11 to 9 dBm)
383    echo "he_tb_tx=1 1 5 400 10" > /proc/mwlan/adapterX/config
384
385    Set Tx Continuous Mode
386	Start                 (0:disable, 1:enable)
387	Continuous Wave Mode  (0:disable, 1:enable)
388	Payload Pattern       (0 to 0xFFFFFFFF)
389	CS Mode               (Applicable only when continuous wave is disabled)
390	                      (0:disable, 1:enable)
391	Active SubChannel     (0:low, 1:upper, 3:both)
392	Tx Data Rate          (Rate Index corresponding to legacy/HT/VHT rates)
393
394	Example: To start continuous wave (tone) mode, first stop any ongoing
395	Tx and then start wave mode:
396	step1: echo "tx_continuous=0" > /proc/mwlan/adapterX/config
397	step2: echo "tx_continuous=1 1 0xAAA 0 3 7" > /proc/mwlan/adapterX/config
398
399	Example: To start continuous packet mode, first stop any ongoing Tx and
400	then start pkt mode:
401	step1: echo "tx_continuous=0" > /proc/mwlan/adapterX/config
402	step2: echo "tx_continuous=1 0 0xAAA 0 3 7" > /proc/mwlan/adapterX/config
403
404	stop:
405	echo "tx_continuous=0" > /proc/mwlan/adapterX/config
406
407    Set Tx Frame
408	Start                 (0:disable, 1:enable)
409	Tx Data Rate          (Rate Index corresponding to legacy/HT/VHT rates)
410	Payload Pattern       (0 to 0xFFFFFFFF)
411	Payload Length        (1 to 0x400)
412	Adjust Burst SIFS Gap (0:disable, 1:enable)
413	Burst SIFS in us      (0 to 255us)
414	Short Preamble        (0:disable, 1:enable)
415	Active SubChannel     (0:low, 1:upper, 3:both)
416	Short GI              (0:disable, 1:enable)
417	Adv Coding            (0:disable, 1:enable)
418	Beamforming           (0:disable, 1:enable)
419	GreenField Mode       (0:disable, 1:enable)
420	STBC                  (0:disable, 1:enable)
421	NumPkt                (Set to default value -1)
422	MaxPktExt             (Set to default value -1)
423	BeamChange            (Set to default value -1)
424	DCM                   (Set to default value -1)
425	Doppler               (Set to default value -1)
426	MidamblePeriod        (Set to default value -1)
427	QNum                  (Set to default value  1)
428	BSSID                 (xx:xx:xx:xx:xx:xx)
429
430	Example: To start Tx frame with duty cycle, first stop any ongoing Tx
431        and then start Tx frame:
432	echo "tx_frame=0" > /proc/mwlan/adapterX/config
433	echo "tx_frame=1 7 0xAAA 0x100 1 20 0 0 0 0 0 0 0 05:43:3f:c4:51" > /proc/mwlan/adapterX/config
434
435    hssetpara
436	This command is used to set host sleep parameters.
437    Example:
438        echo "hssetpara=2 0xff 0xc8 3 400" > /proc/mwlan/adapter0/config
439        echo "hssetpara=2 1 0xc8 3 400 " > /proc/mwlan/adapter0/config
440
441===============================================================================
442        U S E R  M A N U A L  F O R  MLANUTL
443
444NAME
445	mlanutl - configure the additional parameters available for NXP mdriver.
446
447SYNOPSIS
448	mlanutl -v
449	mlanutl <mlanX|uapX|wfdx> <command> [parameters] ...
450
451	mlanutl mlanX verext
452	mlanutl mlanX version
453	mlanutl mlanX hostcmd <conf> generate_raw <raw_data_file>
454	mlanutl mlanX hostcmd <send_om.conf> send_om_set
455	mlanutl mlanX getdatarate
456	mlanutl uapX getdatarate
457	mlanutl mlanX drvdbg [n]
458	mlanutl mlanX getlog
459	mlanutl mlanX getsignal [m] [n]
460	mlanutl mlanX signalextcfg [m]
461	mlanutl mlanX getsignalextv2 [m]
462	mlanutl mlanX getsignalext [m]
463	mlanutl mlanX get_txpwrlimit <n> [raw_data_file]
464	mlanutl mlanX aggrpriotbl [<m0> <n0> <m1> <n1> ... <m7> <n7>]
465	mlanutl uapX aggrpriotbl [<m0> <n0> <m1> <n1> ... <m7> <n7>]
466	mlanutl mlanX addbapara [<m> <n> <o> <p> <q>]
467	mlanutl uapX addbapara [<m> <n> <o> <p> <q>]
468	mlanutl mlanX addbareject [<m0> <m1> ... <m7>]
469	mlanutl uapX addbareject [<m0> <m1> ... <m7>]
470	mlanutl mlanX dyn_bw [n]
471	mlanutl mlanX vhtcfg <j> <k> [l] [m] [n] [o]
472	mlanutl uapX vhtcfg <j> <k> [l] [m] [n] [o]
473	mlanutl mlanX httxcfg [<m>] [<n>]
474	mlanutl mlanX htcapinfo [<m>] [<n>]
475        mlanutl mlanX 11axcfg [config/11axcfg.conf]
476	mlanutl mlanX 11axcmd <subcmd> <value>
477	mlanutl mlanX txratecfg [l] [m] [n] [o]
478	mlanutl uapX txratecfg [l] [m] [n] [o]
479	mlanutl mlanX txwatchdog [l]
480	mlanutl uapX txwatchdog [l]
481	mlanutl mlanX hssetpara condition [GPIO# [gap]] [ind_GPIO# [level]]
482	mlanutl mlanX mefcfg <mef.conf>
483        mlanutl mlanX cloud_keep_alive <keep_alive.conf> <start/stop/reset>
484	mlanutl mlanX min_ba_threshold <n>
485	mlanutl mlanX 11dcfg
486	mlanutl mlanX 11dclrtbl
487	mlanutl mlanX addts <filename.conf> <section# of tspec> <timeout in ms>
488	mlanutl mlanX amsduaggrctrl <n>
489	mlanutl mlanX antcfg [m] [n]
490	mlanutl mlanX/uapX mimoswitch [tx_antmode] [rx_antmode]
491	mlanutl mlanX arpfilter <arpfilter.conf>
492	mlanutl mlanX assocctrl <j> [k] [l] [m] [n]
493	mlanutl mlanX assocessid <"[essid]">
494	mlanutl mlanX assocessid_bssid <"[bssid] [essid]">
495	mlanutl mlanX associate "<bssid> <ssid>"
496    mlanutl mlanX get_chnrgpwr [save_region_channel_power_data_file]
497    mlanutl mlanX comparergpwr <uncompressed file> [target_file]
498    mlanutl mlanX comparetrpc <target_file> <src_file> [display]
499    mlanutl mlanX getcfgchanlist
500	mlanutl mlanX authtype [n]
501	mlanutl mlanX autotdls [n]
502        mlanutl mlanX tdls_idle_time [n]
503        mlanutl uapX dfs_offload [n]
504	mlanutl mlanX bandcfg [l] [m] [n]
505	mlanutl mlanX bcninterval [n]
506	mlanutl wfdX bssrole [l]
507	mlanutl mlanX cfgdata <register type> [<conf file>]
508	mlanutl mlanX cfpcode [m] [n]
509	mlanutl mlanX changraph [<load | anpi | anpiload> <loops>]
510	mlanutl mlanX coex_rx_winsize [m]
511	mlanutl mlanX countrycode [l]
512
513	mlanutl mlanX cfpinfo
514	mlanutl uapX cfpinfo
515
516	mlanutl mlanX customie [[[<index>] <mask>] <IEBuffer>]
517	mlanutl mlanX deauth [l]
518	mlanutl uapX deauth [l]
519	mlanutl mlanX deepsleep [l] [m]
520	mlanutl mlanX delba <l> [<m> <n>]
521	mlanutl uapX delba <l> [<m> <n>]
522	mlanutl mlanX delts <filename.conf> <section# of tspec>
523	mlanutl mlanX dfstesting [<user_cac_pd> <user_nop_pd> <no_chan_change> <fixed_chan_num><cac_restart>]
524	mlanutl uapX clear_nop
525	mlanutl uapX nop_list
526	mlanutl uapX fake_radar
527	mlanutl uapX getchload <duration>
528	mlanutl dfsX dfs_cac <channel> [<bw> <cac-period>]
529	mlanutl dfsX autodfs <stop | start> [conf_file]
530	mlanutl mlanX dfs_repeater [n]
531	mlanutl mlanX dfs53cfg [n]
532	mlanutl uapX dfs_mode [n]
533	mlanutl mlanX esuppmode [l] [m] [n]
534	mlanutl mlanX extcapcfg [<ext_cap>]
535	mlanutl mlanX fwmacaddr [mac_addr]
536	mlanutl mlanX getkey
537	mlanutl mlanX getscantable [ARGS]
538	mlanutl uapX getstalist
539    mlanutl uapX channel_switch <switch mode> <oper class> <new channel> <switch count> <bandwidth/num_pkts>
540    mlanutl uapX channel_switch <switch mode> <oper class> <new channel> <switch count> <bandwidth>
541	mlanutl mlanX hostcmd <11n_2040coex.conf> 2040coex
542	mlanutl mlanX hostcmd <auto_tx.conf> auto_tx_get
543	mlanutl mlanX hostcmd <auto_tx.conf> auto_tx_unreg
544	mlanutl mlanX hostcmd <bg_scan.conf> bgscfg
545
546	mlanutl mlanX hostcmd <pkt_coalescing.conf> coalesce_cfg
547	mlanutl mlanX hostcmd <ed_mac_ctrl.conf> ed_mac_ctrl
548	mlanutl mlanX hostcmd <crypto_test.conf> crypto_test
549	mlanutl mlanX hostcmd <auto_tx.conf> nat_keep_alive
550	mlanutl mlanX hostcmd <pad_cfg.conf> pad_cfg_get
551	mlanutl mlanX hostcmd <pad_cfg.conf> pad_cfg_set
552	mlanutl mlanX hostcmd <requesttpc.conf> requesttpc
553	mlanutl mlanX hostcmd <robust_btc.conf> mode_get
554	mlanutl mlanX hostcmd <robust_btc.conf> mode_timeshare
555	mlanutl mlanX hostcmd <robust_btc.conf> mode_spatial
556	mlanutl mlanX hostcmd <robust_btc.conf> mode_none
557	mlanutl mlanX hostcmd <robust_btc.conf> mode_bca
558	mlanutl mlanX hostcmd <robust_btc.conf> gpio_cfg
559	mlanutl mlanX hostcmd <robust_btc.conf> external_coex_config
560	mlanutl mlanX hostcmd <robust_btc.conf> external_coex_pta_config
561	mlanutl mlanX hostcmd <robust_btc.conf> external_coex_uart_config
562	mlanutl mlanX hostcmd <robust_btc.conf> generictime
563	mlanutl mlanX hostcmd <robust_btc.conf> a2dptime
564	mlanutl mlanX hostcmd <robust_btc.conf> inquirytim
565	mlanutl mlanX hostcmd <robust_btc.conf> ap_generictime
566	mlanutl mlanX hostcmd <robust_btc.conf> ap_a2dptime
567	mlanutl mlanX hostcmd <robust_btc.conf> ap_inquirytime
568	mlanutl mlanX hostcmd <coex_int_api.conf> get_bca_arb_config
569	mlanutl mlanX hostcmd <coex_int_api.conf> set_en_bca_arb_config
570	mlanutl mlanX hostcmd <coex_int_api.conf> set_dis_bca_arb_config
571	mlanutl mlanX hostcmd <coex_int_api.conf> set_wlan_traffic_priority
572	mlanutl mlanX hostcmd <coex_int_api.conf> get_wlan_traffic_priority
573	mlanutl mlanX hostcmd <coex_int_api.conf> get_wlan_stats
574	mlanutl mlanX hostcmd <coex_int_api.conf> get_15_4_stats
575	mlanutl mlanX hostcmd <coex_int_api.conf> get_bt_stats
576	mlanutl mlanX hostcmd <coex_int_api.conf> get_ble_stats
577	mlanutl mlanX hostcmd <sdio_pulldown.conf> sdio_pulldown_disable
578	mlanutl mlanX hostcmd <sdio_pulldown.conf> sdio_pulldown_get
579	mlanutl mlanX hostcmd <sdio_pulldown.conf> sdio_pulldown_set
580	mlanutl mlanX hostcmd <subevent.conf> subevent_get
581	mlanutl mlanX hostcmd <subevent.conf> subevent_set
582	mlanutl mlanX hostcmd <txpwrlimit_cfg.conf> txpwrlimit_2g_cfg_set
583	mlanutl mlanX hostcmd <txpwrlimit_cfg.conf> txpwrlimit_5g_cfg_set
584	mlanutl mlanX hostcmd <txpwrlimit_cfg.conf> txpwrlimit_cfg_get
585	mlanutl mlanX hostcmd <txrate_cfg.conf> txrate_cfg_get
586	mlanutl mlanX hostcmd <txrate_cfg.conf> txrate_cfg_set_bg
587	mlanutl mlanX hostcmd <txrate_cfg.conf> txrate_cfg_set_bgn
588	mlanutl mlanX hostcmd <conf> generate_raw <raw_data_file>
589	mlanutl mlanX hostcmd <fwdump.conf> fwdump
590
591	mlanutl mlanX hostcmd <debug.conf> stop_su
592	mlanutl mlanX hostcmd <debug.conf> start_su
593
594	mlanutl mlanX hotspotcfg [<bitmap>]
595	mlanutl mlanX hscfg [condition [[GPIO# [gap]]]] [ind_GPIO# [level]]
596	mlanutl mlanX mgmtfilter <mgmtfilter.conf>
597	mlanutl mlanX auto_arp [n]
598	mlanutl mlanX htstreamcfg [n]
599	mlanutl mlanX httxbfcap [cap]
600	mlanutl mlanX httxbfcfg "<action>[;GlobalData/tsData/interval/txPeerData/snrData]"
601	mlanutl mlanX inactivityto <n> <m> <l> [k]
602	mlanutl mlanX ipaddr ["<op>;<ipaddr>"]
603	mlanutl mlanX linkstats
604	mlanutl mlanX listeninterval [l]
605	mlanutl mlanX macctrl [n]
606	mlanutl uapX macctrl [n]
607	mlanutl mlanX memrdwr <address> [value]
608	mlanutl mlanX miracastcfg [l] [m] [n]
609	mlanutl mlanX mgmtframectrl [<mask>]
610	mlanutl uapX mgmtframectrl [<mask>]
611	mlanutl mlanX mgmtframetx <mgmt_frame.conf>
612	mlanutl mlanX mpactrl [tx_ena] [rx_ena] [tx_size] [rx_size] [tx_ports] [rx_ports]
613	mlanutl mlanX netmon [<act> [<filter> <band> <chan> <opt>]]
614	mlanutl mlanX monitormode [l]
615	mlanutl mlanX offchannel [<l> <m> <n> <bandwidth>]
616	mlanutl mlanX otpuserdata <l>
617	mlanutl mlanX passphrase [l]
618	mlanutl mlanX pb_bypass [data_1, data_2, ... data_n]
619	mlanutl mlanX pcieregrw <offset> [value]
620	mlanutl mlanX pciebar0regrw <offset> [value]
621	mlanutl mlanX pmfcfg <mfpc> <mfpr>
622	mlanutl mlanX port_ctrl [n]
623	mlanutl mlanX powercons [n]
624	mlanutl mlanX pscfg [k] [d] [l] ...
625	mlanutl mlanX bcntimeoutcfg [l] [m] [o] [p]
626	mlanutl mlanX psmode [l]
627
628        mlanutl <interface> robustcoex <gpiocfg> [Enable/Disable] [gpionum] [gpiopolarity]
629	mlanutl mlanX qconfig def [Queue Id: 0-3]
630	mlanutl mlanX qconfig get [Queue Id: 0-3]
631	mlanutl mlanX qconfig set msdu <lifetime in TUs> [Queue Id: 0-3]
632	mlanutl mlanX qoscfg
633	mlanutl mlanX qstatus
634	mlanutl mlanX radioctrl [n]
635	mlanutl mlanX rdeeprom <offset> <length>
636	mlanutl mlanX reassoctrl [n]
637	mlanutl mlanX regioncode [n]
638	mlanutl mlanX regrdwr <type> <offset> [value]
639	mlanutl mlanX rejectaddbareq [conditions]
640	mlanutl uapX rejectaddbareq [conditions]
641	mlanutl mlanX scancfg [t] [m] [p] [s] [a] [b] [c] [ext] [gap]
642	mlanutl mlanX sdcmd52rw <FN no.> <address> [data]
643	mlanutl mlanX sdcmd53rw <FN no.> <address> <mode> <blksize> <blknum> [data1] ... [dataN]
644	mlanutl mlanX sdioclock <n>
645	mlanutl mlanX setuserscan [ARGS]
646	mlanutl mlanX cancelscan
647	mlanutl mlanX sleepparams [<p1> <p2> <p3> <p4> <p5> <p6>]
648	mlanutl mlanX sleeppd [n]
649	mlanutl mlanX sysclock [clk1] [clk2] [clk3] [clk4]
650	mlanutl mlanX tcpackenh [l] [m]
651	mlanutl mlanX tdls_channel_switch <tdls.conf>
652	mlanutl mlanX tdls_config <0/1>
653	mlanutl mlanX tdls_cs_params <tdls.conf>
654	mlanutl mlanX tdls_debug "allow_weak_security" <0/1>
655	mlanutl mlanX tdls_debug "cs_im_return" <0/1>
656	mlanutl mlanX tdls_debug "fail_setup_confirm" <0/1>
657	mlanutl mlanX tdls_debug "higher_lower_mac" <0/1>
658	mlanutl mlanX tdls_debug "ignore_key_expiry" <0/1>
659	mlanutl mlanX tdls_debug "setup_existing_link" <0/1>
660	mlanutl mlanX tdls_debug "setup_with_prohibited" <0/1>
661	mlanutl mlanX tdls_debug "stop_rx" <0/1>
662	mlanutl mlanX tdls_debug "wrong_bss" <0/1>
663	mlanutl mlanX tdls_disable_cs <0/1>
664	mlanutl mlanX tdls_discovery <tdls.conf>
665	mlanutl mlanX tdls_link_status
666	mlanutl mlanX tdls_powermode <tdls.conf>
667	mlanutl mlanX tdls_setinfo <tdls.conf>
668	mlanutl mlanX tdls_setup <tdls.conf>
669	mlanutl mlanX tdls_stop_channel_switch <tdls.conf>
670	mlanutl mlanX tdls_teardown <tdls.conf>
671	mlanutl mlanX thermal
672	mlanutl mlanX ts_status
673	mlanutl mlanX tsf
674	mlanutl mlanX txaggrctrl [m]
675	mlanutl mlanX txbufcfg
676	mlanutl mlanX aggrctrl [l]
677	mlanutl mlanX usbaggrctrl [l] [m] [n] [o] [p] [q] [r] [s]
678	mlanutl mlanX usbresume
679	mlanutl mlanX usbsuspend
680        mlanutl <interface> per_pkt_cfg [tx_rx_control] [type_num] [ether_type1 ether_type2 ...] [tx_rx_control] [type_num] [ether_type1 ether_type2 ...]
681        mlanutl <interface> dot11_txrx <send/recv> <options>
682	mlanutl mlanX txrxhistogram [action] [tx_rx_statics]
683	mlanutl uapX txrxhistogram [action] [tx_rx_statics]
684	mlanutl mlanX wakeupreason
685	mlanutl uapX wakeupreason
686	mlanutl mlanX warmreset
687	mlanutl mlanX wpssession [n]
688	mlanutl mlanX wmmcfg [n]
689	mlanutl mlanX wmmparamcfg [AC_BE AIFSN ECW_MAX ECW_MIN TX_OP]
690				[AC_BK AIFSN ECW_MAX ECW_MIN TX_OP]
691				[AC_VI AIFSN ECW_MAX ECW_MIN TX_OP]
692				[AC_VO AIFSN ECW_MAX ECW_MIN TX_OP]
693	mlanutl mlanX wwscfg [m]
694	mlanutl p2pX cfg_noa [h] [i] [j] [k] [l]
695	mlanutl p2pX cfg_opp_ps [m] [n]
696        mlanutl mlanX get_sensor_temp
697        mlanutl <inteface> indrstcfg <ir_mode> [gpio_pin]
698
699
700        mlanutl uapX ctrldeauth <n>
701
702        mlanutl mlanX/uapX bootsleep <1/0>
703
704        mlanutl mlanX ssu [mode] [ssu file]
705
706        mlanutl mlanX csi <disable/enable (config file)>
707
708        mlanutl mlanX arb [mode]
709
710        mlanutl mlanX dmcs <subcmd> [value]
711
712	mlanutl mlanX/uapX range_ext [mode]
713        mlanutl mlanX twt_setup [config/twt.conf]
714        mlanutl mlanX twt_teardown [config/twt.conf]
715        mlanutl <interface> rx_abort_cfg [enable] [rssi_threshold]
716        mlanutl <interface> rx_abort_cfg_ext [enable] [margin ceil_thresh]
717        mlanutl <interface> tx_ampdu_prot_mode [mode]
718        mlanutl <interface> rate_adapt_cfg [low_thresh high_thresh timer_interval]
719        mlanutl <interface> cck_desense_cfg [mode] [margin ceil_thresh] [num_on_intervals num_off_intervals]
720        mlanutl mlanX/uapX lpm [mode]
721        mlanutl <interface> dot11mc_unassoc_ftm_cfg [enable]
722	    mlanutl mlanX tp_state [mode] [drop_point]
723        mlanutl mlanX/uapX clocksync [j][k] [l] [m] [n]
724        mlanutl mlanX/uapX gettsfinfo [j]
725        mlanutl uapX backupchan [j]
726        mlanutl uapX targetchan [j]
727        mlanutl mlanX ips_cfg [1/0]
728        mlanutl mlanX/uapX mcast_aggr_group [action] [mcast_addr]
729        mlanutl mlanX/uapX mc_aggr_cfg [i][j]
730        mlanutl uapX mcast_tx <mcast_tx.conf>
731	mlanutl <interface> getuuid
732
733DESCRIPTION
734	Those commands are used to send additional commands to the NXP MLAN
735	card via the Linux device driver.
736
737	The mlanX parameter specifies the network device that is to be used to
738	perform this command on. It could be mlan0, mlan1 etc.
739
740verext
741	Retrieve and display an extended version string from the firmware
742
743	Usage:
744		mlanutl mlanX verext [#]
745
746	where [#] is an optional argument to retrieve a specific version string,
747	omission of the argument retrieves the 0 indexed string.
748
749version
750	This is used to get the current version of the driver and the firmware.
751
752drvdbg
753	This command is used to set/get the bit masks of driver debug message control.
754
755	Usage:
756		mlanutl mlanX drvdbg [n]
757
758	Where the parameter <n> is the generic debug message control bit mask.
759	The following types of driver debug messages can be dynamically enabled or
760	disabled by setting or clearing the corresponding bits,
761		bit 0:  MMSG            PRINTM(MMSG,...)
762		bit 1:  MFATAL          PRINTM(MFATAL,...)
763		bit 2:  MERROR          PRINTM(MERROR,...)
764		bit 3:  MDATA           PRINTM(MDATA,...)
765		bit 4:  MCMND           PRINTM(MCMND,...)
766		bit 5:  MEVENT          PRINTM(MEVENT,...)
767		bit 6:  MINTR           PRINTM(MINTR,...)
768		bit 7:  MIOCTL          PRINTM(MIOCTL,...)
769		...
770		bit 16: MDAT_D          PRINTM(MDAT_D,...), DBG_HEXDUMP(MDAT_D,...)
771		bit 17: MCMD_D          PRINTM(MCMD_D,...), DBG_HEXDUMP(MCMD_D,...)
772		bit 18: MEVT_D          PRINTM(MEVT_D,...), DBG_HEXDUMP(MEVT_D,...)
773		bit 19: MFW_D           PRINTM(MFW_D,...),  DBG_HEXDUMP(MFW_D,...)
774		bit 20: MIF_D           PRINTM(MIF_D,...),  DBG_HEXDUMP(MIF_D,...)
775		...
776		bit 28: MENTRY          PRINTM(MENTRY,...), ENTER(), LEAVE()
777		bit 29: MWARN           PRINTM(MWARN,...)
778		bit 30: MINFO           PRINTM(MINFO,...)
779
780	If CONFIG_DEBUG=2, all kinds of debug messages can be configured.
781
782	If CONFIG_DEBUG=1, all kinds of debug messages can be configured except
783	for MENTRY, MWARN and MINFO. By default MMSG, MFATAL and MERROR are enabled.
784
785	Some special debug messages,
786		'*'             // MLAN driver ISR is called (bit 6 MINTR enabled)
787		'|'             // PS awake event is received (bit 5 MEVENT enabled)
788		'_'             // PS sleep event is received (bit 5 MEVENT enabled)
789		'+'             // PS sleep confirm is sent (bit 5 MEVENT enabled)
790
791	Examples:
792		mlanutl mlan0 drvdbg             : Get the current driver debug masks
793		mlanutl mlan0 drvdbg 0           : Disable all the debug messages
794		mlanutl mlan0 drvdbg 7           : Enable MMSG, MFATAL and MERROR messages
795		mlanutl mlan0 drvdbg 0x20037     : Enable MMSG, MFATAL, MEEROR,
796		                                   MCMND, MEVENT and MCMD_D messages
797		mlanutl mlan0 drvdbg -1          : Enable all the debug messages
798
799hostcmd generate_raw
800	This command is used to generate the raw data(hostcommand block) for
801	hostcommand in <conf_file> and write that to file <raw_data_file>
802
803	Usage:
804		mlanutl mlanX hostcmd <conf_file> generate_raw <raw_data_file>
805
806hostcmd send_om_set
807	This command is used to configure the STAUT to include OM control subfield
808
809	Usage:
810		mlanutl mlanX hostcmd <send_om.conf> send_om_set
811
812getdatarate
813	This command is used to get the data rate being used in last Tx
814	packet and last Rx packet.
815
816getlog
817	This command is used to get the statistics available in the station.
818	Following stats are displayed:-
819	dot11MulticastTransmittedFrameCount	Increments when the multicast bit is set in the destination
820						MAC address of a successfully transmitted MSDU
821
822	dot11FailedCount			Increments when an MSDU is not transmitted successfully
823
824	dot11RetryCount				Increments when an MSDU is successfully transmitted after one
825						or more retransmissions
826
827	dot11MultipleRetryCount			Increments when an MSDU is successfully transmitted after more
828						than one retransmission
829
830	dot11FrameDuplicateCount		Increments when a frame is received that the Sequence Control
831						field is indicating a duplicate count
832
833	dot11RTSSuccessCount			Increments when a CTS is received in response to an RTS
834
835	dot11RTSFailureCount			Increments when a CTS is not received in response to an RTS
836
837	dot11ACKFaliureCount			Increments when an ACK is not received when expected
838
839	dot11ReceivedFragmentCount		Increments for each successfully received MPDU of type Data or Management
840
841	dot11MulticastReceivedFrameCount	Increments when a MSDU is received with the multicast bit set in the destination MAC address
842
843	dot11FCSErrorCount			Increments when an FCS error is detected in a received MPDU
844
845	dot11TransmittedFrameCount		Increments for each successfully transmitted MSDU
846
847	dot11WeplcvErrCnt			Increment when WEP  (use of WEP/TKIP is not recommended anymore)decryption error for key index 0.3
848
849	beaconReceivedCnt			Increments when received beacon
850
851	beaconMissedCnt				Increments when beacon missed
852
853	dot11TransmittedFrameCount		Increments for each successfully transmitted MSDU
854
855	dot11QosTransmittedFragmentCount	Increments when a corresponding UP's MPDU transmitted successfully
856
857	dot11QosFailedCount			Increments when a corresponding UP's MSDU not transmitted successfully
858
859	dot11QosRetryCount			Increment when a corresponding UP's MSDU transmitted successfully after one or more retransmission
860
861	dot11QosMultipleRetryCount		Increments when a corresponding UP's MSDU is successfully transmitted after more than one retransmission
862
863	dot11QosFrameDuplicateCount		Increments when a corresponding UP's frame is received that the Sequence
864						Control field is indicating a duplicate frame
865
866	dot11QosRTSSuccessCount			Increments when a CTS is received in response to an RTS, which is sent for a corresponding UP's Qos frame
867
868	dot11QosRTSFailureCount			Increments when a CTS is not received in response to an RTS, which is sent for a corresponding UP's
869						Qos frame
870
871	dot11QosACKFailureCount			Increments when an ACK is not received when expected for a corresponding UP's Qos frame
872
873	dot11QosReceivedFragmentCount		Increments when a corresponding UP's MPDU received
874
875	dot11QosTransmittedFrameCount		Increments when a corresponding UP's MSDU transmitted
876
877	dot11QosDiscardedFrameCount		Increments when a corresponding UP's MSDU not transmitted successfully
878
879	dot11QosMPDUsReceivedCount		Increments when a corresponding UP's MDPU received
880
881
882	dot11QosRetriesReceivedCount		Increments when a corresponding UP's MDPU received which retry bit is set
883
884	dot11RSNAStatsCMACICVErrors		Increment when a MPDU discard by CMAC integrity check
885
886	dot11RSNAStatsCMACReplays		Increments when a MPDU discarded by the CMAC replay error
887
888	dot11RSNAStatsRobustMgmtCCMPReplays	Increments when a robust management frame discarded by CCMP replay error
889
890	dot11RSNAStatsTKIPICVErrors		Increments when a MPDU discarded by TKIP ICV error //(use of WEP/TKIP is not recommended anymore)
891
892	dot11RSNAStatsTKIPReplays		Increments when a MPDU discarded by TKIP replay error  //(use of WEP/TKIP is not recommended anymore)
893
894	dot11RSNAStatsCCMPDecryptErrors		Increments when a MPDU discarded by CCMP decryption error
895
896	dot11RSNAStatsCCMPReplays		Increments when a MPDU discarded by CCMP replay error
897
898	dot11TransmittedAMSDUCount		Increments when a A-MSDU transmitted successfully
899
900	dot11FailedAMSDUCount			Increments when a A-MSDU not transmitted successfully
901
902	dot11RetryAMSDUCount			Increments when a A-MSDU is successfully transmitted after one or more retransmissions
903
904	dot11MultipleRetryAMSDUCount		Increments when a A-MSDU is successfully transmitted after more than one retransmissions
905
906	dot11TransmittedOctetsInAMSDUCount	Increments by the number of octets in the frame body
907						of an A-MSDU frame when an A-MSDU frame is successfully transmitted
908
909	dot11AMSDUAckFailureCount		Increments when an acknowledgment to an A-MSDU is not received when expected.
910
911	dot11ReceivedAMSDUCount			Increments when a A-MSDU frame received
912
913	dot11ReceivedOctetsInAMSDUCount		Increments by the number of octets in the frame body
914						of an A-MSDU frame when an A-MSDU frame is received
915
916	dot11TransmittedAMPDUCount		Increments when an A-MPDU is transmitted
917
918	dot11TransmittedMPDUsInAMPDUCount	Increments by the number of MPDUs in the A-MPDU when an A-MPDU is transmitted
919
920	dot11TransmittedOctetsInAMPDUCount	Increments by the number of octets in the A-MPDU frame when an A-MPDU frame is transmitted
921
922	dot11AMPDUReceivedCount			Increments when the MAC receives an A-MPDU from the PHY
923
924	dot11MPDUInReceivedAMPDUCount		Increments by the number of MPDUs received in the
925						A-MPDU when an A-MPDU is received
926
927	dot11ReceivedOctetsInAMPDUCount		Increments by the number of octets in the A-MPDU
928						frame when an A-MPDU frame is received
929
930	dot11AMPDUDelimiterCRCErrorCount	Increments when an MPDU delimiter has a CRC error when this is the first
931						CRC error in the received A-MPDU or when the previous delimiter has been decoded correctly
932
933        Cmd Usage: mlanutl mlanX getlog ext
934	The above command is used with the argument "ext" to display the following error statistics:-
935
936	rxStuckIssueCount-1
937        rxStuckIssueCount-2
938        rxStuckRecoveryCount
939        rxStuckTsf-1
940        rxStuckTsf-2
941        txWatchdogRecoveryCount
942        txWatchdogTsf-1
943        txWatchdogTsf-2
944        channelSwitchAnnouncementSent
945        channelSwitchState
946        registerClass
947        channelNumber
948        channelSwitchMode
949        RxResetRecoveryCount
950        RxIsr2NotDoneCnt
951        gdmaAbortCnt
952        gResetRxMacCnt
953        gOwnrshpCtlErrCnt
954        gOwnrshpBcnErrCnt
955        gOwnrshpMgtErrCnt
956        gOwnrshpDatErrCnt
957
958getsignal
959	This command gets the last and average value of RSSI, SNR and NF of
960	Beacon and Data.
961	Note: This command is available only when STA is connected.
962
963	where value of m is:
964		1   -- RSSI (Receive Signal Strength Indication)
965		2   -- SNR (Signal to Noise Ratio)
966		3   -- NF (Noise Floor)
967	where value of n is:
968		1   -- Beacon last
969		2   -- Beacon average
970		3   -- Data last
971		4   -- Data average
972
973	Examples:
974		mlanutl mlan0 getsignal 1        : Get the RSSI info (beacon last, beacon
975		                                  average, data last and data average)
976		mlanutl mlan0 getsignal 3 4      : Get the NF of data average
977		mlanutl mlan0 getsignal 2 1      : Get the SNR of beacon last
978		mlanutl mlan0 getsignal          : Get all of the signal info
979		mlan0     getsignal:-32  -33  -35  -36  67  59  63  56  -99  -92  -98  -92
980		RSSI info: beacon last -32, beacon average -33, data last -35, data average -36
981		SNR info: beacon last 67, beacon average 59, data last 63, data average 56
982		NF info: beacon last -99, beacon average -92, data last -98, data average -92
983
984getsignalext
985	This command gets the last and average value of RSSI, SNR and NF of
986	Beacon and Data of spectific antenna path.
987	Note: This command is available only when STA is connected.
988              Driver will enable signalext and collect signal information for one second
989
990	where value of m is:
991		1   -- PATH A
992		2   -- PATH B
993		3   -- PATH A+B
994
995	Examples:
996        	mlanutl mlan0 getsignalext          :Get All path's signal.
997        	mlanutl maln0 getsignalext 3        :Get path A+B signal
998        	mlanutl maln0 getsignalext 1        :Get path A signal
999		mlanutl mlan0 getsignalext 2        :Get path B signal
1000
1001        PATH A: -46 -46 -49 -49 65 45 39 42 -111 -91 -88 -91
1002
1003	PATH A: RSSI info: beacon last -46, beacon average -46, data last -49, data average -49
1004		SNR info: beacon last 65, beacon average 45, data last 39, data average 42
1005		NF info: beacon last -111, beacon average -91, data last -88, data average -91
1006
1007signalextcfg
1008	This command is used to enable/disable signalext
1009	Usage:
1010    		mlanutl mlanX signalextcfg [m]
1011	where the value of [m] is:
1012		1 -- enable signalext in firmware
1013		0 -- disable signalext in firmware
1014	Examples:
1015		mlanutl mlan0 signalextcfg 1 : Enable signalext in firmware
1016		mlanutl mlan0 signalextcfg 0 : Disable signalext in firmware
1017
1018getsignalextv2
1019	This command gets the last and average value of RSSI, SNR and NF of
1020	Beacon and Data of spectific antenna path.
1021	Note: This command is available only when STA is connected.
1022              "mlanutl mlanX signalextcfg 1" command needs to be issued before issuing this command
1023
1024	where value of m is:
1025		1   -- PATH A
1026		2   -- PATH B
1027		3   -- PATH A+B
1028
1029	Examples:
1030        	mlanutl mlan0 getsignalextv2          :Get All path's signal.
1031        	mlanutl maln0 getsignalextv2 3        :Get path A+B signal
1032        	mlanutl maln0 getsignalextv2 1        :Get path A signal
1033		mlanutl mlan0 getsignalextv2 2        :Get path B signal
1034
1035        PATH A: -46 -46 -49 -49 65 45 39 42 -111 -91 -88 -91
1036
1037	PATH A: RSSI info: beacon last -46, beacon average -46, data last -49, data average -49
1038		SNR info: beacon last 65, beacon average 45, data last 39, data average 42
1039		NF info: beacon last -111, beacon average -91, data last -88, data average -91
1040
1041get_txpwrlimit
1042	This command is used to get the txpwrlimit table in FW
1043Usage:
1044 	mlanutl mlanX get_txpwrlimit <n> [raw_data_file]
1045	where <n>
1046		0:      Get 2.4G txpwrlimit table
1047		0x10:   Get 5G sub0 txpwrlimit table
1048		0x11:   Get 5G sub1 txpwrlimit table
1049		0x12:   Get 5G sub2 txpwrlimit table
1050		0x13:   Get 5G sub3 txpwrlimit table
1051		0x1f:   Get all 5G txpwrlimit table
1052		0xff:   Get both 2G and 5G txpwrlimit table
1053	<raw_data_file> driver will save fw raw data to this file.
1054
1055    Examples:
1056		mlanutl mlan0 get_txpwrlimit 0                      : Get 2G txpwrlimit table.
1057		mlanutl mlan0 get_txpwrlimit 0x10                   : Get 5G sub band0 txpwrlimit table
1058		mlanutl mlan0 get_txpwrlimit 0xff txpwrlimit.bin    : Get both 2G/5G txpwrlimit table and save to txpwrlimit.bin
1059
1060aggrpriotbl
1061	This command is used set/get the priority table for AMPDU/AMSDU traffic per tid.
1062	This command can also be used to disable AMPDU/AMSDU for a given tid.
1063	In case of AMPDU this priority table will be used to setup block ack (to make
1064	sure the highest priority tid always uses AMPDU as we have limited AMPDU streams)
1065
1066	where <m0> <n0> <m1> <n1> ... <m7> <n7>
1067
1068	<mx> - This is priority for Tid0 for AMPDU packet. A priority could be any
1069		   values between 0 - 7, 0xff to disable aggregation.
1070	<nx> - This is priority for Tid0 for AMSDU packet. A priority could be any
1071		   values between 0 - 7, 0xff to disable aggregation.
1072
1073	eg:
1074	mlanutl mlanX aggrpriotbl - This command will get the current Priority table for AMPDU and AMSDU.
1075						  <2 2 0 0 1 1 3 3 4 4 5 5 255 255 255 255>. This is read as
1076						  <"Prio for AMPDU for Tid0" "Prio for AMSDU for Tid0"
1077						   "Prio for AMPDU for Tid1" "Prio for AMSDU for Tid1" and so on
1078	mlanutl mlanX aggrpriotbl 2 2 0 0 1 1 3 3 4 4 5 5 255 255 255 255 -
1079						This will set the priority table for AMPDU and AMSDU
1080						Priority for Tid0/AMPDU = 2, Tid0/AMSDU = 2, Tid1/AMPDU = 0, Tid1/AMSDU = 0
1081						and so on. Aggregation for Tid6 and Tid7 are disabled.
1082						Here higher the priority number, higher the priority (i.e. 7
1083						has higher priority than 6). Similarly for AMSDU.
1084	mlanutl mlanX aggrpriotbl 0xff 2 0xff 0 0xff 1 0xff 3 0xff 4 0xff 5 0xff 0xff 0xff 0xff - This will disable
1085						AMPDU for all the TIDs but will still keep AMSDU enabled to Tid0 to Tid5
1086
1087	The default setting is 2 255 0 255 1 255 3 255 4 255 5 255 255 255 255 255.
1088
1089	A delBA should be seen in case a disable happens on a TID for which AMPDU stream
1090	is currently setup.
1091
1092	Note:- This command should only be issue in disconnected state.
1093
1094addbapara
1095	This command can be used to update the default ADDBA parameters.
1096
1097	where <m> is <timeout>
1098	<timeout> - This is the block ack timeout for ADDBA request.
1099		0 : Disable (recommended for throughput test)
1100		1 - 65535 : Block Ack Timeout in TU
1101
1102	where <n> is <txwinsize>
1103	<txwinsize> - Window size for ADDBA request. (16 is recommended and default value)
1104
1105	where <o> is <rxwinsize>
1106	<rxwinsize> - Window size for ADDBA response. (48 is recommended and 32 is default value)
1107	              (16 is recommended for IWNCOMM AP in WAPI throughput test)
1108
1109	Current window size limit for Tx as well as Rx is 1023.
1110
1111	where <p> is <txamsdu>
1112	<txamsdu> - amsdu support for ADDBA request. (1 is default value)
1113            0: disable amsdu in ADDBA request
1114            1: enable amsdu in ADDBA request
1115
1116	where <q> is <rxamsdu>
1117	<rxamsdu> - amsdu support for ADDBA response. (1 is default value)
1118            0: disable amsdu in ADDBA response
1119            1: enable amsdu in ADDBA response
1120
1121	eg:
1122	mlanutl mlanX addbapara - This command will get the current addba params
1123	mlanutl mlanX addbapara 1000 64 8 0 0 - This will change the ADDBA timeout to (1000 * 1024) us,
1124			txwinsize to 64 and rxwinsize to 8 and disable amdsu in ADDBA request/response.
1125
1126	The default setting is 65535 16 32 1 1.
1127
1128	In case the ADDBA timeout value is updated then a ADDBA is sent for all streams
1129	to update the timeout value.
1130
1131	In case txwinsize and/or rxwinsize is updated, the effect could only be seen on
1132	next ADDBA request/response. The current streams will not be affected with this
1133	change.
1134
1135	In case of txamsdu/rxamsdu is updated, the effect could only be seen on
1136	next ADDBA request/response. The current streams will not be affected with this
1137	change. AMSDU in AMPDU stream will be enabled when AP support this feature
1138	and AMSDU is enabled in aggrpriotbl.
1139
1140addbareject
1141	This command is used set/get the addbareject table for all the TIDs.
1142	This command can also be used to enable rejection of ADDBA requests for a given tid.
1143
1144	where <m0> <m1> ... <m7>
1145
1146	<mX> - This can be 0/1 for TidX. 1 enables rejection of ADDBA request for TidX and
1147		   0 would accept any ADDBAs for TidX.
1148
1149	eg:
1150	mlanutl mlanX addbareject - This command will get the current table.
1151	    [0 0 0 0 0 0 0 0]. ADDBA would be accepted for all TIDs. This is the default state.
1152
1153	mlanutl mlanX addbareject 0 0 1 1 0 0 0 0 - This command will accept ADDBA requests for
1154		Tid [0,1,4,5,6,7] and reject ADDBA requests for Tid [2,3]
1155
1156	mlanutl mlanX addbareject 1 1 1 1 1 1 1 1 - This will enable rejection of ADDBA requests for
1157		all Tids.
1158
1159	Note:- This command should only be issue in disconnected state.
1160
1161vhtcfg
1162	This command is used to set and get various 11ac specific configuration
1163	for transmission and reception. For the SET operation, all paramaters
1164	may be applied. For the GET operation, only the first two parameters are applied.
1165	The 6th argument "rx_mcs_set" can be used to disbale/enable 802.11ac.
1166
1167	where <j> is <band>
1168	<band> - This is the band setting for the vhtcfg
1169		0: Settings for both 2.4G and 5G bands (for SET operation, 11N BW only)
1170		1: Settings for 2.4G band (for 11N BW only)
1171		2: Settings for 5G band
1172
1173	where <k> is <txrx>
1174	<txrx> - This parameter specifies the configuration of VHT operation for TX or/and VHT capabilities
1175		0: Unspecified
1176		1: configuration of VHT capabilities for Tx operations (STA only)
1177		2: configuration of VHT capabilities for association (STA only)
1178		3: configuration of VHT capabilities (uAP only)
1179	Note: For the STA, the VHT capabilities configuration is applied in association,
1180	      whereas the VHT operations configuration is actually used in Tx.
1181
1182	where [l] is <bwcfg>
1183	<bwcfg> - This parameter specifies the bandwidth (BW) configuration
1184		  applied to the vhtcfg.
1185	If <txrx> is 1/3 (Tx operations),
1186		0: Tx BW follows the BW (20/40 MHz) from 11N CFG
1187		1: Tx BW follows the BW (80/160/80+80 MHz) from VHT Capabilities
1188		   defined in <vhtcap> below for 5G band.
1189	If <txrx> is 2 (association),
1190		0: Rx BW follows the BW (20/40 MHz) from 11N CFG
1191		1: Rx BW follows the BW (80/160/80+80 MHz) from VHT Capabilities
1192		   defined in <vhtcap> below for 5G band.
1193
1194	where [m] is <vhtcap>
1195	<vhtcap> - This parameter specifies the VHT capabilities info if <txrx> is 2 (association)
1196		   or the VHT Tx operations if <txrx> is 1 (Tx operations).
1197		   The VHT Tx operation should be a subset of VHT capabilities for association.
1198		   It is a bitmap and should be used as follows:
1199
1200		Bit 31-30: Reserved and set to 0
1201		Bit 29:    TX antenna pattern consistency
1202			   1: antenna pattern does not change
1203			   0: antenna pattern might change
1204		Bit 28:    RX antenna pattern consistency
1205			   1: antenna pattern does not change
1206			   0: antenna pattern might change
1207		Bit 27-26: VHT link adaptation capable
1208			   0: no feedback of VHT MFB from the STA
1209			   1: unsolicted feedback of VHT MFB from the STA
1210			   2: both response and unsolicted feedback of VHT MFB
1211			      from the STA
1212			   3: reserved and set to 0
1213		Bit 25-23: Maximum A-MPDU length exponent
1214		Bit 22:    +HTC-VHT capable (1: enable. 0 disable)
1215		Bit 21:    VHT TXOP PS
1216		Bit 20:    MU beamformee capable (1: enable. 0 disable)
1217		Bit 19:    MU beamformer capable (1: enable. 0 disable)
1218		Bit 18-16: Number of sounding dimensions (set to maximum-1
1219			   if Bit 11 is 1. Otherwise, reserved and set to 0)
1220		Bit 15-13: Compressed steering number of beamformer
1221			   antennas supported (set to maximum-1 if Bit 12 is 1.
1222			   Otherwise, reserved and set to 0)
1223		Bit 12:    SU beamformee capable (1: enable. 0 disable)
1224		Bit 11:    SU beamformer capable (1: enable. 0 disable)
1225		Bit 10-8:  Rx STBC
1226			   0: no support
1227			   1: support of 1 spatial stream
1228			   2: support of 1-2 streams
1229			   3: support of 1-3 spatial streams
1230			   4: support of 1-4 spatial streams
1231			   5-7: reserved and set to 0
1232		Bit 7:     TX STBC (1: enable. 0 disable)
1233		Bit 6:     Short GI for 160 and 80+80 MHz (1: enable. 0 disable)
1234		Bit 5:     Short GI for 80 MHz (1: enable. 0 disable)
1235		Bit 4:     Rx LDPC (1: enable. 0 disable)
1236		Bit 3-2:   Supported channel width set.
1237			   0: no support of either 160 or 80+80 MHz.
1238			   1: support of 160 MHz
1239			   2: support of both 160 and 80+80 MHz.
1240			   3: reserved and set to 0.
1241		Bit 1-0:   Maximum MPDU length
1242			   0: 3895 octets.
1243			   1: 7991 octets.
1244			   2: 11454 octets.
1245			   3: reserved and set to 0.
1246
1247	Note: for the STA, if <txrx> is 1 (Tx operations), the bitmap for <vhtcap> may be simplied as follows:
1248		Bit 31-8: Reserved and set to 0
1249		Bit 7:    Tx STBC (1: enable. 0 disable)
1250		Bit 6:    Reserved and set to 0
1251		Bit 5:    Short GI for 80 Mhz (1: enable. 0 disable)
1252		Bit 4:    LDPC (1: enable. 0 disable)
1253		Bit 3-0:  Reserved and set to 0
1254
1255	where [n] is <tx_mcs_map>,
1256	<tx_mcs_map> - This parameter specifies the TX MCS map. It may not be used for the STA if <txrx> is 1 (Tx operations).
1257		It is a bitmap and should be used as following
1258		Bit 15-0:  MCS map, which is defined as folows:
1259			Bit 15-14: Max MCS for 8 SS
1260			Bit 13-12: Max MCS for 7 SS
1261			Bit 11-10: Max MCS for 6 SS
1262			Bit 9-8:   Max MCS for 5 SS
1263			Bit 7-6:   Max MCS for 4 SS
1264			Bit 5-4:   Max MCS for 3 SS
1265			Bit 3-2:   Max MCS for 2 SS
1266			Bit 1-0:   Max MCS for 1 SS
1267
1268	where [o] is <rx_mcs_map>.
1269	<rx_mcs_map> - This parameter specifies the RX MCS map. It may not be used for the STA if <txrx> is 1 (Tx operations).
1270		It is a bitmap with the same sructure as for <tx_mcs_map>
1271		rx_mcs_map = 0xffff : FW will disable 802.11ac
1272                rx_mcs_map = others : FW will enable 802.11ac
1273
1274	Note: The user setting of vhtcap may be overwritten by the driver
1275	      if the setting of those fields is beyond the hardware capabilities.
1276
1277	Examples:
1278		mlanutl mlan0 vhtcfg 2 1            : Get current VHT configuration in 5GHz for the STA.
1279		mlanutl mlan0 vhtcfg 2 2            : Get maximum VHT configuration in 5GHz for the STA.
1280		mlanutl mlan0 vhtcfg 2 1 1 0x000001f0
1281		    : Set the Tx operations configuration in 5GHz for the STA,
1282		      Tx BW follows the VHT Capabilities.
1283		mlanutl mlan0 vhtcfg 2 2 0 0x000001f0 0xfff5 0xfffa
1284		    : Set the VHT capabilities configuration in 5GHz for the STA,
1285		      the Tx supports MCS 0-8 for both 1 and 2 spatial streams,
1286		      while the Rx supports MCS 0-9 for both 1 and 2 spatial streams.
1287		mlanutl uap0 vhtcfg 2 3 0 0x000001f0 0xfffa 0xfffa
1288		    : Set the current/maximum VHT configuration in 5GHz for the uAP.
1289		      Both Tx and Rx supports MCS 0-9 for both 1 and 2 spatial streams.
1290		mlanutl uap0 vhtcfg 2 3 0 0x000001b0
1291		    : Set the VHT capability information in 5GHz for the uAP, and keep the Tx/Rx MCS Map same as before.
1292
1293dyn_bw
1294	This command is used to set/get dynamic bandwidth.
1295
1296	Usage:
1297		mlanutl mlanX dyn_bw [n]
1298
1299	where <n>
1300           [BIT0]
1301                 0 = TxInfo Indicated BW Disable
1302                 1 = TxInfo Indicated BW Enable
1303           [BIT1]
1304                 0 = TxInfo Dynamatic BW Disable
1305                 1 = TxInfo Dynamatic BW Enable
1306           [BIT2]
1307                 0 = TxInfo Force send RTS Disable
1308                 1 = TxInfo Force send RTS Enable
1309           [BIT3]
1310                 0 = Mac Dynamic BW Operation Mode Disable (Static BW Operation Mode)
1311                 1 = Mac Dynamic BW Operation Mode Enable
1312           other bits reserved.
1313
1314        If no parameter provided, get is performed.
1315
1316	Examples:
1317		mlanutl mlan0 dyn_bw 0x1       : Enable TxInfo Indicated BW
1318		mlanutl mlan0 dyn_bw           : get current setting
1319
1320httxcfg
1321	This command is used to configure various 11n specific configuration
1322	for transmit (such as Short GI, Channel BW and Green field support)
1323
1324	where <m> is <txcfg>
1325	This is a bitmap and should be used as following
1326		Bit 15-8: Reserved set to 0
1327		Bit 7: STBC enable/disable
1328		Bit 6: Short GI in 40 Mhz enable/disable
1329		Bit 5: Short GI in 20 Mhz enable/disable
1330		Bit 4: Green field enable/disable
1331		Bit 3-2: Reserved set to 1
1332		Bit 1: 20/40 Mhz enable disable.
1333		Bit 0: LDPC enable/disable
1334
1335	When Bit 1 is set then firmware could transmit in 20Mhz or 40Mhz based
1336	on rate adaptation. When this bit is reset then firmware will only
1337	transmit in 20Mhz.
1338
1339	where <n> is <band>
1340	<band> - This is the band info for <txcfg> settings.
1341		0: Settings for both 2.4G and 5G bands
1342		1: Settings for 2.4G band
1343		2: Settings for 5G band
1344
1345	Example:
1346		mlanutl mlanX httxcfg
1347		This will display HT Tx configuration for 2.4G and 5G band.
1348
1349		mlanutl mlanX httxcfg 0x62
1350		This will enable 20/40 and Short GI but will disable Green field for 2.4G and 5G band.
1351
1352		mlanutl mlanX httxcfg 0x30 1
1353		This will enable Short GI 20 Mhz and Green field for 2.4G band.
1354
1355	The default value is 0x20 for 2.4G and 0x62 for 5G.
1356
1357	Note:- If 20/40 MHz support is disabled in htcapinfo, device will not transmit
1358	in 40 MHz even 20/40 MHz is enabled in httxcfg.
1359
1360htcapinfo
1361	This command is used to configure some of parameters in HTCapInfo IE
1362	(such as Short GI, Channel BW, and Green field support)
1363
1364	where <m> is <capinfo>
1365	<capinfo> - This is a bitmap and should be used as following
1366		Bit 29: Green field enable/disable
1367		Bit 26: Rx STBC Support enable/disable. (As we support
1368			single spatial stream only 1 bit is used for Rx STBC)
1369		Bit 25: Tx STBC support enable/disable.
1370		Bit 24: Short GI in 40 Mhz enable/disable
1371		Bit 23: Short GI in 20 Mhz enable/disable
1372		Bit 22: Rx LDPC enable/disable
1373		Bit 17: 20/40 Mhz enable disable.
1374		Bit  8: Enable/disable 40Mhz Intolarent bit in ht capinfo.
1375		        0 will reset this bit and 1 will set this bit in
1376		        htcapinfo attached in assoc request.
1377		All others are reserved and should be set to 0.
1378
1379	Setting of any other bits will return error.
1380
1381	where <n> is <band>
1382	<band> - This is the band info for <capinfo> settings.
1383		0: Settings for both 2.4G and 5G bands
1384		1: Settings for 2.4G band
1385		2: Settings for 5G band
1386
1387	Example:
1388		mlanutl mlanX htcapinfo
1389		This will display HT capabilties information.
1390		If the information for 2.4G and 5G is different,
1391		the first value is for 2.4G and the second value is for 5G.
1392		Otherwise, it will display a single value for both bands.
1393
1394		mlanutl mlanX htcapinfo 0x1820000
1395		This will enable Short GI, Channel BW to 20/40 and disable Green field support for 2.4G and 5G band.
1396
1397		mlanutl mlanX htcapinfo 0x800000 2
1398		This will enable Short GI, Channel BW to 20 only, No Rx STBC support and disable Green field support for 5G band.
1399
1400	The default value is 0x4800000 for 2.4G and 0x5820000 for 5G.
1401
1402	Note:- This command can be issued any time but it will only come to effect from
1403	next association. (as HTCapInfo is sent only during Association).
1404
140511axcfg
1406	This command is used to config 11ax HE capability using conf file.
1407
1408     Usage:
1409             mlanutl mlanX 11axcfg [conf file]
1410
1411     Example:
1412        mlanutl mlan0 11axcfg config/11axcfg.conf
1413        mlanutl uap0  11axcfg config/11axcfg.conf
1414
141511axcmd
1416    This command is used to config 11ax HE capability using command.
1417
1418    Usage:
1419            mlanutl <mlanX|uapX> 11axcmd <subcmd> [value_1] [value_2]
1420            <subcmd = obss_pd_offset > : spatial reuse configuration
1421                                         set obss_pd offset, [value_1] = NON_SRG_OffSET, [value_2] = SRG_OFFSET
1422
1423            <subcmd = enable_sr > : spatial reuse configuration
1424                                    control SR, [value_1]= 1 is enable SR, [value_1] = 0 is disable SR
1425
1426            <subcmd = beam_change > : enable/disable beam change
1427                                      enable  beam_change when [value_1 = 0]
1428                                      disable beam_change when [value_1 = 1]
1429
1430            <subcmd = enable_htc > : enable/disable HTC transmission
1431                                     enable  transmission of HTC when [value_1 = 1]
1432                                     disable transmission of HTC when [value_1 = 0]
1433
1434            <subcmd = txop_rts > :   set/get RTS threshold
1435                                     This subcmd applies to uapX only. uAP uses it to manage the RTS/CTS used by associated non-AP HE STA
1436                                     set TXOP duration RTS Threshold when [value_1 = <threshold>]. If <threshold> = 1023, disable TXOP duration RTS
1437                                     get TXOP duration RTS Threshold without value_1 and value_2
1438                                     Where <threshold> is:
1439                                     Bit 0-9: TXOP RTS Threshold
1440            <subcmd = tx_omi > :     set/get omi value
1441                                     used for OMI transmission in MAC header HTC+ field, please see 11ax spec for OMI definition
1442                                     set OMI when [value_1 = <omi>], where <omi> is defined as:
1443                                       Bit 0-2: Rx NSS
1444                                       Bit 3-4: Channel Width
1445                                       Bit 6  : Tx NSTS (applies to client mode only)
1446                                       All other bits are not supported currently.
1447                                     get OMI without value_1 and value_2
1448
1449            <subcmd = obssnbru_toltime> :  set/get OBSS narrow band RU tolerance time value in seconds
1450                                           set tolerance time when [value_1 = <time>], where <time> indicates:
1451                                           the minimum time that needs to pass since the reception of the last beacon frame from an OBSS AP that
1452                                           did not indicate tolerance to narrow bandwidth RU in OFDMA before the STA transmits an HE TB PPDU in a
1453                                           26-tine RU allocated by a trigger frame from the HE AP.
1454                                           valid value range [1..3600] in seconds. Any value more than 3600 will disable this feature.
1455                                           By default this feature is currently disabled.
1456    Example :
1457            mlanutl mlan0 11axcmd obss_pd_offset 2 3     : set obss_pd offset of spatial reuse, NON_SRG_OffSET = 2, SRG_OFFSET = 3
1458            mlanutl mlan0 11axcmd obss_pd_offset         : get obss_pd offset of spatial reuse
1459            mlanutl mlan0 11axcmd enable_sr 1            : enable spatial reuse
1460            mlanutl mlan0 11axcmd beam_change 0          : enable beam change
1461            mlanutl mlan0 11axcmd enable_htc 1           : enable transmission of HTC
1462            mlanutl uap0 11axcmd txop_rts 0x34           : set RTS threshold value to 0x34
1463            mlanutl uap0 11axcmd txop_rts                : get RTS threshold value
1464            mlanutl mlan0 11axcmd tx_omi 0x41            : set omi value to 0x41
1465            mlanutl mlan0 11axcmd tx_omi                 : get omi value
1466            mlanutl mlan0 11axcmd obssnbru_toltime 1800  : set OBSSNBRU tolerance time to 1800 seconds
1467            mlanutl mlan0 11axcmd obssnbru_toltime 3601  : disable OBSSNBRU tolerance time
1468            mlanutl mlan0 11axcmd obssnbru_toltime       : get OBSSNBRU tolerance time
1469
1470txratecfg
1471	This command is used to set/get the transmit data rate.
1472
1473	Note:
1474	1) The data rate can be set only after association.
1475
1476	2) If the reassoc is OFF driver reset the data rate to auto if the connection state is disconnected.
1477	Please note that user has to re-issue the set data rate command if the driver is disconnected.
1478
1479	3) If the reassoc is ON driver remembers the data rate set by the user, if the driver is
1480	disconnected user does not have to re-issue the set data rate again.
1481
1482	4) Parameter [o] is optional. If [o] is not given, it will be set as 0xffff.
1483
1484	Where
1485	[l] is <format>
1486	<format> - This parameter specifies the data rate format used in this command
1487		0:    LG
1488		1:    HT
1489		2:    VHT
1490		3:    HE
1491		0xff: Auto
1492
1493	[m] is <index>
1494	<index> - This parameter specifies the rate or MCS index
1495	If <format> is 0 (LG),
1496		0	1 Mbps
1497		1	2 Mbps
1498		2	5.5 Mbps
1499		3	11 Mbps
1500		4	6 Mbps
1501		5	9 Mbps
1502		6	12 Mbps
1503		7	18 Mbps
1504		8	24 Mbps
1505		9	36 Mbps
1506		10	48 Mbps
1507		11	54 Mbps
1508	If <format> is 1 (HT),
1509		0	MCS0
1510		1	MCS1
1511		2	MCS2
1512		3	MCS3
1513		4	MCS4
1514		5	MCS5
1515		6	MCS6
1516		7	MCS7
1517		8	MCS8
1518		9	MCS9
1519		10	MCS10
1520		11	MCS11
1521		12	MCS12
1522		13	MCS13
1523		14	MCS14
1524		15	MCS15
1525	If <format> is 2 (VHT),
1526		0	MCS0
1527		1	MCS1
1528		2	MCS2
1529		3	MCS3
1530		4	MCS4
1531		5	MCS5
1532		6	MCS6
1533		7	MCS7
1534		8	MCS8
1535		9	MCS9
1536	If <format> is 3 (HE),
1537		0	MCS0
1538		1	MCS1
1539		2	MCS2
1540		3	MCS3
1541		4	MCS4
1542		5	MCS5
1543		6	MCS6
1544		7	MCS7
1545		8	MCS8
1546		9	MCS9
1547		10	MCS10
1548		11	MCS11
1549	[n] is <nss>
1550	<nss> - This parameter specifies the NSS. It is valid for VHT
1551	If <format> is 2 (VHT),
1552		1	NSS1
1553		2	NSS2
1554	[n] is <nss>
1555	<nss> - This parameter specifies the NSS. It is valid for HE
1556	If <format> is 3 (HE),
1557		1	NSS1
1558		2	NSS2
1559	[o] is <rate setting, only support 9098/9097/9xxx chips>
1560        Bit0 - 1: indicate preambleType
1561          For legacy 11b: preemble type
1562             00    = long
1563             01    = short
1564             10/11  = reserved
1565          For legacy 11g: reserved
1566          For 11n: Green field PPDU indicator
1567             00 = HT-mix
1568             01 = HT-GF
1569             10/11 = reserved.
1570          For 11ac: reserved.
1571          For 11ax:
1572             00 = HE-SU
1573             01 = HE-EXT-SU
1574             others are reserved
1575
1576        Bit 2 - 4 : indicate BW:
1577          For HE ER:
1578            0 = 242-tone RU
1579            1 =  upper frequency 106-tone RU within the primary 20 MHz
1580          Otherwise:
1581            0 = 20 MHz
1582            1 = 40 MHz
1583            2 = 80 MHz
1584            3 = 160 MHz
1585
1586        Bit 5 -6: indicate LTF + GI size
1587          For HT:
1588            0 = normal
1589            1 = Short GI
1590          For VHT:
1591            01 = Short GI
1592            11 = Short GI and Nsym mod 10=9
1593            00 = otherwise
1594          For HE:
1595            0 = 1xHELTF + GI0.8us
1596            1 = 2xHELTF + GI0.8us
1597            2 = 2xHELTF + GI1.6us
1598            3 = 4xHELTF + GI0.8us if DCM = 1 and STBC = 1
1599                4xHELTF + GI3.2us, otherwise.
1600
1601        Bit 7: Indicate  STBC:
1602            0 = no STBC
1603            1 = STBC
1604
1605        Bit 8: indicate DCM:
1606            0 = no DCM
1607            1 = DCM
1608
1609        Bit 9: indicate coding:
1610            0 = BCC
1611            1 = LDPC
1612
1613        Bit 10 - 11: reserved.
1614
1615        Bit 12 - 13: Indicate maxPE
1616            Max packet extension
1617            0 - 0 usec
1618            1 - 8 usec
1619            2 - 16 usec.
1620
1621        Bit 14 - 15: reserved.
1622
1623        0xffff: Auto
1624
1625	Examples:
1626		mlanutl mlan0 txratecfg          : Read the current data rate setting
1627		mlanutl mlan0 txratecfg 0 3      : Set fixed Tx rate to 11 Mbps
1628		mlanutl mlan0 txratecfg 0 11     : Set fixed Tx rate to 54 Mbps
1629		mlanutl mlan0 txratecfg 1 3      : Set fixed Tx rate to MCS3
1630		mlanutl mlan0 txratecfg 2 3 2    : Set fixed Tx rate to MCS3 for NSS2
1631		mlanutl mlan0 txratecfg 3 3 2    : Set 11AX fixed Tx rate to MCS3 for NSS2
1632		mlanutl mlan0 txratecfg 3 5 2 0x2282   : Set 11AX fixed Tx rate to MCS5 for NSS2, and Preamble type is 2, BW is 0, LTF + GI size 0
1633                                                         STBC is 1, DMC is 0, Coding is 1, maxPE is 2.
1634		mlanutl mlan0 txratecfg 0xff     : Disable fixed rate and uses auto rate
1635
1636hssetpara
1637	This command is used to set host sleep parameters.
1638
1639	Usage:
1640		mlanutl mlanX hssetpara condition [GPIO# [gap]] (optional)[type ind_GPIO# [level]] (optional)[type event_force_ignore event_use_ext_gap ext_gap [gpio_wave]] (optional)[type hs_wakeup_interval] (optional)[type min_wake_holdoff]
1641
1642	This command takes one (condition), two (condition and GPIO#) or three
1643	(condition, GPIO# and gap).If more than three parameters, it can set different or multiple features indicating by type.
1644
1645	If type=1, it will set indication gpio and its level. And the parameter format will be (condition, GPIO#,gap and type,ind_GPIO#) or
1646        (condition, GPIO#, gap, type, ind_GPIO# and level).
1647
1648        If type=2, it will set extend host sleep wakup method. And the parameter format will be (condition, GPIO#, gap, type, force_ignore,
1649        use_ext_gap, ext_gap [gpio_wave]). gpio_wave parameter is optional and default value is 0(falling edge). Each bit of
1650        event_force_ignore and event_use_ext_gap will be defined to one same event, and set one same event(same bit) in those two
1651        parameters is not allowed. Set bit(s) in event_force_ignore means the event(s) will be forced ignore in firmware silently.
1652        Set bit(s) in event_use_ext_gap mean the event(s) will use extend gap to inform host. Not set means not handle.
1653
1654        If type=3, it will set hs_wakeup_interval.
1655
1656        If no parameter provided, get is performed.
1657
1658	where Condition is:
1659		bit 0 = 1   -- broadcast data
1660		bit 1 = 1   -- unicast data
1661		bit 2 = 1   -- mac event
1662		bit 3 = 1   -- multicast data
1663		bit 6 = 1  --  Wakeup when mgmt frame received.
1664		Bit 31 = 1  --  Don't wakeup when IPV6 packet received.
1665
1666	The host sleep mode will be canceled if condition is set to -1. The default is 0x7.
1667
1668	where GPIO is the pin number of GPIO used to wakeup the host. It could be any valid
1669	GPIO pin# (e.g. 0-7) or 0xff (interface, e.g. SDIO will be used instead).
1670	The default is 0xff.
1671
1672	where Gap is the gap in milliseconds between wakeup signal and wakeup event or 0xff
1673	for special setting (host acknowledge required) when GPIO is used to wakeup host.
1674	The default is 200.
1675
1676	The host sleep set except for cancellation will be blocked if host sleep is
1677	already activated.
1678
1679	where ind_GPIO# is the pin number of GPIO used to indicate wakeup source. The level on
1680	this GPIO will indicate normal wakeup source or abnormal wakeup source.
1681
1682	where level is used to set level(0/1) on ind_GPIO# pin for indication normal wakeup source.
1683	The opposite level will indicate abnormal wakeup source. The default value is 0.
1684
1685	where event_force_ignore is a bitmap,each bit represent one wakeup reason event. Set the bit means this
1686	wakeup reason should be force ignored in firmware. Reset the bit means do not handle this reason.
1687
1688	where event_use_ext_gap is a bitmap, each bit represent one wakeup reason event. Set the bit means this
1689	wakeup reason should use ext_gap to indicate host. Reset the bit means do not handle this reason.
1690
1691	where event_force_ignore and event_use_ext_gap have the same wakeup reason event definition of each bit:
1692		bit 0  = 1     --Disconnect
1693		bit 1  = 1     --GTK/iGTK rekey failure
1694		bit 2  = 1     --Eapol
1695		other bits     --Reserved
1696	They should not set both for one same wakeup reason.
1697
1698	where ext_gap is the extend gap based on third parameter Gap. Only valid when use_ext_gap is used.
1699	The total gap is (Gap + (x+1)*ext_gap). x means the bit number(start from 0) of this reason in use_ext_gap.
1700
1701	where gpio_wave is used to set GPIO wave level for host sleep extend. 0 means falling edge, 1 means rising edge.
1702	This parameter is optional and default value is 0.
1703
1704	where hs_wakeup_interval is used to set host sleep wakeup interval and the type must set to 3 to indicate
1705	this feature. And the value will round to the nearest multiple dtim*beacon_interval in fw. The unit is milliseconds.
1706
1707	where min_wake_holdoff is minimum delay between HsActive and HostWake and the type must set to 4 to indicate
1708	this feature. The unit is milliseconds.
1709
1710	Examples:
1711		mlanutl mlan0 hssetpara -1           : Cancel host sleep mode
1712		mlanutl mlan0 hssetpara 3            : Broadcast and unicast data
1713		                                       Use GPIO and gap set previously
1714		mlanutl mlan0 hssetpara 2 3          : Unicast data
1715		                                       Use GPIO 3 and gap set previously
1716		mlanutl mlan0 hssetpara 2 1 0xa0     : Unicast data
1717		                                       Use GPIO 1 and gap 160 ms
1718		mlanutl mlan0 hssetpara 2 0xff       : Unicast data
1719		                                       Use interface (e.g. SDIO)
1720		                                       Use gap set previously
1721		mlanutl mlan0 hssetpara 4 3 0xff     : MAC event
1722		                                       Use GPIO 3
1723		                                       Special host sleep mode
1724		mlanutl mlan0 hssetpara 1 0xff 0xff  : Broadcast data
1725
1726		mlanutl mlan0 hssetpara 2 1 0xa0 1 5 1 : Unicast data
1727		                                       Use GPIO 1
1728                                                       Gap 160 ms
1729                                                       type=1 to set indication GPIO feature
1730                                                       Use GPIO 5 to indicate wakeup source
1731                                                       High level on GPIO 5 means this is a normal wakeup
1732		mlanutl mlan0 hssetpara 2 1 0xa0 1 5   : Unicast data
1733		                                       Use GPIO 1
1734                                                       Gap 160 ms
1735                                                       type=1 to set indication GPIO feature
1736                                                       Use GPIO 5 to indicate wakeup source
1737                                                       Use level set previously.
1738
1739		mlanutl mlan0 hssetpara 2 1 0xa0 2 0 0x1 10 1: Unicast data
1740		                                       Use GPIO 1
1741                                                       Gap 160 ms
1742                                                       type=2 to set extend host sleep feature
1743                                                       Force_ignore not used
1744                                                       Disconnect will use extend gap to indicate host
1745                                                       Use gap 170.
1746                                                       Rising edge
1747		mlanutl mlan0 hssetpara 2 1 0xa0 2 0x1 0 0 0: Unicast data
1748		                                       Use GPIO 1
1749                                                       Gap 160 ms
1750                                                       type=2 to set extend host sleep feature
1751                                                       Falling edge
1752                                                       Force ignore Disconnect
1753                                                       Extend gap not used
1754                                                       Not used.
1755                                                       Falling edge
1756		mlanutl mlan0 hssetpara 2 1 0xa0 3 400:  Unicast data
1757		                                       Use GPIO 1
1758                                                       Gap 160 ms
1759                                                       type=3 to set hs_wakeup_interval feature
1760                                                       hs_wakeup_interval set to 400ms
1761
1762		mlanutl mlan0 hssetpara 2 1 0xa0 4 800:  Unicase data
1763						                       Use GPIO 1
1764						                               Gap 160ms
1765						                               type=4 to set min_wake_holdoff feature
1766						                               min_wake_holdoff set to 800ms
1767
1768	Note: The parameters will be saved in the driver and be used when host suspends.
1769              The ind_GPIO# and level parameters only work with specific board and firmware.
1770mefcfg
1771	This command is used to set MEF settings.
1772
1773	Usage:
1774		mlanutl mlanX mefcfg <mef.conf>
1775
1776	Where the parameter is:
1777		mef.conf : The configuration file specifying the MEF settings.
1778
1779	Example:
1780		mlanutl mlan0 mefcfg config/mef.conf
1781cloud_keep_alive
1782        This command is used to start/stop send keep alive packet which set from host.And reset TCP connection.
1783
1784        Usage:
1785                mlanutl mlanX cloud_keep_alive <keep_alive.conf> <start/stop/reset>
1786
1787        where <start/stop/reset>
1788                start means set cloud keep alive packet and paramters to firmware. stop means stop firmware from sending keep alive packet.reset will stop and reset TCP connection when host resume.
1789
1790        Examples:
1791                mlanutl mlan0 cloud_keep_alive keep_alive.conf start
1792                mlanutl mlan0 cloud_keep_alive keep_alive.conf stop
1793                mlanutl mlan0 cloud_keep_alive keep_alive.conf reset
1794min_ba_threshold
1795        This command is to set minimum Tx BA setup threshold
1796
1797        Usage:
1798               mlanutl mlanX min_ba_threshold <n>
1799
1800        where the parameters are:
1801             <n>: minimum BA Threshold  :0-16 (default is 16)
1802        Example:
1803               mlanutl mlan0 min_ba_threshold     : get min_ba_threshold value
1804               mlanutl mlan0 min_ba_threshold 10  : set minimum BA threshold to 10
1805
180611dcfg
1807	This command is used to control 11D. No argument is used to get.
1808
1809	where value of n is:
1810		0   -- Disable
1811		1   -- Enable
1812
1813	Examples:
1814		mlanutl mlan0 11dcfg 1           : Enable 11D
1815		mlanutl mlan0 11dcfg             : Get 11D status
1816
181711dclrtbl
1818	This command is used to clear the 11D channel table.
1819
1820	Usage:
1821		mlanutl mlanX 11dclrtbl
1822
1823addts
1824	Send an ADDTS command to the associated AP.
1825
1826	Process a given conf file for a specific TSPEC data block.  Send the
1827	  TSPEC along with any other IEs to the driver/firmware for transmission
1828	  in an ADDTS request to the associated AP.
1829
1830	Return the execution status of the command as well as the ADDTS response
1831	  from the AP if any.
1832
1833	Usage:
1834		mlanutl mlanX addts <filename.conf> <section# of tspec> <timeout(ms)>
1835
1836amsduaggrctrl
1837	This command could be used to enable/disable a feature where firmware gives feedback to driver
1838	regarding the optimal AMSDU buffer size to use with the current rate. Firmware will use the
1839	current rate to decide the buffer size we could transmit. The max buffer size will still be
1840	limited by buffer size provided in txbufcfg. (i.e. if the txbufcfg is 4K, then we could only transmit
1841	4K/2K AMSDU packets, if the txbufcfg is 8K then we could transmit 8k/4k/2k based on current rate)
1842
1843	If enabled AMSDU buffer size at various rates will be as follows
1844
1845	1.	Legacy B/G rate.
1846		No AMSDU aggregation.
1847
1848	2.	BW20 HT Rate:
1849		When TX rate goes down,
1850		MCS 7, 6, 5, 4:
1851			a	8K aggregation size (if TX buffer size is 8K)
1852			b	4K aggregation size (if TX buffer size is 4K)
1853			c	2K aggregation size (if TX buffer size is 2K)
1854
1855		MCS 3, 2:
1856			a	4K aggregation size (if TX buffer size is 8K/4K)
1857			b	2K aggregation size (if TX buffer size is 2K)
1858
1859		MCS 1, 0:
1860			a	No aggregation
1861
1862		When TX rate goes up,
1863		MCS 7, 6, 5:
1864			a	8K aggregation size (if TX buffer size is 8K)
1865			b	4K aggregation size (if TX buffer size is 4K)
1866			c	2K aggregation size (if TX buffer size is 2K)
1867
1868		MCS 4, 3:
1869			a	4K aggregation size (if TX buffer size is 8K/4K)
1870			b	2K aggregation size (if TX buffer size is 2K)
1871
1872		MCS 2, 1, 0:
1873			a	No aggregation
1874
1875	3.	BW40 HT Rate:
1876		When TX rate goes down,
1877		MCS 7, 6, 5, 4, 3, 2, 1:
1878			a	8K aggregation size (if TX buffer size is 8K)
1879			b	4K aggregation size (if TX buffer size is 4K)
1880			c	2K aggregation size (if TX buffer size is 2K)
1881
1882		MCS 0:
1883			a	No aggregation
1884
1885		When TX rate goes up,
1886		MCS 7, 6, 5, 4, 3:
1887			a	8K aggregation size (if TX buffer size is 8K)
1888			b	4K aggregation size (if TX buffer size is 4K)
1889			c	2K aggregation size (if TX buffer size is 2K)
1890
1891		MCS 2, 1, 0:
1892			a	No aggregation
1893
1894	where <n> is 0/1 (for disable/enable)
1895
1896	eg:
1897	mlanutl mlan0 amsduaggrctrl 1 - Enable this feature
1898	mlanutl mlan0 amsduaggrctrl 0 - Disable this feature
1899	mlanutl mlan0 amsduaggrctrl - This will get the enable/disable flag
1900	and the current AMSDU buffer size). The AMSDU buffer size returned is only
1901	valid after association as before association there is no rate info.
1902
1903	Note:- This command to enable/disable could be given anytime (before/after
1904			association). This feature is enabled by default by the driver during
1905			initialization.
1906
1907antcfg
1908	This command is used to set/get the mode of Tx/Rx path.
1909
1910    For chip which support STREAM_2X2
1911	where value of m is:
1912		Bit 0   -- Tx Path A or Tx/Rx Path A if [n] is not provided
1913		Bit 1   -- Tx Path B or Tx/Rx Path B if [n] is not provided
1914		Bit 0-1 -- Tx Path A+B or Tx/Rx Path A+B if [n] is not provided
1915		For 9097/9098/NW62X, LOW BYTE for 2G setting
1916		Bit 8   -- Tx Path A or Tx/Rx Path A if [n] is not provided
1917		Bit 9   -- Tx Path B or Tx/Rx Path B if [n] is not provided
1918		Bit 8-9 -- Tx Path A+B or Tx/Rx Path A+B if [n] is not provided
1919		For 9097/9098/NW62X, HIGH BYTE for 5G setting
1920	where value of n is:
1921		Bit 0   -- Rx Path A
1922		Bit 1   -- Rx Path B
1923		Bit 0-1 -- Rx Path A+B
1924		For 9097/9098/NW62X, LOW BYTE for 2G setting
1925		Bit 8   -- Rx Path A
1926		Bit 8   -- Rx Path B
1927		Bit 8-9 -- Rx Path A+B
1928		For 9097/9098/NW62X, HIGH BYTE for 5G setting
1929	The Tx path setting (m) is used for both Tx and Rx if Rx path (n) is not provided.
1930
1931	Examples:
1932		mlanutl mlan0 antcfg             : Get Tx and Rx path
1933		mlanutl mlan0 antcfg 3           : Set Tx and Rx path to A+B
1934		mlanutl mlan0 antcfg 1 3         : Set Tx path to A and Rx path to A+B
1935		mlanutl mlan0 antcfg 0x103       : Set Tx and Rx path to A+B on 2G and Tx and Rx path to A on 5G
1936		mlanutl mlan0 antcfg 0x103 0x103     : Set Tx path to A+B and Rx path to A+B on 2G, and Tx and Rx path to A on 5G
1937
1938        mlanutl mlan0 antcfg 0x202 : Use 5GHz path B pin for 5G TX/RX and 2GHz path B pin for 2G TX/RX
1939        mlanutl mmlan0 antcfg 0x202 : Use 5GHz path B pin for 5G TX/RX and 2GHz path B pin for 2G TX/RX
1940
1941        On RD board connection is as follows :
1942        5GHz path A pin -> AntA
1943        5GHz path B pin -> AntB
1944        2GHz path A pin -> AntB
1945        2GHz path B pin -> AntA
1946
1947    For chip which support SAD
1948    	where value of m is:
1949		Bit 0   -- Tx/Rx antenna 1
1950		Bit 1   -- Tx/Rx antenna 2
1951		...
1952		0xFFFF  -- Tx/Rx antenna diversity
1953
1954        where value of n is:
1955                SAD evaluate time interval, only be provided when m = 0xFFFF, default value is 6s(0x1770)
1956
1957	Examples:
1958		mlanutl mlan0 antcfg               : Get Tx/Rx antenna mode
1959		mlanutl mlan0 antcfg 1             : Set Tx/Rx antenna 1
1960		mlanutl mlan0 antcfg 0xFFFF        : Set Tx/Rx antenna diversity
1961		mlanutl mlan0 antcfg 0xFFFF 0x1770 : Set antenna evaluate time interval to 6s
1962mimoswitch
1963	This command is used to do MIMO switch for 11n and 11ac mode and is available for all interfaces.
1964        mlanutl mlanX/uapX mimoswitch [tx_antmode] [rx_antmode]
1965
1966	This command takes 2 conditions.
1967	The supported options are:
1968	   tx_antmode:	1 - ANTENNA A
1969			2 - ANTENNA B
1970			3 - ANTENNA AB
1971	   rx_antmode:	1 - ANTENNA A
1972                        2 - ANTENNA B
1973                        3 - ANTENNA AB
1974       Examples:
1975                mlanutl mlan0/uap0 mimoswitch 1 1     : set Tx and Rx path to ANTENNA A
1976                mlanutl mlna0/uap0 mimoswitch 2 2     : set Tx and Rx path to ANTENNA B
1977                mlanutl mlan0/uap0 mimoswitch 3 3     : set Tx and Rx path to ANTENNA A+B
1978                mlnautl mlan0/uap0 mimoswitch 1 3     : set Tx path to ANTENNA A and Rx path to ANTENNA A+B
1979
1980arpfilter
1981	This command is used to configure the ARP filtering parameters.
1982
1983	Usage:
1984		mlanutl mlanX arpfilter <arpfilter.conf>
1985
1986	Where the parameter is:
1987		arpfilter.conf : The configuration file specifying ARP filtering parameters.
1988
1989	Example:
1990		mlanutl mlan0 arpfilter config/arpfilter.conf
1991
1992assocctrl
1993	This command is used to set/get the driver auto assoc, driver auto re-connect
1994	and FW auto re-connect configurations.
1995
1996	Usage:
1997		mlanutl mlanX assocctrl <j> [k] [l] [m] [n]
1998
1999	Where the parameters are:
2000		<j>: type        : 1/2/3 driver auto assoc/driver auto re-connect/FW auto re-connect
2001		                   auto assoc takes effect in new connection (e.g. iwconfig essid),
2002		                   driver will auto retry if association failed;
2003		                   auto re-connect takes effect when link lost, driver/FW will try
2004		                   to connect to the same AP
2005		[k]: enable      : 1/0 on/off
2006		[l]: retry count : 0x1-0xff The value 0xff means retry forever (default 0xff)
2007		[m]: interval    : 0x0-0xff Time gap in seconds (default 10)
2008		[n]: flag        : Bit 0:
2009		                   Set to 1: Firmware should report link-loss to host if AP rejects
2010		                             authentication/association while reconnecting
2011		                   Set to 0: Default behavior: Firmware does not report link-loss
2012		                             to host on AP rejection and continues internally
2013		                   Bit 1-15: Reserved
2014		                   The parameter flag is only used for FW auto re-connect
2015
2016	Examples:
2017		mlanutl mlan0 assocctrl 1            : Get driver auto assoc settings
2018		mlanutl mlan0 assocctrl 2            : Get driver auto re-connect settings
2019		mlanutl mlan0 assocctrl 3            : Get FW auto re-connect settings
2020		mlanutl mlan0 assocctrl 1 1 20 8     : Enable and set driver auto assoc
2021		mlanutl mlan0 assocctrl 2 1 30 10    : Enable and set driver auto re-connect
2022		mlanutl mlan0 assocctrl 3 1 10 10 1  : Enable and set FW auto re-connect
2023		mlanutl mlan0 assocctrl 1 0          : Disable driver auto assoc
2024		mlanutl mlan0 assocctrl 2 0          : Disable driver auto re-connect
2025		mlanutl mlan0 assocctrl 3 0          : Disable FW auto re-connect
2026
2027assocessid
2028	This command is used to assoc essid with asynced mode,
2029	and driver will auto retry if driver auto assoc enabled.
2030
2031	Usage:
2032		mlanutl mlanX assocessid <"[essid]">
2033
2034	Where
2035	<"[essid]"> is the essid which need to be associated with asynced mode.
2036
2037	Examples:
2038		mlanutl mlan0 assocessid "NXP Micro AP"    : Associate to the ESSID "NXP Micro AP"
2039
2040assocessid_bssid
2041	This command is used to assoc AP by ssid/bssid pair with asynced mode,
2042	and driver will auto retry if driver auto assoc enabled.
2043
2044	Usage:
2045		mlanutl mlanX assocessid_bssid <"[bssid] [essid]">
2046
2047	Where
2048	<"[bssid]"> is the bssid which need to be associated with asynced mode.
2049	<"[essid]"> is the essid which need to be associated with asynced mode.
2050
2051	Examples:
2052		mlanutl mlan0 assocessid_bssid "xx:xx:xx:xx:xx:xx NXP Micro AP"   : Associate to the AP which ssid = "NXP Micro AP", bssid = "xx:xx:xx:xx:xx:xx"
2053
2054associate
2055	Request an association to a given SSID/BSSID pair. This the only accurate
2056	way to pick a specific AP and ESS for an association. The entry must
2057	already exist in the scan table for the association to be attempted.
2058
2059	mlanutl mlanX associate "xx:xx:xx:xx:xx:xx SSID"
2060
2061get_chnrgpwr
2062	This command is used to get the txpwrlimit table in FW
2063Usage:
2064        mlanutl mlanX get_chnrgpwr [save_region_channel_power_data_file]
2065	<save_region_channel_power_data_file> driver will save fw raw data to this file.
2066
2067    Examples:
2068		mlanutl mlan0 get_chnrgpwr fw_region_pwr.bin      : Get region channel power table and save to file fw_region_pwr.bin
2069
2070comparergpwr
2071    This command is used to compare two regionpower tables and output differences.
2072
2073	Usage :
2074			mlanutl mlanX comparergpwr <uncompressed file> [target_file]
2075    	where:
2076            <target_file>       : raw data file save from get_chnrgpwr command.
2077            <uncompressed file> : uncompressed raw data file generated by powerutil from the excel input region power file
2078
2079	Example :
2080		mlanutl mlan0 comparergpwr uncompressed.bin fw_region_pwr.bin	    : Show power table comparison in text format
2081		mlanutl mlan0 comparergpwr uncompressed.bin		                    : Show power table of uncompressed file in text format
2082comparetrpc
2083	This command is used to compare two txpower tables and output differences.
2084
2085	Usage :
2086			mlanutl mlanX comparetrpc <target_file> <src_file> [display]
2087    	where:
2088            <target_file>       : raw data file save from get_txpwrlimit command.
2089            <src_file>          : raw data file used by driver load parameter "txpwrlimit_cfg" which will be download to FW during driver init.
2090	    <display> 		: display comparison output
2091					  : 1 - text format
2092					  : 2 - table format
2093
2094	Example :
2095			mlanutl mlan0 comparetrpc txpwrlimit.bin txpwrlimit_init.bin 1		: Show power table comparison in text format
2096            mlanutl mlan0 comparetrpc txpwrlimit.bin txpwrlimit_init.bin 2		: Show power table comparison in table format
2097getcfgchanlist
2098    This command is used to get the channel list used by cfg80211 stack
2099
2100    Example:
2101           mlanutl mlan0 getcfgchanlist
2102
2103
2104authtype
2105	This command is used to set/get authentication type.
2106
2107	Usage:
2108		mlanutl mlanX authtype [n]
2109
2110	where <n>
2111		0: 802.11 open system authentication
2112		1: 802.11 shared key authentication
2113		3: 802.11 WPA3 SAE authentication
2114		255: allow open system or shared key authentication (default)
2115
2116	Examples:
2117		mlanutl mlan0 authtype 0         : use open system authentication
2118		mlanutl mlan0 authtype 1         : use shared key authentication
2119		mlanutl mlan0 authtype 255       : allow open system or shared key authentication
2120		mlanutl mlan0 authtype           : get current setting
2121
2122autotdls
2123	This command is used to enable/disable auto TDLS.
2124
2125	Usage:
2126		mlanutl mlanX autotdls [n]
2127
2128	where <n>
2129		0: Disable auto tdls
2130		1: Enable auto tdls
2131
2132	Examples:
2133		mlanutl mlan0 autotdls 1         : enable auto TDLS
2134		mlanutl mlan0 autotdls 0         : disable auto TDLS
2135		mlanutl mlan0 autotdls           : get current setting
2136
2137tdls_idle_time
2138	This command is used to set/get TDLS idle timeout. The valid value is between 0-0xffff. When set to 0, the tdls_idle_time will use default value(60).
2139
2140	Usage:
2141		mlanutl mlanX tdls_idle_time [n]
2142
2143	where <n>
2144		TDLS idle timeout value
2145
2146	Examples:
2147		mlanutl mlan0 tdls_idle_time 30        : set tdls_idle_time value to 30
2148		mlanutl mlan0 tdls_idle_time 0         : use default tdls_idle_time value(60)
2149		mlanutl mlan0 tdls_idle_time           : get current setting
2150
2151dfs_offload
2152	This command is used to enable/disable DFS offload. The valid value is 0/1.
2153	Note: The parameters can be set only in disconnected state.
2154
2155	Usage:
2156		mlanutl uapX dfs_offload [n]
2157
2158	where <n>
2159		Enable/disable
2160
2161	Examples:
2162		mlanutl uap0 dfs_offload 1         : enable DFS offload
2163		mlanutl uap0 dfs_offload 0         : disable DFS offload
2164
2165bandcfg
2166	This command is used to set/get infra/ad-hoc band.
2167	Note: This command is only available in disconnected state.
2168
2169	Usage:
2170		mlanutl mlanX bandcfg [l] [m] [n]
2171
2172	where the parameters:
2173		[l]: Infrastructure band
2174		     bit 0: B
2175		     bit 1: G
2176		     bit 2: A
2177		     bit 3: GN
2178		     bit 4: AN
2179
2180		     bit 5: AC 2.4G
2181		     bit 6: AC 5G
2182		     bit 8: AX 2.4G
2183		     bit 9: AX 5G
2184		[m]: Ad-hoc start band
2185		     bit 0: B
2186		     bit 1: G
2187		     bit 2: A
2188		[n]: Ad-hoc start channel
2189	Examples:
2190		mlanutl mlan0 bandcfg            : Get infra/ad-hoc band and ad-hoc
2191		                                  start channel configurations
2192		mlanutl mlan0 bandcfg 1          : Set infra band to B only
2193		mlanutl mlan0 bandcfg 3 2 6      : Set infra band to B/G, ad-hoc start band
2194		                                  to G and ad-hoc start channel to 6
2195
2196bcninterval
2197	This command is used to set/get the beacon interval in ad-hoc mode.
2198	The valid beacon interval is between 20 - 1000, default beacon
2199	interval is 100.
2200
2201	Where <n>
2202		Beacon interval in TU (Time Unit: 1024 us).
2203
2204	Examples:
2205		mlanutl mlan0 bcninterval 200    : Set ad-hoc beacon interval to 200
2206		mlanutl mlan0 bcninterval        : Get ad-hoc beacon interval
2207
2208bssrole
2209	This command is used to set/get the BSS role.
2210
2211	Where
2212	[l] is <bss_role>
2213	<bss_role> - This parameter specifies the BSS role to set.
2214		0       : STA
2215		1       : uAP
2216
2217	Examples:
2218		mlanutl wfd0 bssrole                 : Get the current BSS role
2219		mlanutl wfd0 bssrole 1               : Set the current BSS role to uAP
2220
2221cfgdata
2222	This command is used to set/get the configuration data to/from firmware.
2223
2224	Usage:
2225		mlanutl mlanX cfgdata <type> [<.conf file name>]
2226
2227	Where the parameters are:
2228		type :
2229		        2 -- CAL data download and <.conf file name> is cal_data.conf
2230		.conf file name : The configuration file used to set/get the configuration data.
2231
2232	Examples:
2233		mlanutl mlan0 cfgdata 2
2234			: This command is used to get and display the CAL data from firmware.
2235
2236cfpcode
2237	This command is used to set/get the Channel-Frequency-Power table codes.
2238	The region table can be selected through region code.
2239	The current configuration is returned if no parameter provided.
2240
2241	where the parameters are,
2242		[m]: code of the CFP table for 2.4GHz (0: unchanged)
2243		[n]: code of the CFP table for 5GHz (0 or not provided: unchanged)
2244
2245	Examples:
2246		mlanutl mlan0 cfpcode            : Get current configuration
2247		mlanutl mlan0 cfpcode 0x30       : Set 2.4GHz CFP table code 0x30 (EU),
2248		                                  keep 5GHz table unchanged
2249		mlanutl mlan0 cfpcode 0x10 5     : Set 2.4GHz CFP table code 0x10 (USA)
2250		                                  and 5GHz table code 5
2251
2252changraph
2253	Displays 2-dimensional graph, plotting channel number along x-axis and
2254	anpi or channel-load along y-axis, depending on whether it is an anpi graph
2255	or a channel load graph.
2256
2257	Usage:
2258		mlanutl mlanX changraph [<load | anpi | anpiload> <loops>]
2259		where:
2260			load:       Only channel vs channel-load graph is displayed
2261			anpi:       Only channel vs Average Noise Power Indicator(ANPI)
2262						graph is displayed
2263			anpiload:   Both the graphs for anpi and for the load are displayed
2264			loops:      This is used to calculate the number of times
2265						the graph [load or anpi or both] will be printed
2266
2267coex_rx_winsize
2268	This command is used to set/get control to coex RX window size
2269
2270	where value of m is:
2271		0       -- Disable COEX RX winsize (default)
2272		1       -- Enable COEX RX winsize
2273
2274	Examples:
2275		mlanutl mlan0 coex_rx_winsize             : Get COEX RX winsize
2276		mlanutl mlan0 coex_rx_winsize 1           : Enable COEX RX winsize
2277
2278countrycode
2279	This command is used to set and get the country code.
2280
2281	Where
2282	[l] is Country code
2283
2284	Examples:
2285		mlanutl mlan0 countrycode            : Get current countrycode
2286		mlanutl mlan0 countrycode CN         : Set countrycode as China (CN)
2287
2288cfpinfo
2289	This command is used to get region, country, environment codes,
2290	channel and power table information from the FW.
2291
2292	Examples:
2293		mlanutl mlan0 cfpinfo		     : Display cfp tables
2294		mlanutl uap0 cfpinfo
2295
2296customie
2297	This command is used to set or get custom IEs for management frames.
2298
2299	Usage:
2300		mlanutl mlanX customie [[[<index>] <mask>] <IEBuffer>]
2301
2302	Where the parameter is:
2303		empty - Get all IE settings
2304		<index> :   0 - Get/Set IE index 0 setting
2305		            1 - Get/Set IE index 1 setting
2306		            2 - Get/Set IE index 2 setting
2307		           MAX IE Index depends on device memory.
2308		           -1 - Append/Delete IE automatically
2309		                Delete will delete the IE from the matching IE buffer
2310		                Append will append the IE to the buffer with the same mask
2311		<mask>      :  Management subtype mask value as per bit definitions
2312		            :  Bit 0 - Association request
2313		            :  Bit 1 - Association response
2314		            :  Bit 2 - Reassociation request
2315		            :  Bit 3 - Reassociation response
2316		            :  Bit 4 - Probe request
2317		            :  Bit 5 - Probe response
2318		            :  Bit 8 - Beacon
2319		<mask>      :  mask = 0 to clear the mask and the IE buffer
2320		<IEBuffer>  :  IE Buffer in hex (max 256 bytes)
2321		               The Buffer should not be space separated.
2322
2323	Examples:
2324		mlanutl mlan0 customie
2325			: Get IE buffer, subtype mask settings for all indices.
2326
2327		mlanutl mlan0 customie 1
2328			: Get IE buffer and subtype mask for the Index = 1.
2329
2330		mlanutl mlan0 customie 2 0
2331			: Clear IE buffer and mask value for Index = 2.
2332
2333		mlanutl mlan0 customie 3 0x101 0xdd051234567890
2334			: Set IE buffer and mask value for Index = 3.
2335
2336		mlanutl mlan0 customie -1 0x101 0xdd051234567890
2337			: Append the specified IEBuffer at index with mask value of 0x101.
2338
2339		mlanutl mlan0 customie -1 0 0xdd051234567890
2340			: Delete the specified IEBuffer from all the IEs.
2341
2342		mlanutl mlan0 customie 2 0 0xdd051234567890
2343			: Delete the specified IEBuffer from the IEs at index 2.
2344
2345deauth
2346	This command is used to send a de-authentication to an arbitrary AP.
2347	If [l] is omitted, the driver will deauth the associated AP.
2348	If in ad-hoc mode this command is used to stop beacon transmission
2349	from the station and go into idle state.
2350
2351	When <l> is supplied as a MAC address, the driver will deauth the
2352	  specified AP.  If the AP address matches the driver's associated AP,
2353	  the driver will disconnect. Otherwise, the driver remains connected.
2354
2355	When this command is executed on AP interface, it is used to send
2356	a de-authentication to associated station.
2357
2358deepsleep
2359	This command is used to set/get auto deep sleep mode.
2360
2361	Usage:
2362		mlanutl mlanX deepsleep [l] [m]
2363
2364	where the parameters are:
2365		[l]: Enable/disable auto deep sleep mode (1/0)
2366		[m]: Idle time in milliseconds after which firmware will put the device
2367		     in deep sleep mode. Default value is 100 ms.
2368
2369	Examples:
2370		mlanutl mlan0 deepsleep          : Display auto deep sleep mode
2371		mlanutl mlan0 deepsleep 1        : Enable auto deep sleep mode, idle time unchanged
2372		mlanutl mlan0 deepsleep 0        : Disable auto deep sleep mode
2373		mlanutl mlan0 deepsleep 1 500    : Enable auto deep sleep mode with idle time 500 ms
2374        Note:
2375            Deepsleep must be disabled before changing idle time.
2376
2377delba
2378	This command is used to delete either all Tx BA or all Rx BA or a specific BA stream
2379	based on direction, TID and peer address.
2380
2381	where <l> [<m> <n>]
2382		<l> - This is the direction of BA stream, Tx (bit 0), Rx (bit 1).
2383		<m> - This is the TID (0-7, 0xff for all) of BA stream.
2384		<n> - This is the peer MAC addres of BA stream.
2385
2386	eg:
2387	mlanutl mlanX delba 2 - This command will delete all the Rx BA streams.
2388	mlanutl mlanX delba 3 - This command will delete all the Tx and Rx BA streams.
2389	mlanutl mlanX delba 1 0 - This command will delete all the Tx streams with TID 0.
2390	mlanutl mlanX delba 2 0xff "00:11:22:33:44:55" - This command will delete all the Rx BA streams
2391		with specified peer MAC address
2392	mlanutl mlanX delba 1 3 "00:11:22:33:44:55" - This command will delete the Tx BA stream with
2393		TID 3 and specified peer MAC address.
2394
2395delts
2396	Send a DELTS command to the associated AP.
2397
2398	Process a given conf file for a specific TSPEC data block.  Send the
2399	  TSPEC along with any other IEs to the driver/firmware for transmission
2400	  in a DELTS request to the associated AP.
2401
2402	Return the execution status of the command.  There is no response to a
2403	  DELTS from the AP.
2404
2405	Usage:
2406		mlanutl mlanX delts <filename.conf> <section# of tspec>
2407
2408dfstesting
2409	This command is used to set/get settings for DFS testing.
2410
2411	Usage:
2412	    mlanutl mlanX dfstesting [<user_cac_pd> <user_nop_pd> <no_chan_change> <fixed_chan_num><cac_restart>]
2413
2414	where <user_cac_pd> is user-configured Channel Availability Check in sec
2415                        0 = disable, use default period (60 seconds)
2416                        1-1800 = enable with that period
2417	where <user_nop_pd> is user-configured Non-Occupancy Period in sec
2418                        0 = disable, use default period (1800)
2419                        1-65535 = enable with that period
2420	where <no_chan_change> is enable/disable no channel change on radar
2421                           0 = disable, 1 = enable (overrides below)
2422	where <fixed_chan_num> is user-configured channel to change to on radar
2423                           0 = disable, 1-255 = enable with that channel
2424                           (channel validity for region, etc. is not checked)
2425                           (only takes effect if no_chan_change = 0)
2426	where <cac_restart> after CAC success, driver auto restart CAC again
2427
2428	Examples:
2429		mlanutl mlan0 dfstesting              : Get current dfstesting settings
2430		mlanutl mlan0 dfstesting 60 0 0 0 0   : user_cac=60sec, others disabled/default
2431		mlanutl mlan0 dfstesting 0 0 1 0 0    : only no_chan_change enabled
2432		mlanutl mlan0 dfstesting 0 120 0 64 0 : user_nop=2min, force chan 64 on radar
2433		mlanutl mlan0 dfstesting 60 0 0 0 1   : user_cac=60sec, restart cac after success
2434
2435clear_nop
2436	This command clear NOP status
2437Usage:
2438	mlanutl uapX clear_nop
2439
2440	Examples:
2441		mlanutl uap0 clear_nop              : clear channel NOP status
2442
2443nop_list
2444	This command get NOP channel list
2445Usage:
2446	mlanutl uapX nop_list
2447
2448	Examples:
2449		mlanutl uap0 nop_list              : get nop channel list
2450
2451fake_radar
2452	This command was the DFS test command to trigger fake radar event.
2453Usage:
2454	mlanutl uapX fake_radar
2455
2456	Examples:
2457		mlanutl uap0 fake_radar              : trigger fake rader event
2458
2459getchload
2460        This command gets the current channel load (in %), noise floor value (in dbm) and rx_quality (in %, higher % indicates better rx quality)
2461Usage:
2462        mlanutl uapX getchload <duration>
2463	<duration> can be within 1-10(specifying 10ms to 100ms), default duration will be 100ms
2464
2465        Examples:
2466        mlanutl uap0 getchload          : gets channel load (in %), noise floor (in dbm) and rx_quality (in %) for 100ms duration
2467		mlanutl uap0 getchload 1	    : gets channel load (in %), noise floor (in dbm) and rx_quality (in %) for 10ms duration
2468		mlanutl uap0 getchload 6	    : gets channel load (in %), noise floor (in dbm) and rx_quality (in %) for 60ms duration
2469
2470dfs_repeater
2471	This command is used to get/set DFS Repeater mode.
2472
2473	Usage:
2474		mlanutl mlan0 dfs_repeater <n>
2475
2476	where the parameter is <n> :
2477		null:	to get current setting
2478		1:	to enable dfs_repeater mode
2479		0:	to disable dfs_repeater mode
2480
2481	eg.,
2482		mlanutl mlan0 dfs_repeater        :get current setting
2483		mlanutl mlan0 dfs_repeater 1	  :enable dfs repeater mode
2484		mlanutl mlan0 dfs_repeater 0	  :disable dfs repeater mode
2485
2486dfs_cac
2487	This command is used to perform radar monitoring on a given channel using dfsX interface
2488
2489	Usage:
2490		mlanutl dfs0 dfs_cac <channel> [<bw> <cac-period>]
2491
2492	where the parameters are:
2493        <channel>           5G DFS channel to monitor for radar, when channel=0, stop CAC.
2494        <bw>                channel band-width (default 20MHZ)
2495                            0 - Bandwidth 20MHz
2496                            1 - Bandwidth 40MHz above
2497                            3 - Bandwidth 40MHz below
2498                            4 - Bandwidth 80MHz
2499        <cac-period>        seconds, default value 60 seconds.
2500                            after cac-period, driver will report channel report event and continue monitor the radar signal on this channel.
2501
2502    Examples:
2503        mlanutl dfs0 dfs_cac 52 1     :do CAC on channel 52, 40MHz above, default cac-duration of 60sec                                      :
2504        mlanutl dfs0 dfs_cac 52 1 120 :do CAC on channel 52, 40MHz above, default cac-duration of 120sec
2505        mlanutl dfs0 dfs_cac 0        :stop CAC
2506autodfs
2507	This command is used to start/stop auto zero DFS
2508
2509	Usage:
2510		mlanutl dfs0 autodfs 0
2511		mlanutl dfs0 autodfs 1 [conf_file]
2512	Examples:
2513		mlanutl dfs0 autodfs 0                     : stop Auto Zero DFS
2514		mlanutl dfs0 autodfs 1 config/autodfs.conf : start Auto Zero DFS
2515
2516dfs53cfg
2517	This command is used to set/get settings for DFS W53 configuration for JP-DFS.
2518
2519	Usage:
2520	    mlanutl mlanX dfs53cfg [n]
2521
2522	where the parameters are:
2523	    <n>         user-configured value for DFS W53 configuration for JP-DFS
2524	                        0 - Fw default value
2525	                        1 - New W53 Rules/Standars
2526	                        2 - New W53 Rules/Standars
2527    Examples:
2528        mlanutl uap0 dfs53cfg   : get dfs w53 configuration
2529        mlanutl uap0 dfs53cfg 1 : set dfs w53 configuration to New W53 Rules/Standards
2530
2531dfs_mode
2532	This command is used to set/get dfs_mode used in driver.
2533
2534	Usage:
2535	    mlanutl mlanX dfs_mode [n]
2536
2537	where the parameters are:
2538	    <n>         user-configured value for DFS mode in driver
2539	                        0 - driver default DFS mode
2540	                        1 - driver disable DFS master when AP and STA operate in same DFS channel
2541
2542    Examples:
2543        mlanutl uap0 dfs_mode   : get DFS mode configuration
2544        mlanutl uap0 dfs_mode 1 : set DFS mode to 1
2545        mlanutl uap0 dfs_mode 0 : set DFS mode to 0
2546
2547esuppmode
2548	This command is used to set/get the e-supplicant mode configurations/status.
2549
2550	Note: The configurations can be set only before association.
2551	      For get, the configurations will be returned before association
2552	      and the current status will be returned after association.
2553
2554	Where
2555	[l] is <rsn_mode>
2556	<rsn_mode> - This parameter specifies the RSN mode configuration
2557		Bit 0    : No RSN
2558		Bit 1-2  : RFU
2559		Bit 3    : WPA  // use of WPA/TKIP is not recommended anymore
2560		Bit 4    : WPA-NONE
2561		Bit 5    : WPA2
2562		Bit 6-15 : RFU
2563	[m] is <pairwise_cipher>
2564	<pairwise_cipher> - This parameter specifies the pairwise cipher
2565		Bit 0    : RFU
2566		Bit 1    : RFU
2567		Bit 2    : TKIP  //use of WEP/TKIP is not recommended anymore
2568		Bit 3    : AES
2569		Bit 4-7  : RFU
2570	[n] is <group_cipher>
2571	<group_cipher> - This parameter specifies the group cipher
2572		Bit 0    : RFU
2573		Bit 1    : RFU
2574		Bit 2    : TKIP	 //use of WEP/TKIP is not recommended anymore
2575		Bit 3    : AES
2576		Bit 4-7  : RFU
2577	Note that: the RFU bits cannot be SET.
2578
2579	Examples:
2580		mlanutl mlan0 esuppmode          : Get RSN mode and pairwise/group cipher
2581		mlanutl mlan0 esuppmode 8 4 4    : Set RSN mode yo WPA, active pairwise and  // use of WPA/TKIP is not recommended anymore
2582		                                   group ciphers to TKIP //use of WEP/TKIP is not recommended anymore
2583
2584extcapcfg
2585	This command is used to set/get extended capabilities.
2586
2587	Usage:
2588		mlanutl mlanX extcapcfg [<ext_cap>]
2589
2590	where <ext_cap> :  Extended capabilities in hex (max 9 bytes)
2591		               The Buffer should not be space separated.
2592
2593	Examples:
2594		mlanutl mlan0 extcapcfg 0x0000008020	: Set TDLS support and Interworking bits.
2595
2596fwmacaddr
2597	This command is used to set/get FW side MAC address but host side address will remain as earlier.
2598
2599	Usage:
2600		mlanutl mlanX fwmacaddr [mac_addr]
2601
2602	where <mac_addr> is desired MAC address
2603
2604	Examples:
2605		mlanutl mlan0 fwmacaddr                        : Get current FW MAC address
2606		mlanutl mlan0 fwmacaddr 00:50:43:20:bc:44      : Set FW side MAC address
2607
2608getkey
2609	This command is used to get PTK/GTK
2610	mlanutl mlanX getkey
2611
2612per_pkt_cfg
2613--------------
2614    mlanutl <interface> per_pkt_cfg [tx_rx_control] [type_num] [ether_type1 ether_type2...] [tx_rx_control] [type_num] [ether_type1 ether_type2 ...]
2615    This command is used to set tx/rx per packet Txctl and Rxinfo configuration.
2616
2617    The supported options are:
2618       tx_rx_control :
2619                        0 - disable Tx and Rx per packet control
2620                        1 - enable Tx per packet control
2621                        2 - enable Rx Per packet control
2622                        3 - enable Tx and Rx Per packet control
2623
2624       type_num :       Number of ether_types which support per packet control, the Max is 8.
2625       ether_type :     Array of ether_types for which need to do per-packet Tx control or get per-packet Rx info.
2626
2627       Examples:
2628                 mlanutl mlan0/uap0 per_pkt_cfg                        : get the configuration of per-packet control
2629                 mlanutl mlan0/uap0 per_pkt_cfg 0                      : disable per-packet control
2630                 mlanutl mlan0/uap0 per_pkt_cfg 3 1 0x88dc       : set the Tx and Rx per-packet control configuration
2631
2632dot11_txrx
2633    This command is used to send or receive packets.
2634
2635    Usage:
2636            mlanutl <interface> dot11_txrx <send/recv> <options>
2637            interface     : mlanX or uapX
2638            options  send : <conf_file>
2639            conf_file     : config file name
2640            options  recv : <protocol> [ verbose_mode ]
2641            protocol      : packet protocol type
2642            verbose_mode  : v -- enter verbose mode
2643
2644    Example:
2645            mlanutl mlan0 dot11_txrx send config/tx_ctrl.conf         : To send packets
2646            mlanutl mlan0 dot11_txrx recv 0x88dc                         : To receive packets of type 0x88dc
2647            mlanutl mlan0 dot11_txrx recv 0x88dc v                      : To receive packets of type 0x88dc and
2648                                                                            enter verbose mode
2649
2650txrxhistogram
2651--------------
2652    mlanutl mlanX/uapX txrxhistogram [action] [tx_rx_statics]
2653    This command is used to get tx/rx statics from firmware.
2654
2655    This command takes 2 conditions.
2656    The supported options are:
2657       action :         0 - disable Tx/Rx statics
2658                        1 - enable Tx/Rx statics
2659                        2 - get Tx/Rx statics
2660       tx_rx_statics:   1 - enable/disable/get Tx statics
2661                        2 - enable/disable/get Rx statics
2662                        3 - enable/disable/get Tx and Rx statics
2663       Examples:
2664                mlanutl mlan0/uap0 txrxhistogram 1 3     : enable Tx and Rx statics
2665                mlanutl mlna0/uap0 txrxhistogram 0 3     : disable Tx and Rx statics
2666                mlanutl mlan0/uap0 txrxhistogram 2 2     : Get only Rx statics
2667                mlnautl mlan0/uap0 txrxhistogram 2 1     : Get only Tx statics
2668                mlnautl mlan0/uap0 txrxhistogram 2 3     : Get both Tx/Rx statics
2669
2670getscantable
2671	Display the current contents of the driver scan table
2672
2673	Usage:
2674		mlanutl mlanX getscantable
2675		mlanutl mlanX getscantable [#]
2676		mlanutl mlanX getscantable tsf
2677		mlanutl mlanX getscantable ch
2678		mlanutl mlanX getscantable help
2679
2680	1) Without argument, the entire scantable is displayed in terms of channel (ch), signal strength (ss), BSS id (bssid), capability (cap), and SSID,
2681		where each column in the capability is described as follows:
2682		column 1 indicates the IBSS capability: A (Adhoc), I (Infra)
2683		column 2 indicates the encryption capability: P (WEP :use of WEP/TKIP is not recommended anymore), W (WPA: use of WPA/TKIP is not recommended anymore), 2 (WPA2)
2684		column 3 indicates the 11D capability: D (11D)
2685		column 4 indicates the WMM capability: W (WMM), C (CAC)
2686		column 5 indicates the 11K capability: K (11K)
2687		column 6 indicates the 11R capability: R (11R)
2688		column 7 indicates the WPS capability: S (WPS)
2689		column 8 indicates the 11N/11AC capability: N (11N), A (11AC)
2690
2691	2) Specifying a # will display detailed information about a specific scan
2692	   table entry.  '0' displays driver cached information regarding the
2693	   current association (if any).
2694	3) The tsf argument will display the entire scan table with the recorded
2695	   TSF timestamp for the entry.
2696	4) The ch argument will display the entire scan table sorted by channel
2697	   number in the ascending order. If this argument is not specified,
2698           scan table is sorted by signal strength in the descending order.
2699	6) The help argument will display the legend for the capability field.
2700
2701getstalist
2702    This command is used to get list of associated stations to the AP.
2703
2704    Example:
2705        mlanutl uap0 getstalist
2706
2707channel_switch <switch mode> <oper class> <new channel> <switch count> <bandwidth/num_pkts>
2708channel_switch <switch mode> <oper class> <new channel> <switch count> <bandwidth>
2709    This command is used to do channel switch according to spec.
2710
2711    Where the paramters are:
2712        switch mode : 0 -- no need to block traffic, 1 -- need block traffic
2713        oper class  : operating class according to IEEE std802.11 spec, when 0 is used, only CSA IE will be used
2714        new channel : the channel will switch to
2715        switch count: channel switch time to send ECSA ie
2716                      (when set to 0, CSA/ECSA action frame will be send out)
2717        switch count: channel switch time to send CSA ie
2718
2719        bandwidth   : channel width switch to(optional),only for 5G channels.
2720                      Support value 1 -- 40M above, 3 -- 40M below, 4 -- 80M, 5 -- 160M
2721        num_pkts    : send number of CSA/ECSA action frame
2722
2723    Example:
2724        mlanutl uap0 channel_switch 1 115 36 10     :switch to channel 36, oper class 115
2725        mlanutl uap0 channel_switch 1 81 6 10        :switch to channel 6, oper class 81
2726        mlanutl uap0 channel_switch 1 0 6 10          :switch to channel 6
2727        mlanutl uap0 channel_switch 1 0 36 10 1     :switch to channel 36, bandwidth 40MHz above
2728        mlanutl uap0 channel_switch 1 0 36 0 3       :switch to channel 36, and send 3 broadcast CSA action frame
2729        mlanutl uap0 channel_switch 1 115 36 0 3   :switch to channel 36, and send 3 broadcast ECSA action frame
2730		                                                                     (Only IW61X supports sending CSA/ECSA action frames)
2731
2732hostcmd 2040coex
2733	This command is used to send the 11n 20/40 Coex command to firmware.
2734	Firmware will send 11n 20/40 Coex management action frame to AP.
2735
2736	Usage:
2737		mlanutl mlanX hostcmd config/11n_2040coex.conf 2040coex
2738
2739hostcmd auto_tx_get
2740hostcmd auto_tx_unreg
2741	This command is used to configures the Frame Auto Transmission parameters.
2742	auto_tx_get: get auto_tx parameters
2743	auto_tx_unreg: unregister to firmware auto_tx
2744
2745	Usage:
2746		mlanutl mlanX hostcmd config/auto_tx.conf auto_tx_get
2747		mlanutl mlanX hostcmd config/auto_tx.conf auto_tx_unreg
2748
2749hostcmd bgscfg
2750	This command is used to configure the various parameters for PPS/UAPSD
2751	or normal background scan.
2752
2753	Usage:
2754		mlanutl mlanX hostcmd config/bg_scan.conf bgscfg
2755
2756hostcmd <pkt_coalescing.conf> coalesce_cfg
2757	This command is used to set/clear rules to filter and buffer
2758	broadcast/multicast packet which reduce unwanted patcket or interrupt to
2759	host.
2760
2761	Usage:
2762		mlanutl mlanX hostcmd <pkt_coalescing.conf> coalesce_cfg
2763
2764hostcmd <ed_mac_ctrl.conf> ed_mac_ctrl
2765	This command is used to control ED MAC.
2766
2767	Usage:
2768		mlanutl mlanX hostcmd <ed_mac_ctrl.conf> ed_mac_ctrl
2769
2770hostcmd crypto_test
2771	This command is used to test the encryption/decryption API of the firmware.
2772
2773	Usage:
2774		mlanutl mlanX hostcmd config/crypto_test.conf crypto_test
2775
2776hostcmd nat_keep_alive
2777	This command is used to configures the Frame Auto Transmission parameters.
2778	nat_keep_alive: register to firmware for sending NAT Keep Alive packet
2779
2780	Usage:
2781		mlanutl mlanX hostcmd config/auto_tx.conf nat_keep_alive
2782
2783hostcmd pad_cfg_get
2784hostcmd pad_cfg_set
2785	This command is used to set/get the configuration data for PAD OR.
2786
2787	Usage:
2788		mlanutl mlanX hostcmd config/pad_cfg.conf pad_cfg_get
2789		mlanutl mlanX hostcmd config/pad_cfg.conf pad_cfg_set
2790
2791hostcmd requesttpc
2792	This command is used to request 802.11H TPC info.
2793
2794	Usage:
2795		mlanutl mlanX hostcmd config/requesttpc.conf requesttpc
2796
2797hostcmd mode_get
2798hostcmd mode_timeshare
2799hostcmd mode_spatial
2800hostcmd mode_none
2801hostcmd mode_bca
2802	This command is used to get/set Robust BT Coex.
2803	mode_get:       get the current mode
2804	mode_timeshare: set Robust BT Coex to timeshare mode  (default on 1x1 chips)
2805	mode_spatial:   set Robust BT Coex to spatial mode    (only for, and default on 2x2 chips)
2806	mode_none:      set Robust BT Coex to mode none       (only for, and default on 2x2_3Antenna chips)
2807	mode_bca:       set Robust BT Coex to bca mode        (HW BCA based WLAN and BT traffic arbitration)
2808
2809	Usage:
2810		mlanutl mlanX hostcmd config/robust_btc.conf mode_get
2811		mlanutl mlanX hostcmd config/robust_btc.conf mode_timeshare
2812		mlanutl mlanX hostcmd config/robust_btc.conf mode_spatial
2813		mlanutl mlanX hostcmd config/robust_btc.conf mode_none
2814		mlanutl mlanX hostcmd config/robust_btc.conf mode_bca
2815
2816hostcmd gpio_cfg
2817	This command is used to enable/disable GPIO cfg.
2818	gpio_cfg:       enable/disable GPIO cfg for external bt request  (default is enable with High Polarity)
2819
2820	Usage:
2821		mlanutl mlanX hostcmd config/robust_btc.conf gpio_cfg
2822
2823hostcmd external_coex_uart_config
2824	This command is used to enable/disable Loopback mode.
2825	external_coex_uart_config:       enable/disable loopback of received data (default is disable)
2826
2827	Usage:
2828		mlanutl mlanX hostcmd config/robust_btc.conf external_coex_uart_config
2829
2830hostcmd external_coex_pta_config
2831	This command is used to configure external coex interface/WCI-2 interface
2832	external_coex_pta_config:	Configure either PTA interface or WCI-2 interface	(default is configured for PTA interface).
2833	Usage:
2834		mlanutl mlanX hostcmd <robust_btc.conf> external_coex_pta_config
2835
2836hostcmd generictime
2837hostcmd a2dptime
2838hostcmd inquirytime
2839hostcmd ap_generictime
2840hostcmd ap_a2dptime
2841hostcmd ap_inquirytime
2842        This command is used to configure the time slice of COEX (only works in timeshare mode)
2843        generictime:       configure the Bttime and Wlantime in Station Generic case
2844        a2dptime:          configure the Bttime and Wlantime in Station A2DP case
2845        inquirytime:       configure the Bttime and Wlantime in Station Inquiry case
2846        ap_generictime:    configure the Bttime and Wlantime in Ap Generic case
2847        ap_a2dptime:       configure the Bttime and Wlantime in Ap A2DP case
2848        ap_inquirytime:    configure the Bttime and Wlantime in Ap Inquiry case
2849
2850    Usage:
2851                mlanutl mlanX hostcmd config/robust_btc.conf generictime
2852                mlanutl mlanX hostcmd config/robust_btc.conf a2dptime
2853                mlanutl mlanX hostcmd config/robust_btc.conf inquirytim
2854                mlanutl mlanX hostcmd config/robust_btc.conf ap_generictime
2855                mlanutl mlanX hostcmd config/robust_btc.conf ap_a2dptime
2856                mlanutl mlanX hostcmd config/robust_btc.conf ap_inquirytime
2857
2858hostcmd get_bca_arb_config
2859hostcmd set_en_bca_arb_config
2860hostcmd set_dis_bca_arb_config
2861	This command is used to get/set Arbitration status for BCA, WLAN, 15.4, BT/BLE and Ext. radio.
2862	get_bca_arb_config:		get arbitration status for BCA, WLAN, 15.4, BT/BLE and, Tx and Rx of Ext. radio
2863	set_en_bca_arb_config:	set arbitration status for BCA, WLAN, 15.4, BT/BLE and, Tx and Rx of Ext. radio to Enable
2864	set_dis_bca_arb_config:	set arbitration status for BCA, WLAN, 15.4, BT/BLE and, Tx and Rx of Ext. radio to Disable
2865
2866	Usage:
2867		mlanutl mlanX hostcmd config/coex_int_api.conf get_bca_arb_config
2868		mlanutl mlanX hostcmd config/coex_int_api.conf set_en_bca_arb_config
2869		mlanutl mlanX hostcmd config/coex_int_api.conf set_dis_bca_arb_config
2870
2871hostcmd get_wlan_stats
2872hostcmd get_15_4_stats
2873hostcmd get_bt_stats
2874hostcmd get_ble_stats
2875	This command is used to get statistics values for WLAN, 15.4, BT and BLE.
2876	get_wlan_stats:			get statistics for WLAN
2877	get_15_4_stats:			get statistics for 15.4
2878	get_bt_stats:			get statistics for BT
2879	get_ble_stats:			get statistics for BLE
2880
2881	Usage:
2882		mlanutl mlanX hostcmd config/coex_int_api.conf get_wlan_stats
2883		mlanutl mlanX hostcmd config/coex_int_api.conf get_15_4_stats
2884		mlanutl mlanX hostcmd config/coex_int_api.conf get_bt_stats
2885		mlanutl mlanX hostcmd config/coex_int_api.conf get_ble_stats
2886
2887hostcmd sdio_pulldown_get
2888hostcmd sdio_pulldown_set
2889hostcmd sdio_pulldown_disable
2890	This command is used to set/get the settings of pulling up and
2891	pulling down of SDIO lines.
2892
2893	Usage:
2894		mlanutl mlanX hostcmd config/sdio_pulldown.conf sdio_pulldown_get
2895		mlanutl mlanX hostcmd config/sdio_pulldown.conf sdio_pulldown_set
2896		mlanutl mlanX hostcmd config/sdio_pulldown.conf sdio_pulldown_disable
2897
2898hostcmd subevent_get
2899hostcmd subevent_set
2900	This command is used to get/set the configurations for event descriptor
2901	interface command.
2902	subsvent_get: get subscribed event parameters
2903	subsvent_set: set subscribed event parameters
2904
2905	Usage:
2906		mlanutl mlanX hostcmd config/subevent.conf subevent_get
2907		mlanutl mlanX hostcmd config/subevent.conf subevent_set
2908
2909hostcmd txpwrlimit_2g_cfg_set
2910hostcmd txpwrlimit_5g_cfg_set
2911hostcmd txpwrlimit_cfg_get
2912	This command is used to set/get the configuration data of Tx power limitation.
2913	Note: The configuration set should be issued when STA is disconnected.
2914
2915	Usage:
2916		mlanutl mlanX hostcmd config/txpwrlimit_cfg.conf txpwrlimit_cfg_get
2917		mlanutl mlanX hostcmd config/txpwrlimit_cfg.conf txpwrlimit_2g_cfg_set
2918		mlanutl mlanX hostcmd config/txpwrlimit_cfg.conf txpwrlimit_5g_cfg_set
2919
2920hostcmd txrate_cfg_get
2921hostcmd txrate_cfg_set_bg
2922hostcmd txrate_cfg_set_bgn
2923	This command is used to set/get the transmit data rate.
2924
2925	Usage:
2926		mlanutl mlanX hostcmd config/txrate_cfg.conf txrate_cfg_get
2927		mlanutl mlanX hostcmd config/txrate_cfg.conf txrate_cfg_set_bg
2928		mlanutl mlanX hostcmd config/txrate_cfg.conf txrate_cfg_set_bgn
2929
2930hostcmd fwdump
2931	This command is used to trigger firmware dump
2932
2933	Usage:
2934		mlanutl mlanX hostcmd <fwdump.conf> fwdump
2935
2936hostcmd stop_su
2937hostcmd start_su
2938	This command is used to set/get 11ax related setting
2939	stop_su: stop su
2940	start_su: resume su
2941	stop_forceRTS: stop force Tx RTS
2942	start_forceRTS: start force Tx RTS
2943	Usage:
2944		mlanutl mlanX hostcmd config/debug.conf stop_su
2945		mlanutl mlanX hostcmd config/debug.conf start_su
2946		mlanutl mlanX hostcmd config/debug.conf stop_forceRTS
2947		mlanutl mlanX hostcmd config/debug.conf start_forceRTS
2948
2949hotspotcfg
2950	This command is used to get/set the HotSpot configuration.
2951
2952	Usage:
2953		mlanutl mlanX hotspotcfg [<bitmap>]
2954
2955	Where the parameter is:
2956		<bitmap> : configuration bitset
2957			 : Bit 31-10 - Reserved set to 0
2958			 : Bit 9 - TDLS support indication enable/disable
2959			 : Bit 8 - Interworking indication enable/disable
2960			 : Bit 7-1 - Reserved set to 0
2961			 : Bit 0 - HotSpot feature enable/disable
2962
2963	Examples:
2964		mlanutl mlan0 hotspotcfg        : Get present remote address mode
2965		mlanutl mlan0 hotspotcfg 0x301  : Turn on HotSpot2.0 and enable TDLS support and interworking indication
2966		mlanutl mlan0 hotspotcfg 0      : Turn off HotSpot2.0 and disable TDLS support and interworking indication
2967
2968hscfg
2969	This command is used to configure the host sleep parameters.
2970	Please note hssetpara and usbsuspend/usbresume commands should be used for USB
2971	host sleep related tests.
2972
2973	Usage:
2974		mlanutl mlanX hscfg [condition [[GPIO# [gap]]]] (optional)[type ind_GPIO# [level]] (optional)[type event_force_ignore event_use_ext_gap ext_gap [gpio_wave]]
2975
2976	This command takes one (condition), two (condition and GPIO#) or three
2977	(condition, GPIO# and gap). If more than three parameters, it can set different or multiple features indicating by type(this is optional):
2978
2979	If type=1, it will set indication gpio and its level. And the parameter format will be (condition, GPIO#,gap and type,ind_GPIO#) or
2980	(condition, GPIO#, gap, type, ind_GPIO# and level).
2981
2982	If type=2, it will set extend hscfg wakup method. And the parameter format will be (condition, GPIO#, gap, type, force_ignore,
2983	use_ext_gap, ext_gap [gpio_wave]). gpio_wave parameter is optional and default value is 0(falling edge). Each bit of
2984	event_force_ignore and event_use_ext_gap will be defined to one same event, and set one same event(same bit) in those two
2985	parameters is not allowed. Set bit(s) in event_force_ignore means the event(s) will be forced ignore in firmware silently.
2986	Set bit(s) in event_use_ext_gap mean the event(s) will use extend gap to inform host. Not set means not handle.
2987
2988	If type=3, it will set hs_wakeup_interval.
2989
2990	If type=4, it will set min_wake_holdoff.
2991
2992        If no parameter provided, get is performed.
2993
2994	The usages of parameters for "hscfg" are the same as that for "hssetpara" command.
2995
2996mgmtfilter
2997        This command is used to set management frame to wake up host when host suspend.
2998
2999        Usage:
3000                mlanutl mlanX mgmtfilter <mgmtfilter.conf>
3001
3002        where <mgmtfilter.conf>
3003                This conf file will set management frame catagory, action and frame mask.
3004
3005        Examples:
3006                mlanutl mlan0 mgmtfilter mgmtfilter.conf
3007
3008auto_arp
3009        This command is used to enable/disable auto arp response in host sleep mode.
3010        No argument is used to get.
3011
3012        where value of n is:
3013                0   -- Disable
3014                1   -- Enable
3015
3016        Examples:
3017                mlanutl mlan0 auto_arp 0           : Disable auto arp response from FW
3018                mlanutl mlan0 auto_arp             : Get auto arp configuration status
3019
3020htstreamcfg
3021	This command is used to set/get HT stream configuration.
3022	The setting only takes effect in next association.
3023
3024	Usage:
3025		mlanutl mlanX htstreamcfg [n]
3026
3027	where <n>
3028		0x11: HT stream 1x1 mode
3029		0x22: HT stream 2x2 mode
3030
3031	Examples:
3032		mlanutl mlan0 htstreamcfg        : Get current setting
3033		mlanutl mlan0 htstreamcfg 0x11   : Set HT stream 1x1 mode
3034		mlanutl mlan0 htstreamcfg 0x22   : Set HT stream 2x2 mode
3035
3036httxbfcap
3037	This command is used to set/get the TX beamforming capabilities.
3038
3039	Usage:
3040		mlanutl mlanX httxbfcap [cap]
3041
3042	where the parameters are,
3043		cap: TX beamforming capabilities
3044			 Bit 0    : Implicit TX BF receiving capable
3045			 Bit 1    : RX staggered sounding capable
3046			 Bit 2    : TX staggered sounding capable
3047			 Bit 3    : RX NDP capable
3048			 Bit 4    : TX NDP capable
3049			 Bit 5    : Implicit TX BF capable
3050			 Bit 6-7  : Calibration
3051			         0: - not supported
3052			         1: - STA can respond to a calibration request using
3053			              the CSI Report, but cannot initiate calibration
3054			         2: - reserved
3055			         3: - STA can both initiate and respond to a calibration request
3056			 Bit 8    : Explicit CSI TX BF capable
3057			 Bit 9    : Explicit non-compressed steering capable
3058			 Bit 10   : Explicit compressed steering capable
3059			 Bit 11-12: Explicit TX BF CSI feedback
3060			         0: - not supported
3061			         1: - delayed feedback
3062			         2: - immediate feedback
3063			         3: - delayed and immediate feedback
3064			 Bit 13-14: Explicit non-compressed BF feedback capable
3065			         0: - not supported
3066			         1: - delayed feedback
3067			         2: - immediate feedback
3068			         3: - delayed and immediate feedback
3069			 Bit 15-16: Explicit compressed BF feedback capable
3070			         0: - not supported
3071			         1: - delayed feedback
3072			         2: - immediate feedback
3073			         3: - delayed and immediate feedback
3074			 Bit 17-18: Minimal grouping
3075			         0: - no grouping (STA supports groups of 1)
3076			         1: - groups of 1, 2
3077			         2: - groups of 1, 4
3078			         3: - groups of 1, 2, 4
3079			 Bit 19-20: CSI number of beamformer antennas supported
3080			         0: - single TX antenna sounding
3081			         1: - 2 TX antenna sounding
3082			         2: - 3 TX antenna sounding
3083			         3: - 4 TX antenna sounding
3084			 Bit 21-22: Non-compressed steering number of beamformer antennas supported
3085			         0: - single TX antenna sounding
3086			         1: - 2 TX antenna sounding
3087			         2: - 3 TX antenna sounding
3088			         3: - 4 TX antenna sounding
3089			 Bit 23-24: Compressed steering number of beamformer antennas supported
3090			         0: - single TX antenna sounding
3091			         1: - 2 TX antenna sounding
3092			         2: - 3 TX antenna sounding
3093			         3: - 4 TX antenna sounding
3094			 Bit 25-26: CSI max number of rows beamformer supported
3095			         0: - single row of CSI
3096			         1: - 2 rows of CSI
3097			         2: - 3 rows of CSI
3098			         3: - 4 rows of CSI
3099			 Bit 27-28: Channel estimation capability
3100			         0: - 1 space time stream
3101			         1: - 2 space time streams
3102			         2: - 3 space time streams
3103			         3: - 4 space time streams
3104			 Bit 29-31: Reserved
3105
3106	Examples:
3107		mlanutl mlan0 httxbfcap             : Get the current TX BF capabilities
3108		mlanutl mlan0 httxbfcap 0x0000001F  : Set the TX BF capabilities of the
3109		                                     Implicit TX BF receiving capable,
3110		                                     RX staggered sounding capable,
3111		                                     TX staggered sounding capable,
3112		                                     RX NDP capable and TX NDP capable
3113
3114httxbfcfg
3115	This command is used to configure the TX beamforming options.
3116	Note: Any new subcommand should be inserted in the second
3117		argument and each argument of the sub command should be
3118		separated by semicolon. For global configuration, the
3119		arguments should be separated by space.
3120
3121	Usage:
3122		mlanutl mlanX httxbfcfg "<action>[;GlobalData/tsData/interval/txPeerData/snrData/txSounding]"
3123
3124	where the parameters are,
3125		action: TX beamforming action
3126			0: Control global parameters for beamforming
3127		        1: Performs NDP Sounding for PEER
3128		        2: TX BF interval in milliseconds
3129		        3: Enable/Disable beamforming/sounding for a particular peer
3130		        4: TX BF SNR Threshold for peer
3131		        .. <for new subcommand>
3132		GlobalData: Global parameter arguments.
3133		    It contains beamforming enable, sounding enable, FB type, snr_threshold
3134		    sounding interval, Beamformig mode values seperated by space.
3135		    Syntax:
3136			mlanutl mlanX httxbfcfg <action>;<beamforming enable> <sounding enable> <FB type>
3137			                       <snr_threshold>  <sounding interval> <Beamforming mode>
3138		tsData: Trigger sounding for PEER specific arguments,
3139		        it contains PEER MAC and status
3140		interval: TX BF interval in milliseconds
3141		txPeerData: Enable/Disable beamforming/sounding for the indicated peer,
3142		          it contains PEER MAC, sounding, beamfoming options and FB type;
3143		snrData: TX BF SNR Threshold for peer, it contains PEER MAC and SNR
3144
3145	Examples:
3146		mlanutl mlan0 httxbfcfg "0"                          : Get current global configuration parameter
3147		mlanutl mlan0 httxbfcfg "2;00:50:43:20:BF:64"        : Get the TX BF periodicity for a given peer
3148		mlanutl mlan0 httxbfcfg "3"                          : Get the list of MAC addresses that have
3149		                                                      beamforming and/or sounding enabled
3150		mlanutl mlan0 httxbfcfg "4"                          : Get the list of PEER MAC, SNR tuples
3151		                                                      programmed into the firmware.
3152		mlanutl mlan0 httxbfcfg "0;0 0 3 10 500 5"           : Disable beamforming, sounding, set FB type
3153		                                                      to 3, snr threshold to 10, sounding interval
3154		                                                      to 500 ms and beamforming mode to 5
3155		mlanutl mlan0 httxbfcfg "1;00:50:43:20:BF:64"        : Perform NDP Trigger sounding to peer
3156		                                                      00:50:43:20:BF:64
3157		mlanutl mlan0 httxbfcfg "2;00:50:43:20:BF:64;500"    : Set TX BF periodicity for peer 00:50:43:20:BF:64
3158		                                                      to 500 milliseconds
3159		mlanutl mlan0 httxbfcfg "3;00:50:43:20:BF:43;1;0;3"  : Enable beamforming, disable sounding and set
3160		                                                      FB type to 3 for peer 00:50:43:20:BF:43
3161		mlanutl mlan0 httxbfcfg "4;00:50:43:20:BF:24;43"     : Set TX BF SNR threshold to peer
3162		                                                      00:50:43:20:BF:24 with SNR 43
3163
3164inactivityto
3165	This command is used to set/get the inactivity timeout value, which specifies
3166	when WLAN device is put to sleep.
3167
3168	Usage:
3169		mlanutl mlanX inactivityto <n> <m> <l> [k]
3170
3171	where the parameter are:
3172		<n>: timeout unit in microseconds.
3173		<m>: Inactivity timeout for unicast data.
3174		<l>: Inactivity timeout for multicast data.
3175		[k]: Inactivity timeout for new Rx traffic after PS notification to AP.
3176
3177	Examples:
3178		mlanutl mlan0 inactivityto           : Get the timeout value
3179		mlanutl mlan0 inactivityto 1000 2 3  : Set timeout unit to 1000 us (1 ms),
3180		                                      inactivity timeout for unicast data is 2 ms,
3181		                                      inactivity timeout for multicast data is 3 ms
3182
3183ipaddr
3184	This command is used to set/get IP address.
3185
3186	Usage:
3187		mlanutl mlanX ipaddr ["<op>;<ipaddr>"]
3188
3189	where <op>
3190		0: Remove the IP address
3191		bit 0: Set IP address for broadcast ARP filter, which will be auto enabled
3192		       in next host sleep configuration
3193		bit 1: Set IP address for auto broadcast ARP response
3194
3195	Examples:
3196		mlanutl mlan0 ipaddr                 : Get current settings
3197		mlanutl mlan0 ipaddr "0"             : Remove IP address
3198		mlanutl mlan0 ipaddr "1;192.168.0.5" : Set IP address for ARP filter
3199		mlanutl mlan0 ipaddr "3;192.168.0.6" : Set IP address for ARP filter
3200		                                     : and auto ARP response
3201
3202linkstats
3203	This command is used to get the link statistics from the firmware.
3204
3205	Usage:
3206		mlanutl mlanX linkstats
3207
3208listeninterval
3209	This command is used to set/get listen interval in assoc request.
3210
3211	Usage:
3212		mlanutl mlanX listeninterval [l]
3213
3214	where the parameter:
3215		[l]: Value of listen interval [Default 10]
3216
3217	Examples:
3218		mlanutl mlan0 listeninterval     : Display Listen interval
3219		mlanutl mlan0 listeninterval 1   : Set Listen interval to 1.
3220
3221macctrl
3222	This command is used to set/get MAC control.
3223	It's recommended to read the current setting first to avoid override issue.
3224
3225	Usage:
3226		mlanutl mlanX macctrl [n]
3227
3228	where <n>
3229		bit 0:  Rx enabled
3230		bit 1:  Directed Filter enabled
3231                bit 2:  LoopBack enabled
3232		bit 3:  WEP enabled       (use of WEP/TKIP is not recommended anymore)
3233		bit 4:  EthernetII enabled
3234                bit 5:  MultiCast enabled
3235		bit 6:  BroadCast enabled
3236		bit 7:  Promiscuous enabled
3237		bit 8:  All MultiCast enabled
3238		bit 9:  RTS/CTS enabled (0: CTS to self)
3239                bit 10: Enforce Protection enabled
3240		bit 11: Force 11N Protection enabled
3241		bit 12: Rx 802.11 Packets enabled
3242		bit 13: Ad-hoc g Protection enabled
3243		bit 14: Reserved
3244		bit 15: WEP Type  (use of WEP/TKIP is not recommended anymore)
3245		bit 16: BandWidth Indication in RTS enabled
3246		bit 17: Dynamic BandWidth Indication Mode in RTS enabled
3247		bit 18-31: Reserved
3248
3249	Examples:
3250		mlanutl mlan0 macctrl           : Get current MAC control
3251		mlanutl mlan0 macctrl 0x13      : Set Rx enabled and Directed Filter enabled and EthernetII enabled
3252		mlanutl mlan0 macctrl 0x813     : Set Rx enabled and Directed Filter enabled and EthernetII enabled
3253		                                  Force 11N Protection enabled
3254
3255memrdwr
3256	This command is used to read/write the adapter memory.
3257
3258	Usage:
3259		mlanutl mlanX memrdwr <address> [value]
3260
3261	where the parameters are,
3262		<address>:  memory address
3263		[value]:    value to be written
3264
3265	Examples:
3266		mlanutl mlan0 memrdwr 0x4cf70    : Read memory address 0x4cf70
3267		mlanutl mlan0 memrdwr 0x80000000 0xffffffff
3268		                                 : Write 0xffffffff to memory address 0x80000000
3269
3270miracastcfg
3271	This command is used to set/get the miracast configuration.
3272
3273	Usage:
3274	mlanutl mlanX miracastcfg [l] [m] [n]
3275
3276	where the parameters are,
3277		[l]:    miracast mode
3278				0: Disable
3279				1: Source
3280				2: Sink
3281		[m]:    scan time per channel, in ms
3282		[n]:    gap during two scans, in ms
3283
3284	Examples:
3285		mlanutl mlan0 miracastcfg           : Get miracast configuration
3286		mlanutl mlan0 miracastcfg 0         : Disable miracast configuration
3287		mlanutl mlan0 miracastcfg 1 20 40   : Set miracast mode as source, with scan time
3288	                                          20ms per channel and gap during two scans 40ms
3289
3290mgmtframectrl
3291	This command is used to set/get registered frame type to passthrough.
3292
3293	Usage:
3294		mlanutl mlanX mgmtframectrl [<mask>]
3295		mlanutl uapX mgmtframectrl [<mask>]
3296
3297	Where the parameter is:
3298		<mask>  : the bit mask of management frame reception.
3299			: Bit 0 - Association Request
3300			: Bit 1 - Association Response
3301			: Bit 2 - Re-Association Request
3302			: Bit 3 - Re-Association Response
3303			: Bit 4 - Probe Request
3304			: Bit 5 - Probe Response
3305			: Bit 8 - Beacon Frames
3306			: Bit 13 - Action Frames
3307
3308	Examples:
3309		mlanutl mlan0 mgmtframectrl        : Get present mask
3310		mlanutl mlan0 mgmtframectrl 0x0020 : Bit 5 is set, Forward probe response frames to application layer
3311
3312mgmtframetx
3313	This command is used to send management frame.
3314
3315	Usage:
3316		mlanutl mlanX mgmtframetx <mgmt_frame.conf>
3317
3318	Where the parameter is:
3319		mgmt_frame.conf : The configuration file contains the management frame.
3320
3321	Examples:
3322		mlanutl mlan0 mgmtframetx config/mgmt_frame.conf
3323
3324mpactrl
3325	This command is used to set/get the Tx, Rx SDIO aggregation parameters.
3326	Note: The parameters can be set only in disconnected state.
3327
3328	Usage:
3329		mlanutl mlanX mpactrl [tx_ena] [rx_ena] [tx_size] [rx_size] [tx_ports] [rx_ports]
3330
3331	where the parameter are:
3332		[tx_ena]: Enable/disable (1/0) Tx MP-A
3333		[rx_ena]: Enable/disable (1/0) Rx MP-A
3334		[tx_size]: Size of Tx MP-A buffer
3335		[rx_size]: Size of Rx MP-A buffer
3336		[tx_ports]: Max ports (1-16) for Tx MP-A
3337		[rx_ports]: Max ports (1-16) for Rx MP-A
3338	default values are 1 1 16384 32768 16 16
3339	The MP-A may be disabled by default at build time if the MMC driver byte mode patch
3340	is not available in kernel.
3341
3342	Examples:
3343		mlanutl mlan0 mpactrl       : Get MP aggregation parameters
3344		mlanutl mlan0 mpactrl 0 0
3345		                           : Disable MP aggregation for Tx, Rx respectively
3346		mlanutl mlan0 mpactrl 1 1 8192 8192 8 8
3347		                           : Enable MP aggregation for Tx, Rx
3348		                           : Set Tx, Rx buffer size to 8192 bytes
3349		                           : Set maximum Tx, Rx ports to 8
3350
3351netmon
3352	This command is used to set/get network monitor configuration.
3353	Note: For channel specified mode, the configuration should be issued when
3354	STA/AP is disconnected. For in-channel sniffer mode, the configuration
3355        can be issued irrespective of the STA/AP connected state, and requires
3356	specification of only action and filter parameters. If any of the STA/AP
3357	connection is active, the in-channel sniffer mode will inherently work
3358	on the active band and channel configuration.
3359
3360	Usage:
3361        mlanutl <interface>  netmon [<act> [<filter> <band> <chan> <opt>]]
3362
3363	Where the parameters are:
3364        <interface> : mlanX
3365		<act>    : (0) disable any network monitor activity
3366			 : (1) enable channel specified sniffer mode activity
3367		<filter> : network monitor fitler flag
3368		    bit 0: (1/0) enable/disable management frame
3369		    bit 1: (1/0) enable/disable control frame
3370		    bit 2: (1/0) enable/disable data frame
3371		<band>   : 802.11 band
3372		    bit 0: B
3373		    bit 1: G
3374		    bit 2: A
3375		    bit 3: GN
3376		    bit 4: AN
3377			 bit 5: AC 2.4G
3378             bit 6: AC 5G
3379		<chan>   : channel to monitor
3380        <opt>        : [offset]
3381	[offset] : secondary channel bandwidth
3382		0 - Bandwidth 20Mhz
3383		1 - HT Bandwidth 40Mhz sec channel above
3384		3 - HT Bandwidth 40Mhz sec channel below
3385		4 - VHT Bandwidth 80Mhz
3386
3387	Examples:
3388		mlanutl mlan0 netmon             : Get the current network monitor configuration
3389		mlanutl mlan0 netmon 0           : Disable network monitor activity
3390		mlanutl mlan0 netmon 1 4 11 6    : Enable channel specified sniffer activity, set filter
3391		                                  data frame, band B/G/GN and channel 6
3392			mlanutl mlan0 netmon 1 7 20 64 1 : Enable channel specified sniffer activity, set filter
3393		                                  management, control and data frame, band A/AN,
3394		                                  channel 64 and secondary channel above
3395
3396monitormode
3397	This command is used to set/get monitor mode.
3398	Note: The enable monitor mode setting should be issued when no active interface exist.
3399              Before we want to use sniffer mode, need enable monitor mode.
3400              After this can only use sniffer mode, don't make STA/P2P/UAP work.
3401              When sniffer mode using done, should disable monitor mode.
3402
3403	Usage:
3404		mlanutl mlanX monitormode [l]
3405
3406	where the parameter:
3407		[l]
3408			0 : Disable monitor mode
3409			1 : Enable monitor mode
3410			<none>: Get monitor mode
3411
3412	Examples:
3413		mlanutl mlan0 monitormode   : Get monitor mode.
3414		mlanutl mlan0 monitormode 1 : Enable monitor mode.
3415
3416offchannel
3417	This command is used to set/cancel the offchannel configuration.
3418	Note: This command only can be used when cfg80211 is enabled during load time.
3419
3420	Usage:
3421		mlanutl mlanX offchannel [<l> <m> <n> <bandwidth>]
3422
3423	where
3424		<l>
3425			0 : Cancel the offchannel configuration
3426			1 : Set the offchannel configuration
3427		<m>
3428			The channel to configure
3429		<n>
3430			The duration for which to configure
3431        <bandwidth> : channel bandwidth
3432            0 - Bandwidth 20Mhz
3433            1 - HT Bandwidth 40Mhz sec channel above
3434            3 - HT Bandwidth 40Mhz sec channel below
3435            4 - VHT Bandwidth 80Mhz
3436
3437	Examples:
3438		mlanutl mlan0 offchannel           : Get current offchannel status.
3439		mlanutl mlan0 offchannel 0         : Cancel the offchannel configuration.
3440		mlanutl mlan0 offchannel 1 3 5     : Configure channel 3 for 5 milliseconds.
3441		mlanutl mlan0 offchannel 1 36 5000 : Configure channel 36 for 5000 milliseconds.
3442		mlanutl mlan0 offchannel 1 64 500 4 : Configure channel 64 in 80MHz for 500 milliseconds.
3443
3444otpuserdata
3445	This command is used to get the OTP user data.
3446
3447	Where
3448	<l> is <user_data_length>
3449	<user_data_length> - This parameter specifies the length of OTP user data to be read
3450
3451	Examples:
3452		mlanutl mlan0 otpuserdata 10         : Get the 10-byte OTP user data
3453
3454passphrase
3455	This command is used to set/get passphrase for WPA-PSK/WPA2-PSK/WPA3-SAE mode.// use of WPA/TKIP is not recommended anymore
3456
3457	Where <l>
3458		ASCII string for ssid/passphrase/psk/sae_password.
3459
3460	Setting psk for WPA3 SAE protocol is not possible, as new psk gets generated
3461	everytime in protocol flow.
3462
3463	1) "0;<ssid=valid ssid>" - This will get the passphrase, AKMP
3464	   for specified ssid, if none specified then it will get all.
3465
3466	Example:
3467		mlanutl mlan0 passphrase "0;ssid=nxp"
3468
3469	2) "1;<psk=64 byte hexpsk>;<passphrase=1-63 byte passphare>
3470	   <ssid=valid ssid>" - Passphrase and psk cannot be provided for the same SSID.
3471	   This command takes only one SSID at a time, If ssid= is present it should contain
3472	   a passphrase or psk. If no arguments are provided then AKMP=802.1x, and passphrase
3473	   should be provided after association.
3474	   End of each parameter should be followed by a ';'(except for the last parameter)
3475	   as the delimiter. If ';' or '/' has to be used in an SSID then a '/' should be preceded
3476	   to ';' or '/' as a escape.
3477
3478	Examples:
3479		mlanutl mlan0 passphrase "1;ssid=nxpAP;passphrase=abcdefgd"
3480		mlanutl mlan0 passphrase "1;ssid=nxp AP;psk=<64 bytes hexpsk>"
3481
3482		If user wants to input the ssid as "nxp; AP" then command has to be
3483		mlanutl mlan0 passphrase "1;ssid=nxp/; AP;passphrase=abcdefgh"
3484
3485		If user wants to input the ssid as "//;" then command has to be
3486		mlanutl mlan0 passphrase "1;ssid=/////;;passphrase=abcdefgh"
3487
3488	3) "2;<ssid=valid ssid>" - This will clear the passphrase
3489	   for specified ssid, if none specified then it will clear all.
3490
3491	Examples:
3492		mlanutl mlan0 passphrase "2;ssid=nxp"
3493		mlanutl mlan0 passphrase "2"     : Clear all profiles and disable embedded supplicant
3494
3495	4)"1;ssid=<ssid>;sae_password=<password>" This will set WPA3 SAE ssid & password. sae_password should be within the range of 8 to 255 char.
3496	Examples:
3497		mlanutl mlan0 passphrase "1;ssid=nxp;sae_password=1234567890"
3498
3499pb_bypass
3500	This command is used to get the By-passed TX packet from upper layer.
3501
3502	Usage:
3503
3504	mlanutl mlanX pb_bypass [data_1, data_2, ... data_n]
3505
3506	where value of data_1, data_2, ... data_n isBypass TX Data
3507
3508pcieregrw
3509	This command is used to read/write PCIE register.
3510
3511	Usage:
3512		mlanutl mlanX pcieregrw <offset> [value]
3513
3514	where the parameters are,
3515		<offset>:	The offset of PCIE register
3516		[value]: 	The value to write
3517
3518	Examples:
3519		mlanutl mlan0 pcieregrw 0x48     : Read PCIE register 0x48
3520		mlanutl mlan0 pcieregrw 0x44 8   : Write 8 to PCIE register 0x44
3521
3522pciebar0regrw
3523	This command is used to read/write PCIE register/memory from BAR0.
3524
3525	Usage:
3526		mlanutl mlanX pciebar0regrw <offset> [value]
3527
3528	where the parameters are,
3529		<offset>:	The offset of PCIE register
3530		[value]: 	The value to write
3531
3532	Examples:
3533		mlanutl mlan0 pciebar0regrw 0x48     : Read PCIE register 0x48
3534		mlanutl mlan0 pciebar0regrw 0x44 8   : Write 8 to PCIE register 0x44
3535
3536pmfcfg
3537	This command is used to set/get management frame protection parameters.
3538
3539	Usage:
3540		mlanutl mlanX pmfcfg <m> <n>
3541
3542	where
3543		<m>: Management Frame Protection Capable (MFPC)
3544			1: Management Frame Protection Capable
3545			0: Management Frame Protection not Capable
3546		<n>: Management Frame Protection Required (MFPR)
3547			1: Management Frame Protection Required
3548			0: Management Frame Protection Optional
3549		Default setting is PMF not capable.
3550		m = 0, n = 1 is an invalid combination
3551
3552        Examples:
3553                mlanutl mlan0 pmfcfg            : Get PMF parameters
3554                mlanutl mlan0 pmfcfg 1 0        : Set MFPC and make MFPR optional
3555
3556port_ctrl
3557	This command is used to Set/Get Port Control mode. No argument is used to get.
3558
3559	where value of n is:
3560		0   -- Disable
3561		1   -- Enable
3562
3563	Examples:
3564		mlanutl mlan0 port_ctrl 1           : Enable Port Control mode
3565		mlanutl mlan0 port_ctrl             : Get Port Control mode status
3566
3567powercons
3568	This command is used to set the local transmit power constraint.
3569	Value is in dbm unit. This command is only used for ad-hoc start.
3570
3571	Usage:
3572		mlanutl mlanX powercons [n]
3573
3574	Examples:
3575		mlanutl mlanX powercons          : get the current setting
3576		mlanutl mlanX powercons 12       : set local power constraint to 12 dbm
3577
3578pscfg
3579	This command is used to set/get PS configuration parameters.
3580
3581	Usage:
3582		mlanutl mlanX pscfg [k] [d] [l] ...
3583
3584	Where the parameters:
3585		[k]: Keep alive null packet interval (0: Unchanged, -1: Disable, n: Interval in seconds)
3586		[d]: DTIM interval (    0: Unchanged,
3587		                      1-5: Value,
3588		                    65534: DTIM will be ignored, listen interval will be used,
3589		                    65533: Closest DTIM to the listen interval period will be used )
3590		[l]: Local listen interval (     0: Unchanged,
3591		                                -1: Disable,
3592		                              1-49: Value in beacon intervals,
3593		                             >= 50: Value in TUs )
3594		[b]: Beacon miss timeout (0: Unchanged, 1-50: Value in milliseconds, 65535: Disable)
3595		[p]: Delay to PS (0-65535: Value in milliseconds, default 1000ms)
3596		[m]: PS mode (0: Unchanged, 1: Auto mode, 2: PS-Poll mode, 3: PS Null mode)
3597	No change if parameters are not provided.
3598
3599	Examples:
3600		mlanutl mlan0 pscfg              : Get all the current PS configuration settings
3601		mlanutl mlan0 pscfg 3 4          : Set PS keep alive null packet interval to 3 seconds
3602		                                   and DTIM interval to 4, all the other configurations
3603		                                   are unchanged
3604		mlanutl mlan0 pscfg 0 0 0 0 50 2 : Set delay to PS to 50 ms and PS mode to PS-Poll mode,
3605		                                   keep the others unchanged
3606
3607bcntimeoutcfg
3608	This command is used to set Beacon timeout parameters.
3609
3610	Usage:
3611		mlanutl mlanX bcntimeoutcfg [l] [m] [o] [p]
3612
3613	Where the parameters:
3614		[l]: Beacon miss timeout period Rx window (in ms)
3615		[m]: Beacon miss timeout period (unit in beacon interval)
3616		[o]: Beacon reacquire timeout period Rx window (unit in beacon interval)
3617		[p]: Beacon reacquire timeout period (unit in beacon interval)
3618		Please note that it would be better [m]+[p] not exceed 64.
3619	Examples:
3620		mlanutl mlan0 bcntimeoutcfg 10 30 2 30    : Set beacon timeout configure to
3621		                                            Beacon miss timeout period Rx window      : 10 (ms)
3622		                                            Beacon miss timeout period                : 30 (Beacon Interval)
3623		                                            Beacon reacquire timeout period Rx window : 2  (Beacon Interval)
3624		                                            Beacon reacquire timeout period           : 30 (Beacon Interval)
3625
3626psmode
3627	This command is used to set/get the IEEE PS mode configuration.
3628
3629	Usage:
3630		mlanutl mlanX psmode [l]
3631
3632	where the parameter:
3633		[l]
3634			0 : Disable IEEE PS mode
3635			1 : Enable IEEE PS mode
3636			<none>: Get IEEE PS mode
3637
3638	Examples:
3639		mlanutl mlan0 psmode   : Get IEEE PS mode.
3640		mlanutl mlan0 psmode 1 : Enable IEEE PS mode.
3641
3642qconfig
3643	Send a WMM AC Queue configuration command to get/set/default params
3644
3645	Configure or get the parameters of a WMM AC queue. The command takes
3646	an optional Queue Id as a last parameter.  Without the queue id, all
3647	queues will be acted upon.
3648
3649	Usage:
3650		mlanutl mlanX qconfig def [Queue Id: 0-3]
3651		mlanutl mlanX qconfig get [Queue Id: 0-3]
3652		mlanutl mlanX qconfig set msdu <lifetime in TUs> [Queue Id: 0-3]
3653
3654qoscfg
3655	This command sets WMM IE QOS info when an argument is given, and gets current WMM
3656	IE QOS info when no argument is given.
3657
3658	Examples:
3659		mlanutl mlanX qoscfg 0x0f        : Set WMM IE QOS info to 0x0f
3660		mlanutl mlanX qoscfg             : Get WMM IE QOS info
3661
3662qstatus
3663	This command retrieves the current status of the WMM queues. If WMM
3664	  is enabled then it displays the information for each AC in a table.
3665
3666	Usage:
3667		mlanutl mlanX qstatus
3668
3669radioctrl
3670	This command is used to turn on/off the radio.
3671	Note: The radio can be disabled only in disconnected state.
3672
3673	where value of n is:
3674		0   -- Disable
3675		1   -- Enable
3676
3677	Examples:
3678		mlanutl mlan0 radioctrl 1        : Turn the radio on
3679		mlanutl mlan0 radioctrl          : Get radio status
3680
3681rdeeprom
3682	This command is used to read the EEPROM contents of the card.
3683
3684	Usage:
3685		mlanutl mlanX rdeeprom <offset> <length>
3686
3687	where the parameters are,
3688		<offset>:   multiples of 4
3689		<length>:   4-20, multiples of 4
3690
3691	Example:
3692		mlanutl mlan0 rdeeprom 0 20      : Read 20 bytes of EEPROM data from offset 0
3693
3694reassoctrl
3695	This command is used to turn on/off re-association in driver.
3696
3697	Usage:
3698		mlanutl mlanX reassoctrl [n]
3699
3700	Where value of n is:
3701		0   -- Disable
3702		1   -- Enable
3703
3704	Examples:
3705		mlanutl mlan0 reassoctrl         : Get re-association status
3706		mlanutl mlan0 reassoctrl 1       : Turn re-association on
3707
3708regioncode
3709	This command is used to set/get the region code in the station.
3710	Note: This command should be issued at beginning before band/channel selection
3711	and association.
3712
3713	where value is 'region code' for various regions like
3714	USA FCC, Canada IC, Europe ETSI, Japan ...
3715	The special code (0xff) is used for Japan to support channel 1-14 in B/G/N mode.
3716
3717	Examples:
3718		mlanutl mlan0 regioncode         : Get region code
3719		mlanutl mlan0 regioncode 0x10    : Set region code to USA (0x10)
3720	Note : in some case regioncode will be 0 after updated countycode or 80211d
3721		i.e. mlanutl mlanX countrycode  (CA, JP, CN, DE, ES AT, BR, RU)
3722		or uaputl.exe sys_cfg_80211d state 1 country (CA, JP, CN, DE, ES AT, BR, RU)
3723		Please use cfp instead of it.
3724
3725regrdwr
3726	This command is used to read/write the adapter register.
3727
3728	Usage:
3729		mlanutl mlanX regrdwr <type> <offset> [value]
3730
3731	where the parameters are,
3732		<type>:     1:MAC, 2:BBP, 3:RF, 5:CAU, 6:PSU, 7:BCA, 8:CIU, 0x81:MAC2, 0x82:BBP2, 0x83: RF2, 0x87: BCA2
3733		<type>:     1:MAC, 2:BBP, 3:RF, 5:CAU, 6:PSU, 7:BCA, 8:CIU
3734		<type>:     1:MAC/SOC, 2:BBP, 3:RF, 5:CAU, 6:PSU, 7:BCA
3735		<offset>:   offset of register
3736		[value]:    value to be written
3737		Note:
3738		BBP reg (type 2) 0xXZZZ:
3739		X: 0=BBUD, 8=BBUA.
3740		ZZZ: offset (0-0xFFF).
3741		RF reg (type 3) 0xXYZZ:
3742
3743		For 8887/8897/8777
3744		1. If Y == 0, access RFU BASE Register.
3745		   X = Path ID (0=Path_A, 1=Path_B), ZZ = offset (0-0xFF).
3746		2. If Y != 0, access RFU XCVR Register on Path Y (1=Path_A, 2=Path_B).
3747		   X = Page # (0=Page_1, 1=Page_2, 2=Page_3 if chip support), ZZ: offset (0-0xFF).
3748		For 8977/8997/8987
3749        X   = Path ID (0-1)
3750        Y   = Page Number (0-6) in selected Path
3751        ZZ  = Register offset in selected path/page
3752
3753	Examples:
3754		mlanutl mlan0 regrdwr 1 0x60   : Read the MAC register
3755		mlanutl mlan0 regrdwr 1 0x794 0x80000000    : Write 0x80000000 to MAC register
3756		mlanutl mlan0 regrdwr 0x81 0x60   :Read MAC2 register
3757
3758rejectaddbareq
3759	This command is used to set/get the conditions of rejecting addba request.
3760
3761	Usage:
3762		mlanutl mlanX rejectaddbareq [conditions]
3763		mlanutl uapX rejectaddbareq [conditions]
3764
3765	Where conditions are:
3766		bit 0 = 1   -- reject the addba request when host sleep activated
3767		bit 1 = 1   -- reject the addba request when FW auto re-connect enabled
3768		               this bit is only used with STA BSS
3769		others      -- reserved
3770
3771	Examples:
3772		mlanutl mlan0 rejectaddbareq      : Get the reject addba request conditions
3773		mlanutl mlan0 rejectaddbareq 0x1  : Reject the addba request
3774		                                    when host sleep activated
3775		mlanutl mlan0 rejectaddbareq 0x2  : Reject the addba request
3776		                                    when FW auto re-connect enabled
3777		mlanutl mlan0 rejectaddbareq 0x3  : Reject the addba request when
3778		                                    host sleep activated or
3779		                                    FW auto re-connect enabled
3780		mlanutl uap0 rejectaddbareq 0x1   : Reject the addba request
3781		                                    when host sleep activated
3782
3783scancfg
3784	This command is used to set/get scan configuration parameters.
3785
3786	Usage:
3787 		mlanutl mlanX scancfg [t] [m] [p] [s] [a] [b] [c] [ext] [gap]
3788
3789	where the parameters:
3790		[t]: Scan Type (0: Unchanged, 1: Active, 2: Passive, default Active)
3791		[m]: Scan Mode (0: Unchanged, 1: BSS, 2: IBSS, 3: Any, default Any)
3792		[p]: Scan Probes (0: Unchanged, 1-5: Number of probes per channel, default 4)
3793		[s]: Specific Scan Time (0: Unchanged, n: Value in ms, default 110 ms, max 500 ms)
3794		[a]: Active Scan Time (0: Unchanged, n: Value in ms, default 200 ms, max 500 ms)
3795		[b]: Passive Scan Time (0: Unchanged, n: Value in ms, default 200 ms, max 2000 ms)
3796		[c]: Passive to Active Scan (0: Unchanged, 1: Enable, 2: Disable, default Enable)
3797		[ext]: Extended scan (0: Unchanged, 1: Legacy scan, 2: Extended scan, 3: Extended scan enhance)
3798		[gap]: Time gap between two scans in milliseconds (max value 500ms)
3799	No change if the parameter is 0 or the parameter is not provided.
3800
3801	Examples:
3802		mlanutl mlan0 scancfg            : Get all the current scan configuration settings
3803		mlanutl mlan0 scancfg 1 3        : Set scan type to active and scan mode to any,
3804		                                   all the other scan configurations are unchanged
3805		mlanutl mlan0 scancfg 0 1 2 200  : Set scan mode to BSS, number of probes to 2 and
3806		                                   specific scan time to 200 ms, all the other scan
3807		                                   configurations are unchanged
3808		mlanutl mlan0 scancfg 0 0 0 0 0 0 1  : Set Passive to Active Scan to enable, all the
3809 		                                       other scan configurations are unchanged
3810		mlanutl mlan0 scancfg 2 0 0 0 0 0 2  : Set scan type to passive, Passive to Active
3811  		                                       Scan to disable, all the other scan configurations
3812  		                                       are unchanged
3813
3814sdcmd52rw
3815	This command is used to read/write a controller register in
3816	Secure Digital I/O Interfaces.
3817
3818	Usage:
3819		mlanutl mlanX sdcmd52rw <function number> <register address> [value]
3820
3821	For SDIO MMC driver, only function 0 and 1 access is allowed. And there
3822	is a limitation for function 0 write, only vendor specific CCCR registers
3823	(0xf0 -0xff) are permiited.
3824
3825	Examples:
3826		mlanutl mlan0 sdcmd52rw 1 3      : Read SDIO function 1 register 3
3827		mlanutl mlan0 sdcmd52rw 1 1 0x3f : Write 0x3f to SDIO function 1 register 1
3828
3829sdcmd53rw
3830	This command is used to issue a CMD53 read/write data in
3831	Secure Digital I/O Interfaces.
3832
3833	Usage:
3834		mlanutl mlanX sdcmd53rw <func> <address> <mode> <blksize> <blknum> [data1] ... [dataN]
3835
3836	where the parameters are,
3837		<func>:     function number (0/1/2/..)
3838		<address>:  data address
3839		<mode>:     byte mode/block mode (0/1)
3840		<blksize>:  block size (32/64/../512, NA for byte mode)
3841		<blknum>:   block number or byte number
3842		<data1> ... <dataN>:  data for write
3843
3844	Note: The total data length is block size * block number for block mode
3845	or byte number for byte mode. The max data length is 2000-byte.
3846	For write the data pattern will be duplicated to data buffer.
3847
3848	Examples:
3849		mlanutl mlan0 sdcmd53rw 0 0x8000 1 0x40 2
3850		mlanutl mlan0 sdcmd53rw 1 0x10000 0 1 5 0x0a 0x0b 0x0c 0x0d 0x0e
3851
3852sdioclock
3853	Turn On(1) or Off(0) the SDIO clock.
3854
3855	Usage:
3856		mlanutl mlanX sdioclock 1 (on)
3857		mlanutl mlanX sdioclock 0 (off)
3858		mlanutl mlanX sdioclock (get the current clock state)
3859
3860
3861setuserscan
3862	Initiate a customized scan and retrieve the results
3863
3864	Usage:
3865		mlanutl mlanX setuserscan [ARGS]
3866
3867	Where [ARGS]:
3868	  ssid="[SSID]"            specify a SSID filter for the scan
3869	  group=<group mask>       specify the channel group(s) to scan
3870	  chan=[chan#][band][mode] where band is [a,b,g,e] and mode is
3871	                           blank for unchange, or 'c' for active or 'p' for passive
3872	  bssid=xx:xx:xx:xx:xx:xx  specify a BSSID filter for the scan
3873	  wc="[WILDCARD SSID]"     specify a UNIX pattern matching filter (using *
3874	                           and ?) for SSIDs found in a broadcast probe
3875	  keep=[0 or 1]            keep the previous scan results (1), discard (0)
3876	  dur=[scan time]          time to scan for each channel in milliseconds
3877	  gap=[gap time]           Time gap between two scans in milliseconds
3878	  probes=[#]               number of probe requests to send on each chan
3879	                           for each broadcast probe required and each SSID
3880	                           specific probe required (1-5)
3881	  bss_type=[1,2,3]         BSS type: 1 (Infra), 2(Adhoc), 3(Any)
3882          sort_by_ch               Sort by channel number in ascending order.
3883                                   Default mode: Sort by Signal Strength in descending order.
3884	  scan_type=[0,1]          ext scan type (0-1) 0: legacy, 1: enhance scan
3885
3886	Any combination of the above arguments can be supplied on the command line.
3887	If the chan token is absent, a full channel scan will be completed by driver.
3888	If the dur or probes tokens are absent, the driver default setting will be
3889	used. The bssid and ssid fields, if blank, will produce an unfiltered scan.
3890	It's allowed to input multiple ssid/wc entries, the max entry number is 10.
3891	The type field will default to 3 (Any) and the keep field will default to 0
3892	(Discard).
3893
3894	Examples:
3895	1) Perform an active scan on channels 1, 6, and 11 in the 'g' band:
3896		setuserscan chan=1g,6g,11g
3897
3898	2) Perform a passive scan on channel 11 for 20 ms:
3899		setuserscan chan=11gp dur=20
3900
3901	3) Perform an active scan on channels 1, 6, and 11; and a passive scan on
3902	   channel 36 in the 'a' band:
3903		setuserscan chan=1g,6g,11g,36ap
3904
3905	4) Perform an active scan on channel 6 and 36 for specific SSID:
3906		setuserscan chan=6g,36a ssid=TestAP1 ssid=TestAP2
3907
3908	5) Scan all available channels (B/G/N, A bands) for a specific BSSID, keep
3909	   the current scan table intact, update existing or append new scan data:
3910		setuserscan bssid=00:50:43:20:12:82 keep=1
3911
3912	6) Scan channel 6, for all infrastructure networks, sending two probe
3913	   requests.  Keep the previous scan table intact. Update any duplicate
3914	   BSSID/SSID matches with the new scan data:
3915		setuserscan chan=6g bss_type=1 probes=2 keep=1
3916
3917	7) Scan channel 1 and 6, for all networks matching the NXP*AP
3918	   or AP*NXP? patterns and for NXPTst SSID.  Generate 3 broadcast
3919	   probes for the patterns and 3 SSID specific probes for NXPTst on
3920	   both channel 1 and channel 6.
3921		setuserscan chan=1g,6g probes=3 wc="NXP*AP" wc="AP*NXP?" ssid="NXPTst"
3922
3923	8) Scan all the channels for specified band.
3924		setuserscan chan=0g
3925	9) Perform active scan for a list of specific BSSIDs
3926		setuserscan bssid=00:50:43:20:12:82 bssid=48:e2:44:3f:ec:76
3927
3928	9) Scan channel 1 and 6, send 3 probe requests, scan each channel for 40 ms
3929	   with time gap of 50ms between 2 scans
3930		setuserscan chan=1g,6g probes=3 dur=40 gap=50
3931
3932	10) Perform an enhance scan
3933		setuserscan scan_type=1
3934
3935	All entries in the scan table (not just the new scan data when keep=1)
3936	will be displayed upon completion by use of the getscantable ioctl.
3937cancelscan
3938	This command is used to cancel scan
3939	Usage:
3940		mlanutl mlanX cancelscan
3941sleepparams
3942	This command is used to set the sleepclock configurations
3943
3944	Usage:
3945		mlanutl mlanX sleepparams [<p1> <p2> <p3> <p4> <p5> <p6>]
3946
3947	where:
3948		p1 is Sleep clock error in ppm (0-65535)
3949		p2 is Wakeup offset in usec (0-65535)
3950		p3 is Clock stabilization time in usec (0-65535)
3951		p4 is Control periodic calibration (0-2)
3952		p5 is Control the use of external sleep clock (0-2)
3953		p6 is reserved for debug (0-65535)
3954
3955	Examples:
3956		mlanutl mlan0 sleepparams                      : Get current sleepclock configuration
3957		mlanutl mlan0 sleepparams 10 1000 2000 1 0 128 : Set sleepclock configuration
3958
3959sleeppd
3960	This command is used to configure the sleep period of the WLAN device.
3961
3962	Usage:
3963		mlanutl mlanX sleeppd [<period>]
3964
3965	Where the parameter is:
3966		period: sleep period in milliseconds. Range 10~60. 0 for disable.
3967
3968	Examples:
3969		mlanutl mlan0 sleeppd            : Get sleep period configuration
3970		mlanutl mlan0 sleeppd 10         : Set sleep period to 10 ms
3971
3972sysclock
3973	This command is used to set/get system clocks in MHz.
3974	The current system clock, configurable system clocks and all of the
3975	supported system clocks will be returned if no parameter provided.
3976
3977	Examples:
3978		mlanutl mlan0 sysclock           : Get system clocks
3979		80 80 128 128 128 5 11 16 20 22 32 40 44 64 80 106 128 160 ...
3980		(The current system clock is 80 MHz.
3981		 The configurable system clocks of non-security, security, non-security
3982		 A-MPDU and security A-MPDU are 80 MHz, 128 MHz, 128 MHz and 128 MHz.
3983		 The supported system clocks are 5 MHz, 11 MHz, ..., 160 MHz, 182 MHz,
3984		 213 MHz, 256 MHz, 320 Mhz, 366 MHz , ... . the Max system clocks is different
3985		 for different chips, you could use this command to get the supported system clock)
3986
3987		mlanutl mlanX sysclock 80        : Set system clock in non-security mode
3988		                                  to 80 MHz, no change for others
3989		mlanutl mlanX sysclock 0 0 128   : Set system clock in non-security A-MPDU
3990		                                  mode to 128 MHz, no changes for others
3991
3992tcpackenh
3993	This command is used to set/get TCP ACK enhancement mode.
3994
3995        Usage:
3996        mlanutl mlanX tcpackenh [l] [m]
3997
3998	where
3999	[l] is a control to set TCP ACK enhancement mode
4000		1   -- Enable TCP ACK enhancement (default)
4001		0   -- Disable TCP ACK enhancement
4002	[m] is to configure TCP ACK max hold number
4003		default value is 9, which means driver could hold up to 9 TCP ACK and
4004		only send the last one to peer.
4005
4006	Examples:
4007		mlanutl mlan0 tcpackenh          : Display TCP ACK enhancement
4008		mlanutl mlan0 tcpackenh 1        : Enable TCP ACK enhancement
4009		mlanutl mlan0 tcpackenh 0        : Disable TCP ACK enhancement
4010		mlanutl mlan0 tcpackenh 1 1      : Enable TCP ACK enhancement and
4011						    configure TCP ACK drop percentage to 50%
4012		mlanutl mlan0 tcpackenh 1 2      : Enable TCP ACK enhancement and
4013						    configure TCP ACK drop percentage to 67%
4014		mlanutl mlan0 tcpackenh 1 3      : Enable TCP ACK enhancement and
4015						    configure TCP ACK drop percentage to 75%
4016		mlanutl mlan0 tcpackenh 1 4      : Enable TCP ACK enhancement and
4017						    configure TCP ACK drop percentage to 80%
4018		mlanutl mlan0 tcpackenh 1 5      : Enable TCP ACK enhancement and
4019						    configure TCP ACK drop percentage to 83%
4020		mlanutl mlan0 tcpackenh 1 6      : Enable TCP ACK enhancement and
4021						    configure TCP ACK drop percentage to 85%
4022		mlanutl mlan0 tcpackenh 1 7      : Enable TCP ACK enhancement and
4023						    configure TCP ACK drop percentage to 87.5%
4024		mlanutl mlan0 tcpackenh 1 8      : Enable TCP ACK enhancement and
4025						    configure TCP ACK drop percentage to 88.8%
4026
4027host_tdls_config
4028	This command is used to support channel switch and uapsd for host based tdls
4029
4030	Usage:
4031		mlanutl mlanX host_tdls_config <host_tdls.conf>
4032
4033
4034	Where the parameter is:
4035		host_tdls.conf: The configuration file specifying to enable/disable uapsd/cs and related parameters.
4036
4037	Examples:
4038		mlanutl mlan0 host_tdls_config config/host_tdls.conf
4039			: enable or disable uapsd/cs, config the channel related ie, based on the configuration file.
4040tdls_channel_switch
4041	This command is used to send TDLS channel switch request.
4042
4043	Usage:
4044		mlanutl mlanX tdls_channel_switch <tdls.conf>
4045
4046	Where the parameter is:
4047		tdls.conf: The configuration file for sending TDLS channel switch command.
4048
4049	Examples:
4050		mlanutl mlan0 tdls_channel_switch config/tdls.conf
4051			: Send TDLS channel switch command, based on the configuration file.
4052
4053tdls_config
4054	This command is used to enable/disable TDLS on device.
4055
4056	Usage:
4057		mlanutl mlanX tdls_config <0/1>
4058
4059	Where the parameter is:
4060		0: Enable TDLS.
4061		1: Disable TDLS.
4062
4063	Examples:
4064		mlanutl mlan0 tdls_config 0      : Disable TDLS
4065		mlanutl mlan0 tdls_config 1      : Enable TDLS
4066
4067tdls_cs_params
4068	This command is used to set TDLS channel switch params
4069
4070	Usage:
4071		mlanutl mlanX tdls_cs_params <tdls.conf>
4072
4073	Where the parameter is:
4074		tdls.conf: The configuration file specifying the TDLS channel switch params.
4075
4076	Examples:
4077		mlanutl mlan0 tdls_cs_params config/tdls.conf
4078			: Set TDLS channel switch params, based on the configuration file.
4079
4080tdls_debug
4081	This command is used for FW debug functionality and tests.
4082
4083tdls_disable_cs
4084	This command is used to disable TDLS channel switch
4085
4086	Usage:
4087		mlanutl mlanX tdls_disable_cs <tdls.conf>
4088
4089	Where the parameter is:
4090		tdls.conf: The configuration file to disable TDLS channel switch.
4091
4092	Examples:
4093		mlanutl mlan0 tdls_disable_cs config/tdls.conf
4094			: Disable TDLS channel switch, based on the configuration file.
4095
4096tdls_discovery
4097	This command is used to request TDLS discovery.
4098
4099	Usage:
4100		mlanutl mlanX tdls_discovery <tdls.conf>
4101
4102	Where the parameter is:
4103		tdls.conf: The configuration file to request TDLS discovery.
4104
4105	Examples:
4106		mlanutl mlan0 tdls_discovery config/tdls.conf
4107			: Request TDLS discovery based on the configuration file.
4108
4109tdls_link_status [peer_mac_address]
4110	This command is used to get link information about TDLS links or
4111    a TDLS link correponding to peer mac address.
4112
4113	Usage:
4114		mlanutl mlanX tdls_link_status <tdls.conf>
4115
4116	Where the parameter is:
4117		tdls.conf: The configuration file to send TDLS command to get current link status.
4118
4119	Examples:
4120		mlanutl mlan0 tdls_link_status config/tdls.conf
4121			: Send TDLS command to get current link status based on the configuration file.
4122
4123tdls_powermode
4124	This command is used to send TDLS powermode request.
4125
4126	Usage:
4127		mlanutl mlanX tdls_powermode <tdls.conf>
4128
4129	Where the parameter is:
4130		tdls.conf: The configuration file for sending TDLS powermode command.
4131
4132	Examples:
4133		mlanutl mlan0 tdls_powermode config/tdls.conf
4134			: Send TDLS powermode (either 0:Active, 1:PowerSave) command, based on the configuration file.
4135
4136tdls_setinfo
4137	This command is used for setting the capabilities of the TDLS station.
4138
4139	Usage:
4140		mlanutl mlanX tdls_setinfo <tdls.conf>
4141
4142	Where the parameter is:
4143		tdls.conf: The configuration file specifying the capabilities of the TDLS station.
4144
4145	Examples:
4146		mlanutl mlan0 tdls_setinfo config/tdls.conf
4147			: Set capabilities of the TDLS station, based on the configuration file.
4148
4149tdls_setup
4150	This command is used to send TDLS setup request.
4151
4152	Usage:
4153		mlanutl mlanX tdls_setup <tdls.conf>
4154
4155	Where the parameter is:
4156		tdls.conf: The configuration file for sending TDLS setup request.
4157
4158	Examples:
4159		mlanutl mlan0 tdls_setup config/tdls.conf
4160			: Send TDLS setup request, based on the configuration file.
4161
4162tdls_stop_channel_switch
4163	This command is used to send stop TDLS channel switch request.
4164
4165	Usage:
4166		mlanutl mlanX tdls_stop_channel_switch <tdls.conf>
4167
4168	Where the parameter is:
4169		tdls.conf: The configuration file for sending stop TDLS channel switch command.
4170
4171	Examples:
4172		mlanutl mlan0 tdls_stop_channel_switch config/tdls.conf
4173			: Send stop TDLS channel switch command, based on the configuration file.
4174
4175tdls_teardown
4176	This command is used to send TDLS teardown request.
4177
4178	Usage:
4179		mlanutl mlanX tdls_teardown <tdls.conf>
4180
4181	Where the parameter is:
4182		tdls.conf: The configuration file for requesting teardown of TDLS link.
4183
4184	Examples:
4185		mlanutl mlan0 tdls_teardown config/tdls.conf
4186			: Request teardown of TDLS link, based on the configuration file.
4187
4188hal_phy_cfg
4189        This command is used to set the hal/phy related config parameters
4190
4191        Usage:
4192                mlanutl mlanX/uapX hal_phy_cfg <hal_phy_cfg.conf>
4193
4194        Where the parameter is:
4195                hal_phy_cfg.conf: The configuration file specifying to the values of hal/phy related config parameters
4196
4197        Examples:
4198                mlanutl mlan0 hal_phy_cfg config/hal_phy_cfg.conf
4199                        : to enable or disable 11b_psd_mask the file would contain following paramters
4200                hal_phy_cfg{
4201                    11b_psd_mask_cfg=1  # 1: 11b_psd_mask_enable, 0: 11b_psd_mask_disable
4202                }
4203
4204thermal
4205	This command is used to get the current thermal reading.
4206
4207	Examples:
4208		mlanutl mlan0 thermal            : Get thermal reading
4209
4210ts_status
4211	This command queries the FW for the status of TSIDs 0 through 7
4212	  configured via call admission control and displays the results in a
4213	  table.
4214
4215	Usage:
4216		mlanutl mlanX ts_status
4217
4218tsf
4219	Set/Get the TSF timer value for the station. Station maintains a TSF timer with
4220	modulus 2^64 counting in increments of microseconds.
4221
4222	Usage:
4223		mlanutl mlanX/uapX tsf [t]
4224
4225	where,
4226		[t] : 64bit timestamp value in microseconds
4227
4228	Examples:
4229		mlanutl mlan0 tsf				: Get timestamp
4230		mlanutl uap0 tsf 669468581993	: Set timestamp
4231
4232txaggrctrl
4233	This command is used to enable/disable TX AMPDU on infra link when TDLS link is established
4234
4235	Usage:
4236		mlanutl mlanX txaggrctrl [m]
4237
4238	Where:
4239		[m]: 1 to enable TX AMPDU on infra link; 0 to disable TX AMPDU on infra link
4240
4241	Examples:
4242		mlanutl mlan0 txaggrctrl	: Get current TX AMPDU status on infra link
4243		mlanutl mlan0 txaggrctrl 0	: Disable TX AMPDU on infra link
4244		mlanutl mlan0 txaggrctrl 1	: Enable TX AMPDU on infra link
4245
4246	Note:
4247		The set command only works when TDLS link is established.
4248
4249txbufcfg
4250	This command can be used to get current buffer size.
4251
4252	eg:
4253	mlanutl mlanX txbufcfg 	  - This will display the current buffer size.
4254
4255	Note:- The actual tx buf size will depends on AP's capability and max transmit buffer size.
4256
4257aggrctrl
4258	This command is used to set/get aggregation parameters.
4259
4260	Usage:
4261		mlanutl mlanX aggrctrl [l]
4262
4263	where the parameter:
4264		[l]: Enable (1) or disable (0) Tx aggregation
4265
4266	Examples:
4267		mlanutl mlan0 aggrctrl                              : Display aggregation configurations
4268		mlanutl mlan0 aggrctrl 0                            : Disable Tx aggregation
4269		mlanutl mlan0 aggrctrl 1                            : Enable Tx aggregation
4270
4271usbaggrctrl
4272	This command is used to set/get USB aggregation parameters.
4273
4274	Usage:
4275		mlanutl mlanX usbaggrctrl [l] [m] [n] [o] [p] [q] [r] [s]
4276
4277	where the parameter:
4278		[l]: Enable (1) or disable (0) Tx aggregation
4279		[m]: Enable (1) or disable (0) Rx aggregation
4280		[n]: Tx aggregation max size/number
4281		     For number based aggregation, the values supported are
4282		     - 2, 4, 8, 16
4283		     For size based aggregation, the number supported are
4284		     - 4096, 8192, 16384, 32768
4285		[o]: Rx aggregation max size/number
4286		     For number based deaggregation, the values supported are
4287		     - 2, 4, 8, 16
4288		     For size based deaggregation, the number supported are
4289		     - 4096, 8192, 16384, 32768
4290		[p]: Tx aggregation alignment
4291		     The value must be 2048, 4096, 8192 etc.
4292		[q]: Rx aggregation alignment
4293		     The value must be 512, 1024, 2048, 4096, 8192 etc.
4294		[r]: Tx aggregation timeout
4295		     Timeout value in us, 0 for disabled, 0xFFFF for dynamic timeout
4296		     and 1-10000 are valid timeout value
4297		[s]: Rx aggregation timeout
4298		     Timeout value in us, 0 for disabled
4299
4300	Examples:
4301		mlanutl mlan0 usbaggrctrl                           : Display USB aggregation configurations
4302		mlanutl mlan0 usbaggrctrl 0 0                       : Disable both Tx and Rx aggregation
4303		mlanutl mlan0 usbaggrctrl 1 1 4 8 2048 512 1000 200 : Enable both Tx and Rx aggregation
4304
4305usbresume
4306	This command is used to resume the device from suspend mode.
4307	Note: It's only valid on kernel 2.6.24 or later.
4308
4309usbsuspend
4310	This command is used to put device to suspend mode.
4311	Note: It's only valid on kernel 2.6.24 or later.
4312
4313opermodecfg
4314	This command is used to set and get 11ac Operating Mode Notification configuration.
4315
4316	where <m> is <bw>
4317	<bw> - This is the channel width setting for the opermodecfg
4318		1: 20MHz
4319		2: 40MHz
4320		3: 80MHz
4321		4: 160MHz or 80+80MHz
4322
4323	where <n> is <nss>
4324	<nss> - This parameter specifies the nss that the STA can receive.
4325		1: NSS1
4326		2: NSS2
4327		3: NSS3
4328		4: NSS4
4329		5: NSS5
4330		6: NSS6
4331		7: NSS7
4332		8: NSS8
4333
4334wakeupreason
4335	This command is used to get the host sleep wakeup reason.
4336
4337	Usage:
4338		mlanutl mlanX wakeupreason
4339		mlanutl uapX wakeupreason
4340	Examples:
4341		mlanutl mlan0 wakeupreason        : Get the host sleep wakeup reason
4342		mlanutl uap0 wakeupreason         : Get the host sleep wakeup reason
4343		0:  unknown
4344		1:  Broadcast data matched
4345		2:  Multicast data matched
4346		3:  Unicast data matched
4347		4:  Maskable event matched
4348		5.  Non-maskable event matched
4349		6:  Non-maskable condition matched (EAPoL rekey)
4350		7:  Magic pattern matched
4351		8:  Control frame matched
4352		9:  Management frame matched
4353		Others: reserved. (0)
4354
4355warmreset
4356	This command is used for warm reset of the interface.
4357
4358	Usage:
4359		mlanutl mlanX warmreset
4360
4361wpssession
4362	This command is used to control wps session. No argument is used to get.
4363
4364	where value of n is:
4365		0   -- Disable
4366		1   -- Enable
4367
4368	Examples:
4369		mlanutl mlan0 wpssession 1           : Enable wpssession
4370		mlanutl mlan0 wpssession             : Get wpssession status
4371
4372wmmcfg
4373	This command is used to control WMM. No argument is used to get.
4374
4375	where value of n is:
4376		0   -- Disable
4377		1   -- Enable
4378
4379	Examples:
4380		mlanutl mlan0 wmmcfg 1           : Enable WMM
4381		mlanutl mlan0 wmmcfg             : Get WMM status
4382
4383wmmparamcfg
4384	This command is used to configure WMM paramameters.
4385
4386	Usage:
4387		mlanutl mlanX wmmparamcfg [AC_BE AIFSN ECW_MAX ECW_MIN TX_OP]
4388                                          [AC_BK AIFSN ECW_MAX ECW_MIN TX_OP]
4389                                          [AC_VI AIFSN ECW_MAX ECW_MIN TX_OP]
4390                                          [AC_VO AIFSN ECW_MAX ECW_MIN TX_OP]
4391
4392	The supported option are:
4393           AC_BE: 0
4394           AC_BK: 1
4395           AC_VI: 2
4396           AC_V0: 3
4397           AIFSN: AIFSN value
4398           ECW_MAX: ECW max
4399           ECW_MIN: ECW min
4400           TX_OP: TXOP Limit
4401           empty - Get current WMM parameters
4402
4403        Example:
4404        mlanutl mlanX wmmparamcfg 0 3 10 4 0
4405           Set AC_BE with AIFSN 3, ECW_MAX 10, ECW_MIN 4 and TXOP 0
4406
4407        mlanutl mlanX wmmparamcfg 1 7 10 4 0
4408           Set AC_BK with AIFSN 7, ECW_MAX 10, ECW_MIN 4 and TXOP 0
4409
4410        mlanutl mlanX wmmparamcfg 2 2 4 3 94
4411           Set AC_VI with AIFSN 2, ECW_MAX 4, ECW_MIN 3 and TXOP 94
4412
4413        mlanutl mlanX wmmparamcfg 3 2 3 2 47
4414           Set AC_VO with AIFSN 2, ECW_MAX 3, ECW_MIN 2 and TXOP 47
4415
4416        mlanutl mlanX wmmparamcfg
4417            Get current WMM parameters
4418
4419        mlanutl mlanX wmmparamcfg 0 3 10 4 0 1 7 10 4 0 2 2 4 3 94 3 2 3 2 47
4420            Set AC_BE with AIFSN 3, ECW_MAX 10, ECW_MIN 4 and TXOP 0
4421            Set AC_BK with AIFSN 7, ECW_MAX 10, ECW_MIN 4 and TXOP 0
4422            Set AC_VI with AIFSN 2, ECW_MAX 4, ECW_MIN 3 and TXOP 94
4423            Set AC_VO with AIFSN 2, ECW_MAX 3, ECW_MIN 2 and TXOP 47
4424
4425wwscfg
4426	This command is used to set/get the WWS (World Wide Safe) mode.
4427
4428	where value of m is:
4429		0       -- Disable WWS mode (default)
4430		1       -- Enable WWS mode
4431
4432	Examples:
4433		mlanutl mlan0 wwscfg             : Get WWS mode
4434		mlanutl mlan0 wwscfg 1           : Enable WWS mode
4435		mlanutl mlan0 wwscfg 0           : Disable WWS mode
4436
4437cfg_noa
4438	This is used to get/set P2P NoA (Notice of Absence) parameters only for P2P GO.
4439
4440	Usage:
4441		mlanutl p2pX cfg_noa [h] [i] [j] [k] [l]
4442
4443	where:
4444		[h] : noa_enable : 1/0 Set to 1 to enable NoA, 0 to disable NoA.
4445		[i] : index      : 0 - 255 Identifies an instance of NoA timing.
4446		[j] : count      : 1 - 255 Indicates the number of absence intervals.
4447				   255 means a continuous schedule.
4448		[k] : duration   : Indicates the maximum duration in units of microseconds
4449				   that P2P GO can remain absent following the start of
4450				   a NoA interval.
4451		[l] : interval   : Indicates the length of the NoA interval in units of
4452				   microseconds.
4453
4454        Examples:
4455                mlanutl p2pX cfg_noa						: Get noa configuration.
4456                mlanutl p2pX cfg_noa 1 1 255 50 100			: Set noa configuration.
4457
4458cfg_opp_ps
4459	This is used to get/set P2P OPP-PS parameters only for P2P GO.
4460
4461	Usage:
4462		mlanutl p2pX cfg_opp_ps [m] [n]
4463
4464	where:
4465		[m] : ps_enable  : 1/0 Set to 1 to indicate P2P GO is using opportunistic
4466				   power save. Set to 0 if opportunistic power save is disabled.
4467		[n] : ct_window  : A period of time in TU after a TBTT during which P2P GO
4468				   is present. 0 indicates that there shall be no
4469				   CTWindow (Client Traffic Window).
4470
4471        Examples:
4472                mlanutl p2pX cfg_opp_ps					: Get noa configuration.
4473                mlanutl p2pX cfg_opp_ps 1 7				: Set noa configuration.
4474
4475rxpktcoal_cfg
4476	This is used to get/set RX packet coalescing paramters
4477	Usage:
4478		mlanutl mlanX rxpktcoal_cfg [m] [n]
4479
4480	where:
4481        [m]: pkt_threshold: count after which packets would be sent to host. Valid values 1-7
4482        [n]: delay: timeout in ms after which packets would be sent to host. Valid values 1-4
4483        Coalescing is disabled if both or either of packet_thershold and delay is zero
4484
4485        RX packet coalescing parameters can be changed only when device is in
4486        idle state i.e. all interfaces are disconnected.
4487
4488get_sensor_temp
4489        This command is used to get SOC temperature
4490        Usage:
4491                mlanutl mlanX get_sensor_temp
4492
4493indrstcfg
4494    This command is used to set/ get independent reset mode configuration
4495
4496    Usage :
4497            mlanutl <interface> indrstcfg <ir_mode> [gpio_pin]
4498
4499            interface : mlanX, uapX
4500            ir_mode   : 0 -- Disable
4501                        1 -- Enable out band reset, disable in band
4502                        2 -- Enable in band, disable out band
4503            gpio_pin  : 255 -- Default pin for reset
4504                        any other number for changing the gpio for reset.
4505
4506   Example :
4507            mlanutl mlan0 indrstcfg 1 255   : Set default pin on interface mlan0 as reset pin
4508            mlanutl mlan0 indrstcfg 0       : Disable the gpio 17 as reset pin on interface mlan0
4509            mlanutl mlan0 indrstcfg         : Get the status and the pin used for reset pin
4510            mlanutl mlan0 indrstcfg 2       : Enable in band reset mode
4511
4512ctrldeauth
4513    This command is used to set/get firmware ctrldeauth setting
4514    Usage :
4515            mlanutl uapX ctrldeauth <n>
4516
4517    Where value of n is :
4518            0 -- Firmware will use default behavior
4519            1 -- Firmware will not send deauth packet when uap move to another channel.
4520
4521    Example :
4522            mlanutl uap0 ctrldeauth   : Get current setting
4523            mlanutl uap0 ctrldeauth   : Firmware will not send deauth packet when uap move to different channel.
4524
4525robustcoex
4526    This command is used to set robust coex.
4527
4528    Usage :
4529            mlanutl <interface> robustcoex <gpiocfg> [Enable/Disable] [gpionum] [gpiopolarity]
4530            Enable/Disable : 0 -- Disable ; 1 -- Enable
4531            gpionum : Number of gpio
4532            gpiopolarity : polarity of gpio
4533
4534    Example :
4535            mlanutl mlan0 robustcoex gpiocfg 1 4 1 : Enable robustcoex gpio, set gpionum to 4 and gpiopolarity to 1
4536            mlanutl mlan0 robustcoex gpiocfg 0     : Disable robustcoex gpio
4537
4538cwmode
4539    This command is used to set Cont. Tx/Wave mode.
4540
4541    Usage:
4542            mlanutl <interface> cwmode config/cwmode.conf
4543            interface: mlanX
4544            cwmode.conf: This config file specifies whether to enable/disable Cont Tx/Wave mode.
4545                         User can specify parameters like Channel, datarate, BW, Channel Offset, Band.
4546                         Detailed information about parameters is mentioned in the conf file.
4547    Example:
4548            mlanutl mlan0 cwmode config/cwmode.conf                       : Enable/Disable Cont Tx/Wave mode.
4549            mlanutl mlan0 cwmode                                          : Get current Tx mode
4550
4551bootsleep
4552    This command is used to set and get boot sleep configure.
4553
4554    Usage :
4555            mlanutl mlanX/uapX bootsleep <enable>
4556            <enable> :  enable boot sleep
4557                     :  0 - disable boot sleep
4558                     :  1 - enable boot sleep
4559
4560    Example :
4561            mlanutl mlan0/uap0 bootsleep 1       : Enable boot sleep
4562            mlanutl mlan0/uap0 bootsleep         : Get boot sleep configure
4563
4564ssu
4565	Collect spectral analysis data and save them into /data/ssudump.txt
4566
4567	Usage :
4568        mlanutl mlanX ssu [mode] [ssu file]
4569
4570        mode        : 2 -- Enable ssu and use FW default ssu parameter
4571        ssu file    : file to config ssu parameter
4572
4573    Example :
4574    	mlanutl mlan0 ssu                   :Enable SSU and use driver default ssu parameter
4575        mlanutl mlan0 ssu config/ssu.conf   :Enable SSU and use ssu parameter from ssu.conf
4576        mlanutl mlan0 ssu 2                 :Enable SSU and use FW default ssu parameter
4577
4578csi
4579    Enable/disable channel state information collection
4580
4581    Usage :
4582        mlanutl mlanX csi <disable/enable (config file)>
4583        disable    : 0
4584        enable     : config file with csi filters
4585
4586    Example :
4587    	mlanutl mlan0 csi config/csi.conf       : Enable CSI
4588    	mlanutl mlan0 csi 0             	: Disable CSI
4589
4590arb
4591    Set HW ARB mode
4592    The command needs to be issued before association.
4593
4594    Usage:
4595        mlanutl mlanX arb [mode]
4596
4597        where the parameter is:
4598        [mode]:
4599            0:  arb mode 0 (default)
4600            1:  arb mode 1
4601            2:  arb mode 2
4602            3:  arb mode 3 (Improve TX throughput)
4603            4:  arb mode 4 (Improve RX throughput)
4604
4605    Example :
4606    	mlanutl mlan0 arb 1           : Set HW ARB mode 1
4607
4608dmcs
4609    This command is used to config DMCS or get DMCS status.
4610
4611    Usage:
4612            mlanutl mlanX dmcs <subcmd> [value]
4613
4614            <subcmd = 0> : config mapping policy
4615                           disable dynamic mapping when [value = 0]
4616                           enable dynamic mapping when [value = 1]
4617            <subcmd = 1> : get DMCS status
4618
4619    Example :
4620            mlanutl mlan0 dmcs 0 1         : Enable dynamic mapping
4621            mlanutl mlan0 dmcs 0 0         : Disable dynamic mapping
4622            mlanutl mlan0 dmcs 1           : Get DMCS status
4623
4624range_ext
4625    This command is used to config range extension mode.
4626
4627    Usage:
4628        mlanutl mlanX/uapX range_ext [mode]
4629
4630	where the parameter is:
4631        [mode]:
4632            0:  Default Mode(Auto Rate)
4633            1:  HE ER+DCM Mode
4634            2:  Legacy Mode(1 Mbps Rate)
4635
4636    Example:
4637        mlanutl mlan0 range_ext      : get range extension mode
4638	mlanutl mlan0 range_ext 1    : set range extension mode to HE ER+DCM mode
4639
4640twt_setup
4641    This command is used to config TWT setup parameters using conf file.
4642
4643    Usage:
4644            mlanutl mlanX twt_setup [conf file]
4645
4646    Example:
4647            mlanutl mlan0 twt_setup config/twt.conf
4648
4649twt_teardown
4650    This command is used to config TWT teardown parameters using conf file.
4651
4652    Usage:
4653            mlanutl mlanX twt_teardown [conf file]
4654
4655    Example:
4656            mlanutl mlan0 twt_teardown config/twt.conf
4657
4658rx_abort_cfg
4659    This command is used to set/get static rx abort config for pkt having
4660    weaker RSSI than threshold. This threshold will be overwritten on starting
4661    dynamic rx abort cfg ext.
4662
4663    Usage:
4664        mlanutl <interface> rx_abort_cfg [enable] [rssi_threshold]
4665
4666    Where the parameters are:
4667        <interface>       : mlanX,
4668                            uapX
4669        [enable]          : 0 - Disable Rx abort
4670                            1 - Enable Rx abort of pkt having weak RSSI
4671        [rssi_threshold]  : weak RSSI pkt threshold in dBm (absolute value)
4672                            (default = 70)
4673
4674    Examples:
4675        mlanutl mlan0 rx_abort_cfg
4676            - Display current rx abort configuration
4677        mlanutl uap0 rx_abort_cfg 1 60
4678            - Enable rx abort and set weak RSSI Threshold to -60 dBm
4679        mlanutl mlan0 rx_abort_cfg 1 40
4680            - Enable rx abort and set weak RSSI Threshold to -40 dBm
4681        mlanutl mlan0 rx_abort_cfg 0
4682            - Disable rx abort
4683
4684rx_abort_cfg_ext
4685    This command is used to set/get dynamic rx abort config. This will set
4686    threshold based on minimum of ceiling rssi threshold and the weakest
4687    RSSI among all connected peers. Margin can be specified as an offset to
4688    this threshold. Default margin is set to -10 dBm. Ceiling rssi threshold
4689    can be changed by specifying. Default ceil is set to -70 dBm.
4690    This will be disabled on enabling fixed rx abort (rx_abort_cfg)
4691
4692    Note: This dynamic rx abort mode is enabled by default.
4693
4694    Usage:
4695        mlanutl <interface> rx_abort_cfg_ext [enable] [margin ceil_thresh]
4696
4697    Where the parameters are:
4698        <interface>       : mlanX,
4699                            uapX
4700        [enable]          : 0 - Disable Rx abort
4701                            1 - Enable Rx abort of pkt having weak RSSI
4702        [margin]          : rssi margin in dBm (absolute val)
4703                            (default = 10)
4704        [ceil_thresh]     : ceiling weak RSSI pkt threshold in dBm
4705                            (absolute value) (default = 70)
4706
4707    Examples:
4708        mlanutl mlan0 rx_abort_cfg_ext
4709            - Display current rx abort configuration
4710        mlanutl uap0 rx_abort_cfg_ext 1 10 60
4711            - Enable dynamic rx abort, set margin to -10 dBm and set ceil
4712              RSSI Threshold to -60 dBm
4713        mlanutl mlan0 rx_abort_cfg_ext 1 5 50
4714            - Enable dynamic rx abort, set margin to -5 dBm and set ceil
4715              RSSI Threshold to -50 dBm
4716        mlanutl mlan0 rx_abort_cfg_ext 0
4717            - Disable dynamic rx abort
4718
4719tx_ampdu_prot_mode
4720    This command is used to set either RTS/CTS or CTS2SELF protection mechanism
4721    in MAC, for aggregated Tx QoS data frames. RTS/CTS is enabled by default.
4722
4723    Usage:
4724        mlanutl <interface> tx_ampdu_prot_mode [mode]
4725
4726    Where the parameters are:
4727        <interface>       : mlanX,
4728                            uapX
4729        [mode]            : 0 - Set RTS/CTS mode
4730                            1 - Set CTS2SELF mode
4731                            2 - Disable Protection mode
4732                            3 - Set Dynamic RTS/CTS mode
4733
4734    Examples:
4735        mlanutl mlan0 tx_ampdu_prot_mode
4736            - Get currently set protection mode for Tx AMPDU
4737        mlanutl mlan0 tx_ampdu_prot_mode 1
4738            - Set protection mode for Tx AMPDU to CTS2SELF
4739
4740rate_adapt_cfg
4741    This command is used to switch between SR rateadapt and Legacy rateadapt.
4742    FW default Algorithm is Legacy rateadapt
4743    when SR rateadapt is enabled then it is used to set static threshold based
4744    or dynamic noise based rate adaptation and set the timer interval to evaluate
4745    sw rate adaptation.For static mode, low and high thresholds for Tx aggregated
4746    pkt success rate should be configured. The Tx rate will decrease if success rate
4747    goes lower than LOW_THRESH, will increase if it goes beyond HIGH_THRESH, and will
4748    remain the same when success rate is between these thresholds.To set dynamic mode,
4749    specify 0xff for both low and high thresh.
4750
4751    Note: config can be set only before associating with an external AP
4752   when in STA mode, or before starting bss when in uAP mode
4753
4754    Usage:
4755        mlanutl <interface> rate_adapt_cfg
4756                            [sr_rateadapt low_thresh high_thresh timer_interval]
4757
4758    Where the parameters are:
4759        <interface>       : mlanX,
4760                            uapX
4761        [sr_rateadapt]    : SR Rateadapt or Legacy Rateadapt
4762        [low_thresh]      : lower tx success rate threshold
4763        [high_thresh]     : higher tx success rate threshold
4764        [timer_interval]  : interval to evaluate tx rate in sw in multiples
4765                            of 10 (ms)
4766
4767    Examples:
4768        mlanutl mlan0 rate_adapt_cfg
4769            - Display SR rateadapt or Legacy rateadapt enabled
4770            - Display current rate adapt configuration if SR rateadapt is enabled.
4771        mlanutl uap0 rate_adapt_cfg 1 60 80 10
4772            - set lower Tx success rate threshold to 60%, higher to 80%
4773              and evaluate tx rate every 100 ms (i.e 10 * 10 = 100 ms)
4774              when SR Rateadapt is enabled.
4775        mlanutl mlan0 rateadapt_cfg 0
4776            - switch to Legacy rateadapt.
4777        mlanutl mlan0 rateadapt_cfg 1
4778            - switch to SR rateadapt.
4779              Fw default is dynamic Success threshold enabled
4780              with 100 ms linkadapt timer.
4781        mlanutl mlan0 rate_adapt_cfg 1 50 70 50
4782            - set lower Tx success rate threshold to 50%, higher to 70%
4783              and evaluate tx rate every 500 ms (i.e 50 * 10 = 500 ms)
4784              when SR Rateadapt is enabled.
4785        mlanutl mlan0 rate_adapt_cfg 1 0xff 0xff 10
4786            - set dynamic environment noise based mode and evaluate tx rate
4787              every 100 ms (i.e 10 * 10 = 100 ms)
4788              when SR Rateadapt is enabled.
4789
4790cck_desense_cfg
4791    This command is used to configure CCK (802.11b) Desensitization RSSI
4792    threshold. All CCK traffic beyond this threshold will be ignored, resulting
4793    in higher Tx throughput. Threshold value is in absolute value of rssi in
4794    dBm. In dynamic and enhanced modes, cck desense will be turned on only in
4795    presence of an active connection and the effective CCK desense RSSI
4796    threshold will be updated every rateadapt interval, based on:
4797        min{ceil_thresh, [min RSSI among all connected peers] - margin}
4798
4799    Further, for dynamic enhanced mode, CCK desense will be turned on/off based
4800    on environment noise condition and ongoing Tx traffic rate. In this mode,
4801    CCK desense will also be turned off periodically in order to allow 802.11b
4802    Rx frames from Ext-AP, if rx rssi becomes weaker than the current threshold
4803    or when in uAP mode, frames from clients which attempt to connect with the
4804    uAP, but have weaker RSSI than the set threshold.
4805    Turn on and off intervals are specified in terms of rateadapt intervals.
4806    Please note that in this mode, if dynamic Rx Abort is enabled, then it
4807    will turn on/off in sync with cck desense.
4808
4809    Usage:
4810        mlanutl <interface> cck_desense_cfg [mode] [margin ceil_thresh]
4811                                    [num_on_intervals num_off_intervals]
4812
4813    Where the parameters are:
4814        <interface>        : mlanX,
4815                             uapX
4816        [mode]             : 0 - Disable cck desense
4817                             1 - Enable dynamic cck desense mode
4818                             2 - Enable dynamic enhanced cck desense mode
4819        [margin]           : rssi margin in dBm (absolute val)
4820                             (default = 10)
4821        [ceil_thresh]      : ceiling weak RSSI pkt threshold in dBm
4822                             (absolute value) (default = 70)
4823        [num_on_intervals] : number of rateadapt intervals to keep cck
4824                             desense "on" [for mode 2 only] (default = 20)
4825        [num_off_intervals]: number of rateadapt intervals to keep cck
4826                             desense "off" [for mode 2 only] (default = 3)
4827
4828    Examples:
4829        mlanutl mlan0 cck_desense_cfg
4830            - Display current cck desense configuration
4831        mlanutl uap0 cck_desense_cfg 1 10 70
4832            - Set dynamic mode, margin to -10 dBm and ceil RSSI Threshold to
4833              -70 dBm
4834        mlanutl uap0 cck_desense_cfg 2 10 60 30 5
4835            - Set dynamic enhanced mode, margin to -10 dBm, ceil RSSI Threshold
4836              to -60 dBm, num on intervals to 30 and num off intervals to 5.
4837        mlanutl mlan0 cck_desense_cfg 1 10 50
4838            - Set dynamic mode, margin to -10 dBm and ceil RSSI Threshold to
4839              -50 dBm
4840        mlanutl mlan0 cck_desense_cfg 2 5 60
4841            - Set dynamic enhanced mode, set margin to -5 dBm, set ceil RSSI
4842              Threshold to -60 dBm, and retain previous num on/off intervals
4843              setting.
4844        mlanutl mlan0 cck_desense_cfg 0
4845            - Disable cck desense
4846
4847lpm
4848    This command is used to configure low power mode.
4849
4850    Usage:
4851	mlanutl mlanX/uapX lpm [mode]
4852
4853    Where the paramter is:
4854	[mode]       : low power mode 0, 1, 2, 3
4855
4856    Examples:
4857	mlanutl mlan0 lpm       Get low power mode
4858        mlanutl mlan0 lpm 1     Set low power mode to 1
4859
4860dot11mc_unassoc_ftm_cfg
4861    This command is used to enable or disable the configuration for
4862    DOT11MC FTM frames exchanges in un-associated state for STA or uAP
4863
4864    Usage:
4865        mlanutl <interface> dot11mc_unassoc_ftm_cfg [enable]
4866
4867    Where the parameters are:
4868        <interface>       : mlanX,
4869                            uapX
4870        [enable]          : 0 - Disable unassociated state FTM
4871                            1 - Enable unassociated state FTM
4872
4873    Examples:
4874        mlanutl mlan0 dot11mc_unassoc_ftm_cfg
4875            - Get current state of unassociated state FTM cfg
4876        mlanutl mlan0 dot11mc_unassoc_ftm_cfg 1
4877            - Set the unassociated state FTM cfg to Enabled
4878
4879tp_state
4880    This command is used to collect throughput result at different
4881    drop points.
4882
4883    Usage:
4884        mlanutl mlanX tp_state [mode] [drop_point]
4885
4886    Where the parameter is:
4887        [mode]       : enable/disable tp_state collecting
4888                       0 - Disable    1 - Enable
4889        [drop_point] : Request driver to drop tx packets at this point
4890                       0 - Reserved for Tx
4891                       1 - Kernel sends packets with .ndo_start_xmit
4892                       2 - Before adding tx packets into queues
4893                       3 - After main process handles tx packets
4894                       4 - Before attaching pkts to bus
4895                       5 - Rx PCIE interrupt Recv Data before enqueue to list
4896                       6 - Rx after dequeue from list
4897                       7 - Rx before de-amsdu
4898                       8 - Rx before send to kernel
4899                       9 - Reserved for Rx
4900    Examples:
4901        mlanutl mlan0 tp_state 1 1    Collect throughput result and drop tx pkts at point 1.
4902        mlanutl mlan0 tp_state        Get throughput results (only works with enable mode).
4903        mlanutl mlan0 tp_state 0      Disable throughput accounting.
4904        mlanutl mlan0 tp_state 1 0xff     Just for reading TX/RX accounting, no pkts drop
4905
4906clocksync
4907    This command is used to set and get WIFI TSF based clock sync setting
4908
4909    Usage:
4910        mlanutl mlanX/uapX  clocksync [j][k] [l] [m] [n]
4911
4912    where
4913              [j] mode
4914              <mode> - This parameter use to configure GPIO TSF latch mode
4915                             0:    GPIO level
4916                             1:    GPIO toggle
4917                             2:    GPIO toggle on Next Beacon.
4918              [k] role
4919               <role>
4920                             0: when mode set to 0 or 1
4921                             1:  AP
4922                             2: STA
4923               [l] gpio pin number
4924               [m] GPIO Level/Toggle
4925                             mode = 0
4926                             0: low    1: high
4927                             mode = 1 or 2
4928                             0: low to high
4929                             1: high to low
4930                [n] GPIO pulse width
4931                             mode = 0,  reserved, set to 0
4932                             mode 1 or 2
4933                  0: GPIO remain on toggle level (high or low)
4934                  Non-0: GPIO pulse width in microseconds (min 1 us)
4935
4936    If no parameter provided, get is performed.
4937
4938    Examples:
4939                  mlanutl mlan0 clocksync 0 0 5 0 0
4940                  mlanutl mlan0 clocksync 1 0 10 1 500
4941                  mlanutl mlan0 clocksync 1 0 5 0 0
4942                  mlanutl mlan0 clocksync 2 1 10  1 500
4943                  mlanutl mlan0 clocksync 2 2 3 0 0
4944                  mlanutl mlan0 clocksync
4945
4946gettsfinfo
4947    This command is used to get TSF info
4948
4949    Usage:
4950        mlanutl mlanX  gettsfinfo [j]
4951    where
4952        [j] format
4953            0:    Report GPIO assert TSF
4954            1:    Report Beacon TSF and Offset (valid if CONFIG Mode 2)
4955
4956    Examples:
4957            mlanutl mlan0 gettsfinfo      Get GPIO assert TSF
4958            mlanutl mlan0 gettsfinfo  1   Get Beacon TSP and Offset (valid if CONFIG mode 2)
4959
4960targetchan
4961    This command is used to get/set target channel for UAP
4962
4963    Usage:
4964        mlanutl uaX targetchan [j]
4965    where
4966        [j]  target channel
4967
4968    Examples:
4969            mlanutl uap0 targetchan        Get current target channel
4970            mlanutl uap0 targetchan  52    Set target channel to 52
4971backuptchan
4972    This command is used to get/set backup channel for UAP
4973
4974    Usage:
4975        mlanutl uaX backupchan [j]
4976    where
4977        [j]  backup channel
4978
4979    Examples:
4980            mlanutl uap0 backupchan        Get current backup channel
4981            mlanutl uap0 backupchan  52    Set backup channel to 52
4982
4983ips_cfg
4984    This command is used to get/set IPS
4985
4986    Usage:
4987        mlanutl mlanX ips_cfg [1/0]
4988
4989    Examples:
4990            mlanutl mlan0 ips_cfg         Get current IPS config
4991            mlanutl mlan0 ips_cfg 1       Enable IPS
4992
4993mcast_aggr_group
4994    This command is used to add/remove multicast address to mcast_aggr_group.
4995    Also, while the address is set, stats for each of these addresses will be auto-logged. (Refer 'stats' command for more info)
4996
4997    Usage:
4998        mlanutl mlanX/uapX mcast_aggr_group [action] [mcast_addr]
4999    where
5000        [action]       : add/remove multicast mac address to mcast_aggr_group
5001                         0 - remove    1 - add
5002        [mcast_addr]   : mcast address
5003
5004    Examples:
5005            mlanutl uap0 mcast_aggr_group 1 01:00:5e:00:00:42       Add 01:00:5e:00:00:42 to mcast_aggr_group
5006            mlanutl uap0 mcast_aggr_group 0 01:00:5e:00:00:43       Remove 01:00:5e:00:00:43 from mcast_aggr_group
5007            mlanutl uap0 mcast_aggr_group                           List current mcast_aggr_group
5008
5009mc_aggr_cfg
5010    This command gets or sets the configuration of multicast packet aggregation.
5011
5012    Usage:
5013        mlanutl mlanX/uapX mc_aggr_cfg [i][j]
5014    where
5015        [i]: Enable Bitmap , 1-Enable, 0-Disable
5016             Valid if corresponding mask bit is 1
5017             Bit 0: MC aggregation
5018             Bit 1: Packet expiry
5019             Bit 2: CTS2Self
5020             Bit 3: CTS2Sef duration offset
5021        [j]: Mask Bitmap, 1-valid, 0-invalid
5022             Bit 0: MC aggregation
5023             Bit 1: Packet expiry
5024             Bit 2: CTS2Self
5025
5026    Examples:
5027            mlanutl uap0 mc_aggr_cfg 1 1                    Enable MC aggregation
5028            mlanutl uap0 mc_aggr_cfg 7 7                    Enable MC aggregation,Packet expiry,CTS2Self feature
5029            mlanutl uap0 mc_aggr_cfg                        Query current MC aggregation configuration.
5030
5031mcast_tx
5032    This command is used to transmit multicast packets as per the mcast_tx conf file.
5033
5034    Usage:
5035	mlanutl <interface> mcast_tx <mcast_tx.conf>
5036    where
5037	<interface>  : wifi interface name i.e. uap0
5038	<mcast_tx.conf> : multicast tx conf file
5039
5040stats
5041    This command is used to get/reset Tx-Rx stats for unicast/multicast address.
5042    Usage:
5043    ./mlanutl uapx stats [action]
5044    Where
5045    [action]                : get/reset all stats for unicast and multicast addresses.
5046                              all: get all stats collection
5047                              reset: reset all stats collection
5048                              mcast_timeout: get all multicast timeout stats collection
5049
5050    Examples:
5051            mlanutl uap0 stats all             Get all stats for mac address configured using mcast_aggr_group command
5052            mlanutl uap0 stats reset           Reset all stats for mac address configured using mcast_aggr_group command
5053            mlanutl uap0 stats mcast_timeout   Get all multicast timeout stats for mac address configured using mcast_aggr_group command
5054
5055getuuid
5056    This command is used to read 16 byte uuid for a given interface and uuid remains same for
5057    <sta, uap, wfd>
5058    Usage:
5059    ./mlanutl <interface> getuuid
5060
5061    Examples:
5062            i/p: mlanutl uap0 getuuid
5063            o/p: uuid: a0b0c0d0d0c0b0a0a0b0c0d0d0c0b0a0
5064
5065===============================================================================
5066===============================================================================
5067		U S E R  M A N U A L  F O R  Enable Scan GAP
5068
5069Following commands can be used to enable gap between scans.
5070
5071mlanutl mlanX scancfg [t] [m] [p] [s] [a] [b] [c] [ext] [gap]
5072mlanutl mlanX setuserscan [ARGS]
5073
5074For detail information, please refer the command description.
5075===============================================================================
5076