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