From 57789958845778103a4f2bfad3f21b70c0a8a75c Mon Sep 17 00:00:00 2001 From: Sherry Sun Date: Wed, 19 Apr 2023 10:07:53 +0800 Subject: [PATCH] mxm_wifiex: fix mxm5x17391 release build error and warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rename README_MLAN to README in Makefile, otherwise it will build break becasue cannot find README_MLAN any more. Also, fix the following build warnings on ARM32 and ARM64 platforms. In file included from ./include/linux/kernel.h:29, from /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_main.h:37, from /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_cfg80211_util.h:26, from /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_cfg80211_util.c:23: /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_cfg80211_util.c: In function ‘woal_cfg80211_subcmd_rtt_range_request’: ./include/linux/kern_levels.h:5:25: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘unsigned int’ [-Wformat=] 5 | #define KERN_SOH "\001" /* ASCII Start Of Header */ | ^~~~~~ ./include/linux/printk.h:429:25: note: in definition of macro ‘printk_index_wrap’ 429 | _p_func(_fmt, ##__VA_ARGS__); \ | ^~~~ /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_main.h:3167:25: note: in expansion of macro ‘printk’ 3167 | printk(KERN_ERR msg); \ | ^~~~~~ ./include/linux/kern_levels.h:11:25: note: in expansion of macro ‘KERN_SOH’ 11 | #define KERN_ERR KERN_SOH "3" /* error conditions */ | ^~~~~~~~ /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_main.h:3167:32: note: in expansion of macro ‘KERN_ERR’ 3167 | printk(KERN_ERR msg); \ | ^~~~~~~~ /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_main.h:3186:31: note: in expansion of macro ‘PRINTM_MERROR’ 3186 | #define PRINTM(level, msg...) PRINTM_##level(level, msg) | ^~~~~~~ /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_cfg80211_util.c:4351:17: note: in expansion of macro ‘PRINTM’ 4351 | PRINTM(MERROR, "%s: invalid %d(total) != %d(num) * %lu(each)\n", | ^~~~~~ /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_init.c: In function ‘parse_line_read_card_info’: /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_init.c:556:37: warning: the comparison will always evaluate as ‘true’ for the pointer operand in ‘p + 1’ must not be NULL [-Waddress] 556 |         if ((p != NULL) && ((p + 1) != NULL)) {      |                                     ^~ Change-Id: Ied97151cf845d19ce913200e954a29e5ea809270 Signed-off-by: Sherry Sun --- mxm_wifiex/wlan_src/Makefile | 4 +- mxm_wifiex/wlan_src/README | 539 ++ mxm_wifiex/wlan_src/README_MLAN | 5196 ----------------- .../wlan_src/mlinux/moal_cfg80211_util.c | 8 +- mxm_wifiex/wlan_src/mlinux/moal_init.c | 2 +- 5 files changed, 546 insertions(+), 5203 deletions(-) create mode 100755 mxm_wifiex/wlan_src/README delete mode 100644 mxm_wifiex/wlan_src/README_MLAN diff --git a/mxm_wifiex/wlan_src/Makefile b/mxm_wifiex/wlan_src/Makefile index e2a2f8f..353a2bb 100644 --- a/mxm_wifiex/wlan_src/Makefile +++ b/mxm_wifiex/wlan_src/Makefile @@ -665,7 +665,7 @@ appsbuild: mkdir $(BINDIR); \ fi - cp -f README_MLAN $(BINDIR) + cp -f README $(BINDIR) cp -rf mapp/mlanconfig/config $(BINDIR) ifneq ($(APPDIR),) @@ -684,7 +684,7 @@ build: echo default cp -rpf script/load $(BINDIR)/ cp -rpf script/unload $(BINDIR)/ - cp -f README_MLAN $(BINDIR) + cp -f README $(BINDIR) cp -rf mapp/mlanconfig/config $(BINDIR) ifneq ($(APPDIR),) diff --git a/mxm_wifiex/wlan_src/README b/mxm_wifiex/wlan_src/README new file mode 100755 index 0000000..4cfad44 --- /dev/null +++ b/mxm_wifiex/wlan_src/README @@ -0,0 +1,539 @@ +=============================================================================== + U S E R M A N U A L + + Copyright 2008-2023 NXP + + +1) FOR DRIVER BUILD + + Goto source code directory wlan_src/. + make [clean] build + The driver and utility binaries can be found in ../bin_xxxx directory. + The driver code supports Linux kernel from 2.6.32 to 6.1.1 + +2) FOR DRIVER INSTALL + + a) Copy firmware image to /lib/firmware/nxp/, copy wifi_mod_para.conf to /lib/firmware/nxp/. + b) Install WLAN driver + There are drv_mode, max_sta_bss, max_uap_bss etc. module parameters. + The bit settings of drv_mode are, + Bit 0 : STA + Bit 1 : uAP + Bit 2 : WIFIDIRECT + + max_sta_bss: Maximum number of STA BSS (default 1, max 1) + sta_name: Name of the STA interface (default: "mlan") + max_uap_bss: Maximum number of uAP BSS (default 1, max 2) + uap_name: Name of the uAP interface (default: "uap") + max_wfd_bss: Maximum number of WIFIDIRECT BSS (default 1, max 1) + wfd_name: Name of the WIFIDIRECT interface (default: "wfd") + max_vir_bss: Number of Virtual interfaces (default 0) + uap_oper_ctrl: uAP operation control when in-STA disconnect with ext-AP + 0: default do nothing, 2: uAP stops and restarts automatically + For example, to install multi-chip driver, + insmod mlan.ko + insmod moal.ko mod_para=nxp/wifi_mod_para.conf [drvdbg=0x7] + wifi_mod_para.conf is used to support multi-chips which has different load module parameters. It contains + the module parameters for different chips. + c) Uninstall WLAN driver, + ifconfig mlanX down + ifconfig uapX down + rmmod moal + rmmod mlan + + To load driver with MFG firmware file, use mfg_mode=1 when insmod WLAN driver and + specify MFG firmware name if needed. + + To load driver with rf_test firmware file, use rf_test_mode=1 when insmod WLAN driver. + This parameter only used for 9177(FC) + + There are some other parameters for debugging purpose etc. Use modinfo to check details. + drvdbg= + dev_cap_mask= + mac_addr=xx:xx:xx:xx:xx:xx + auto_ds=0|1|2 + ext_scan=0|1|2 + net_rx=0|1 + amsdu_deaggr=0|1 + + ps_mode=0|1|2 + sched_scan=0|1 + max_tx_buf=2048|4096|8192 + pm_keep_power=1|0 + shutdown_hs=1|0 + cfg_11d=0|1|2 + dts_enable=0|1 + fw_name = + e.g. copy pcieuart9098_combo_v1.bin to firmware directory, fw_name=nxp/pcieuart9098_combo_v1.bin + hw_name = + reg_work=0|1 + hw_test=0|1 + fw_serial=0|1 + req_fw_nowait=0|1 + dfs53cfg=0|1|2 + mcs32=0|1 + SD8887: antcfg=0|1|2|0xffff + SD8897/SD8997: antcfg=0x11|0x13|0x33 + slew_rate: Slew Rate Control value = 0|1|2|3 (0 is the slowest slew rate and 03 has the highest slew rate (default)) + init_cfg= + e.g. copy init_cfg.conf to firmware directory, init_cfg=nxp/init_cfg.conf + cal_data_cfg= + e.g. copy cal_data.conf to firmware directory, cal_data_cfg=nxp/cal_data.conf + Note: Loading driver with 8887 must include correct cal_data_cfg parameter. + dpd_data_cfg= + e.g. copy dpd_data.conf to firmware directory, dpd_data_cfg=nxp/dpd_data.conf + txpwrlimit_cfg= + e.g. copy txpwrlimit_cfg_set.conf to firmware directory, txpwrlimit_cfg=nxp/txpwrlimit_cfg_set.conf + cntry_txpwr=0|1|2 + 0: Disable setting tx power table of country (default) + 1: Enable setting tx power table of country + 2: Enable setting rgpower table of country + init_hostcmd_cfg= + e.g. copy init_hostcmd_cfg.conf to firmware directory, init_hostcmd_cfg=nxp/init_hostcmd_cfg.conf + band_steer_cfg= + e.g. generate bscfg.conf by band_steer_cfg.conf, then copy bscfg.conf to firmware directory, band_steer_cfg=nxp/bscfg.conf + sdio_rx_aggr=1|0 + cfg80211_wext= + Bit 0: STA WEXT + Bit 1: uAP WEXT + Bit 2: STA CFG80211 + Bit 3: uAP CFG80211 + cfg80211_drcs=1|0 + reg_alpha2= + skip_fwdnld=0|1 + wq_sched_prio: Priority for work queue + wq_sched_policy: Scheduling policy for work queue + (0: SCHED_NORMAL, 1: SCHED_FIFO, 2: SCHED_RR, 3: SCHED_BATCH, 5: SCHED_IDLE) + Please note that, both wq_sched_prio and wq_sched_policy should be provided + as module parameters. If wq_sched_policy is (0, 3 or 5), then wq_sched_prio + must be 0. wq_sched_prio should be 1 to 99 otherwise. + rx_work=0|1|2 + pcie_int_mode=0|1|2 + pcie_int_mode=0|1 + ring_size=32|64|128|256|512 + aggrctrl=1|0 + usb_aggr=0|1|2 + low_power_mode_enable=0|1 + When low power mode is enabled, the output power will be clipped at ~+10dBm and the + expected PA current is expected to be in the 80-90 mA range for b/g/n modes + wakelock_timeout= + pmic=0|1 + indication_gpio=0xXY + hs_wake_interval= + disconnect_on_suspend=0|1 + hs_mimo_switch=0|1 + hs_auto_arp=0|1 + gtk_rekey_offload=0|1|2 + napi=0|1 + fixed_beacon_buffer=0|1 + GoAgeoutTime=0|x + multi_dtim=0|x + inact_tmo=0|x + drcs_chantime_mode=0|x + Bit31~Bit24:Channel time for channel index0; + Bit23~Bit16:mode for channel index0; 0|1 + Bit15~Bit8:Channel time for channel index1; + Bit7~Bit0:mode for channel index1; 0|1 + roamoffload_in_hs=0|1 + uap_max_sta: Maximum number of STA for UAP/GO (default 0, max 64) + host_mlme=0|1 + for supplicant/authenticator running on host side, WPA3 support is available only in host_mlme mode + country_ie_ignore=0|1 + beacon_hints=0|1 + + chan_track=0|1 for 9098 only + keep_previous_scan=0|1, + auto_11ax=0|1, + + + Note: On some platforms (e.g. PXA910/920) double quotation marks ("") need to used + for module parameters. + insmod sdxxx.ko " ..." + +3) FOR DRIVER PROC & DEBUG + + The following info are provided in /proc/net/mwlan/adapterX/mlanY|uapY|wfdY/info, + on kernel 2.6.24 or later, the entry is /proc/mwlan/adapterX/mlanY|uapY|wfdY/info. + + driver_name = "wlan" or "uap" + driver_version = + interface_name = "mlanX", "uapX" or "wfdX" + bss_mode = "Ad-hoc" | "Managed" | "Auto" | "Unknown" + media_state = "Disconnected" | "Connected" + mac_address = <6-byte adapter MAC address> + multicase_count = // Only for STA + essid = // Only for STA + bssid = // Only for STA + channel = // Only for STA + region_code = // Only for STA + multicast_address[n] = // Only for STA + num_tx_bytes = + num_rx_bytes = + num_tx_pkts = + num_rx_pkts = + num_tx_pkts_dropped = + num_rx_pkts_dropped = + num_tx_pkts_err = + num_rx_pkts_err = + carrier "on" | "off" + tx queue "stopped" | "started" + tkip_mic_failures = 0 // Only for uAP (use of WEP/TKIP is not recommended anymore) + ccmp_decrypt_errors = 0 // Only for uAP + wep_undecryptable_count = 0 // Only for uAP (use of WEP/TKIP is not recommended anymore) + wep_icv_error_count = 0 // Only for uAP (use of WEP/TKIP is not recommended anymore) + decrypt_failure_count = 0 // Only for uAP + mcast_tx_count = 0 // Only for uAP + failed_count = 0 // Only for uAP + retry_count = 0 // Only for uAP + multiple_retry_count = 0 // Only for uAP + frame_duplicate_count = 0 // Only for uAP + rts_success_count = 0 // Only for uAP + rts_failure_count = 0 // Only for uAP + ack_failure_count = 0 // Only for uAP + rx_fragment_count = 0 // Only for uAP + mcast_rx_frame_count = 0 // Only for uAP + fcs_error_count = 0 // Only for uAP + tx_frame_count = 0 // Only for uAP + rsna_tkip_cm_invoked = 0 // Only for uAP (use of WEP/TKIP is not recommended anymore) + rsna_4way_hshk_failures = 0 // Only for uAP + + The following debug info are provided in /proc/net/mwlan/adapterX/mlanY|uapY|wfdY/debug, + on kernel 2.6.24 or later, the entry is /proc/mwlan/adapterX/mlanY|uapY|wfdY/debug. + + drvdbg = + wmm_ac_vo = + wmm_ac_vi = + wmm_ac_be = + wmm_ac_bk = + max_tx_buf_size = + tx_buf_size = + curr_tx_buf_size = + ps_mode = <0/1, CAM mode/PS mode> + ps_state = <0/1/2/3, awake state/pre-sleep state/sleep-confirm state/sleep state> + is_deep_sleep = <0/1, not deep sleep state/deep sleep state> // Only for STA + wakeup_dev_req = <0/1, wakeup device not required/required> + wakeup_tries = + hs_configured = <0/1, host sleep not configured/configured> + hs_activated = <0/1, extended host sleep not activated/activated> + tx_pkts_queued = + pps_uapsd_mode = <0/1, PPS/UAPSD mode disabled/enabled> // Only for STA + sleep_pd = // Only for STA + qos_cfg = // Only for STA + tx_lock_flag = <0/1, Tx lock flag> // Only for STA + port_open = <0/1, port open flag> // Only for STA + scan_processing = <0/1, scan processing flag> // Only for STA + num_bridge_pkts = // Only for uAP + num_drop_pkts = // Only for uAP + num_tx_timeout = + num_cmd_timeout = + timeout_cmd_id = + timeout_cmd_act = + last_cmd_id = + last_cmd_act = + last_cmd_index = <0 based last command index> + last_cmd_resp_id = + last_cmd_resp_index = <0 based last command response index> + last_event = + last_event_index = <0 based last event index> + num_cmd_h2c_fail = + num_cmd_sleep_cfm_fail = + num_tx_h2c_fail = + num_cmdevt_c2h_fail = + num_rx_c2h_fail = + num_int_read_fail = + last_int_status = + num_evt_deauth = // Only for STA + num_evt_disassoc = // Only for STA + num_evt_link_lost = // Only for STA + num_cmd_deauth = // Only for STA + num_cmd_assoc_ok = // Only for STA + num_cmd_assoc_fail = // Only for STA + cmd_sent = <0/1, send command resources available/sending command to device> + data_sent = <0/1, send data resources available/sending data to device> + mp_rd_bitmap = + curr_rd_port = + mp_wr_bitmap = + curr_wr_port = + txbd_rdptr = + txbd_wrptr = + rxbd_rdptr = + rxbd_wrptr = + eventbd_rdptr = + eventbd_wrptr = + cmd_resp_received = <0/1, no cmd response to process/response received and yet to process> + event_received = <0/1, no event to process/event received and yet to process> + tx_cmd_urb_pending = + tx_data_urb_pending = + rx_cmd_urb_pending = + rx_data_urb_pending = + ioctl_pending = + tx_pending = + rx_pending = + lock_count = + malloc_count = + mbufalloc_count = + malloc_cons_count = + main_state = + sdiocmd53w = + sdiocmd53r = + hs_skip_count = + hs_force_count = + + Issue SDIO cmd52 read/write through proc. + Usage: + echo "sdcmd52rw= [data]" > /proc/mwlan/adapterX/config + where the parameters: + func: The function number to use (0-7) + reg: The address of the register + data: The value to write, read if the value is absent + For SDIO MMC driver, only function 0 and WLAN function access is allowed. + And there is a limitation for function 0 write, only vendor specific CCCR + registers (0xf0 -0xff) are permiited. + Examples: + echo "sdcmd52rw= 0 4" > /proc/mwlan/adapterX/config # read func 0 address 4 + cat /proc/mwlan/adapterX/config # display the register value + echo "sdcmd52rw= 1 3 0xf" > /proc/mwlan/adapterX/config # write 0xf to func 1 address 3 + + Issue debug_dump command through proc. + Usage: + echo "debug_dump" > /proc/mwlan/adapterX/config + + Examples: + echo "debug_dump" > /proc/mwlan/adapterX/config # dump driver internal debug status. + To obtain fw dump or driver dump, use command: + cat /proc/mwlan/adapter0/drv_dump > file_drv_dump #save the drv dump to file_drv_dump + cat /proc/mwlan/adapter0/fw_dump > file_fw_dump #save the fw dump to file_fw_dump + cat /proc/mwlan/adapter1/drv_dump > file_drv_dump_2 #save the adapter1 drv dump to file_drv_dump_2 + + Use dmesg or cat /var/log/debug to check driver debug messages. + + Update /proc/sys/kernel/printk to change message log levels. + For example, + echo 6 > /proc/sys/kernel/printk (messages with a higher priority than 6 + will be printed to the console) + echo 15 > /proc/sys/kernel/printk (all messages will be printed to console) + +4) FOR FW RELOAD + a) Enable parallel firmware download in driver parameter + insmod sdxxx.ko fw_serial=0 + + b) default fw name for parallel firmware download + sd8887_wlan_a2.bin + + c) Trigger FW reload + echo "fw_reload=1" > /proc/mwlan/adapterX/config trigger SDIO inband firmware reset and reload firmware + echo "fw_reload=2" > /proc/mwlan/adapterX/config trigger firmware reload + echo "fw_reload=3" > /proc/mwlan/adapterX/config set firmware reload flag in driver. + echo "fw_reload=4" > /proc/mwlan/config trigger PCIe FLR and reload firmware. + echo "fw_reload=6" > /proc/mwlan/config trigger PCIe inband firmware reset and reload firmware. + + (Note: This feature will be supported on Robin3 and KF2. + For CAC-A2, it only work with the board which supports parallel fw download) + +5) FOR RF test mode commands: + + Following commands are used to perform RF testing of the wifi chipset. + Please not that these test mode commands can only be issued while the + device is in disconnected state and the uAP BSS is inactive. + Normal wifi operations cannot be used on entering RF Test Mode. + + Enter RF Test Mode: + echo "rf_test_mode=1" > /proc/mwlan/adapterX/config + + Exit RF Test Mode: + echo "rf_test_mode=0" > /proc/mwlan/adapterX/config + Please note that after exiting the RF Test Mode, the FW needs to be + reset in order to use normal wifi connectivity. + + To get the set of available RF Test Mode commands, currently set + parameters values for each command and the output, + cat /proc/mwlan/adapterX/config + + Set Radio Mode + echo "radio_mode= " + + Example: 2.4G[1x1] e.g Firecrest + echo "radio_mode=11 0" > /proc/mwlan/adapterX/config + 5G[1x1] e.g Firecrest + echo "radio_mode=3 0" > /proc/mwlan/adapterX/config + + Set Tx Antenna + For 1x1 chipsets, 1:Main, 2:Aux when antenna diversity is supported + For 2x2 chipsets, 1:Path A, 2: Path B, 3: Path A+B + Both Tx and Rx must be set to same antenna path + echo "tx_antenna=1" > /proc/mwlan/adapterX/config + + Set Rx Antenna + For 1x1 chipsets, 1:Main, 2:Aux when antenna diversity is supported + For 2x2 chipsets, 1:Path A, 2:Path B, 3:Path A+B + Both Tx and Rx must be set to same antenna path + echo "rx_antenna=1" > /proc/mwlan/adapterX/config + + Set RF band (0:2G, 1:5G) + For 2G, channel will be reset to 6, while for 5G, to channel 36 + echo "band=0" > /proc/mwlan/adapterX/config + + Set RF bandwidth (0:20MHz, 1:40MHz, 4:80MHz) + echo "bw=0" > /proc/mwlan/adapterX/config + + Set RF channel + echo "channel=6" > /proc/mwlan/adapterX/config + + Get and reset packet error rate + echo "get_and_reset_per" > /proc/mwlan/adapterX/config + + Set Tx Power + This command will set power only if caldata is already loaded in the FW. + Power (0 to 24 dBm) + Modulation (0: CCK, 1:OFDM, 2:MCS) + Path ID (0: PathA, 1:PathB, 2:PathA+B) + echo "tx_power=16 2 0" > /proc/mwlan/adapterX/config + + Set MFG HE TB Tx to configure Trigger based TX reponse + Enable Tx (0:disable, 1:enable) + Q num (0-7 : TCQs 0-7, 17-20: AXQs 0-3) + AID (Association ID as applicable) + AXQ MU Timer(to set the MU EDCA Timer for the Queue) + Tx Power (-11 to 9 dBm) + echo "he_tb_tx=1 1 5 400 10" > /proc/mwlan/adapterX/config + + Set Tx Continuous Mode + Start (0:disable, 1:enable) + Continuous Wave Mode (0:disable, 1:enable) + Payload Pattern (0 to 0xFFFFFFFF) + CS Mode (Applicable only when continuous wave is disabled) + (0:disable, 1:enable) + Active SubChannel (0:low, 1:upper, 3:both) + Tx Data Rate (Rate Index corresponding to legacy/HT/VHT rates) + + Example: To start continuous wave (tone) mode, first stop any ongoing + Tx and then start wave mode: + step1: echo "tx_continuous=0" > /proc/mwlan/adapterX/config + step2: echo "tx_continuous=1 1 0xAAA 0 3 7" > /proc/mwlan/adapterX/config + + Example: To start continuous packet mode, first stop any ongoing Tx and + then start pkt mode: + step1: echo "tx_continuous=0" > /proc/mwlan/adapterX/config + step2: echo "tx_continuous=1 0 0xAAA 0 3 7" > /proc/mwlan/adapterX/config + + stop: + echo "tx_continuous=0" > /proc/mwlan/adapterX/config + + Set Tx Frame + Start (0:disable, 1:enable) + Tx Data Rate (Rate Index corresponding to legacy/HT/VHT rates) + Payload Pattern (0 to 0xFFFFFFFF) + Payload Length (1 to 0x400) + Adjust Burst SIFS Gap (0:disable, 1:enable) + Burst SIFS in us (0 to 255us) + Short Preamble (0:disable, 1:enable) + Active SubChannel (0:low, 1:upper, 3:both) + Short GI (0:disable, 1:enable) + Adv Coding (0:disable, 1:enable) + Beamforming (0:disable, 1:enable) + GreenField Mode (0:disable, 1:enable) + STBC (0:disable, 1:enable) + NumPkt (Set to default value -1) + MaxPktExt (Set to default value -1) + BeamChange (Set to default value -1) + DCM (Set to default value -1) + Doppler (Set to default value -1) + MidamblePeriod (Set to default value -1) + QNum (Set to default value 1) + BSSID (xx:xx:xx:xx:xx:xx) + + Example: To start Tx frame with duty cycle, first stop any ongoing Tx + and then start Tx frame: + echo "tx_frame=0" > /proc/mwlan/adapterX/config + 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 + + Configure Trigger Frame + Example: To configure Trigger frame: + echo "trigger_frame=1 0 1 2 5484 0 256 0 0 2 1 0 0 0 1 60 1 0 65535 0 511 5 0 67 0 0 0 0 90 0 0 0 0" > /proc/mwlan/adapter0/config + + Example: To disable configuration of Trigger frame: + echo "trigger_frame=0" > /proc/mwlan/adapter0/config + + For more information about trigger frame configuration as per supported BW(80MHz, 40MHz and 20MHz), + Please refer : config/trigger_frame_cfg.conf + + Example : To start trigger frame transmission : + echo "rf_test_mode=1" > /proc/mwlan/adapter0/config + echo "radio_mode=3 0" > /proc/mwlan/adapterX/config + echo "band=1" > /proc/mwlan/adapter0/config + echo "bw=0" > /proc/mwlan/adapter0/config + echo "channel=36" > /proc/mwlan/adapter0/config + echo "trigger_frame=1 0 1 2 5484 0 256 0 0 0 1 0 0 0 1 60 1 0 65535 0 511 5 0 61 0 0 0 0 90 0 0 0 0" > /proc/mwlan/adapter0/config + echo "tx_frame=1 0x1102 0xabababab 200" >/proc/mwlan/adapter0/config + +6) Set host sleep parameters + + hssetpara + This command is used to set host sleep parameters. + Example: + echo "hssetpara=2 0xff 0xc8 3 400" > /proc/mwlan/adapter0/config + echo "hssetpara=2 1 0xc8 3 400 " > /proc/mwlan/adapter0/config + +7) For Antenna Diversity Command + + antcfg + This command is used to set/get the mode of Tx/Rx path. + + GET Command Format: cat /proc/mwlan/adapter0/config + SET Command Format: echo "antcfg=[m] [n] [o] [p]" > /proc/mwlan/adapter0/config + + For chip which support STREAM_2X2 + where value of m is: + Bit 0 -- Tx Path A or Tx/Rx Path A if [n] is not provided + Bit 1 -- Tx Path B or Tx/Rx Path B if [n] is not provided + Bit 0-1 -- Tx Path A+B or Tx/Rx Path A+B if [n] is not provided + For 9097/9098/IW62X, LOW BYTE for 2G setting + Bit 8 -- Tx Path A or Tx/Rx Path A if [n] is not provided + Bit 9 -- Tx Path B or Tx/Rx Path B if [n] is not provided + Bit 8-9 -- Tx Path A+B or Tx/Rx Path A+B if [n] is not provided + For 9097/9098/IW62X, HIGH BYTE for 5G setting + where value of n is: + Bit 0 -- Rx Path A + Bit 1 -- Rx Path B + Bit 0-1 -- Rx Path A+B + For 9097/9098/IW62X, LOW BYTE for 2G setting + Bit 8 -- Rx Path A + Bit 8 -- Rx Path B + Bit 8-9 -- Rx Path A+B + For 9097/9098/IW62X, HIGH BYTE for 5G setting + The Tx path setting (m) is used for both Tx and Rx if Rx path (n) is not provided. + + Examples: + cat /proc/mwlan/adapter0/config : Get Tx and Rx path + echo "antcfg=3" > /proc/mwlan/adapter0/config : Set Tx and Rx path to A+B + echo "antcfg=1 3" > /proc/mwlan/adapter0/config : Set Tx path to A and Rx path to A+B + + echo "antcfg=0x103" > /proc/mwlan/adapter0/config : Set Tx and Rx path to A+B on 2G and Tx and Rx path to A on 5G + echo "antcfg=0x103 0x103" > /proc/mwlan/adapter0/config : Set Tx path to A+B and Rx path to A+B on 2G, and Tx and Rx path to A on 5G + + echo "antcfg=0x202" > /proc/mwlan/adapter0/config : Use 5GHz path B pin for 5G TX/RX and 2GHz path B pin for 2G TX/RX + + On RD board connection is as follows : + 5GHz path A pin -> AntA + 5GHz path B pin -> AntB + 2GHz path A pin -> AntB + 2GHz path B pin -> AntA + + For chip which support SAD + where value of m is: + Bit 0 -- Tx/Rx antenna 1 + Bit 1 -- Tx/Rx antenna 2 + ... + 0xFFFF -- Tx/Rx antenna diversity + + where value of n is: + SAD evaluate time interval, only be provided when m = 0xFFFF, default value is 6s(0x1770) + + Examples: + cat /proc/mwlan/adapter0/config : Get Tx/Rx antenna mode + echo "antcfg=1" > /proc/mwlan/adapter0/config : Set Tx/Rx antenna 1 + echo "antcfg=0xFFFF" > /proc/mwlan/adapter0/config : Set Tx/Rx antenna diversity + echo "antcfg=0xFFFF 0x1770" > /proc/mwlan/adapter0/config : Set antenna evaluate time interval to 6s + diff --git a/mxm_wifiex/wlan_src/README_MLAN b/mxm_wifiex/wlan_src/README_MLAN deleted file mode 100644 index fc3feba..0000000 --- a/mxm_wifiex/wlan_src/README_MLAN +++ /dev/null @@ -1,5196 +0,0 @@ -=============================================================================== - U S E R M A N U A L - - Copyright 2008-2022 NXP - - -1) FOR DRIVER BUILD - - Goto source code directory wlan_src/. - make [clean] build - The driver and utility binaries can be found in ../bin_xxxx directory. - The driver code supports Linux kernel from 2.6.32 to 6.0.0. - -2) FOR DRIVER INSTALL - - a) Copy firmware image to /lib/firmware/nxp/, copy wifi_mod_para.conf to /lib/firmware/nxp/. - b) Install WLAN driver - There are drv_mode, max_sta_bss, max_uap_bss etc. module parameters. - The bit settings of drv_mode are, - Bit 0 : STA - Bit 1 : uAP - Bit 2 : WIFIDIRECT - - max_sta_bss: Maximum number of STA BSS (default 1, max 1) - sta_name: Name of the STA interface (default: "mlan") - max_uap_bss: Maximum number of uAP BSS (default 1, max 2) - uap_name: Name of the uAP interface (default: "uap") - max_wfd_bss: Maximum number of WIFIDIRECT BSS (default 1, max 1) - wfd_name: Name of the WIFIDIRECT interface (default: "wfd") - max_vir_bss: Number of Virtual interfaces (default 0) - uap_oper_ctrl: uAP operation control when in-STA disconnect with ext-AP - 0: default do nothing, 2: uAP stops and restarts automatically - For example, to install multi-chip driver, - insmod mlan.ko - insmod moal.ko mod_para=nxp/wifi_mod_para.conf [drvdbg=0x7] - wifi_mod_para.conf is used to support multi-chips which has different load module parameters. It contains - the module parameters for different chips. - c) Uninstall WLAN driver, - ifconfig mlanX down - ifconfig uapX down - rmmod moal - rmmod mlan - - To load driver with MFG firmware file, use mfg_mode=1 when insmod WLAN driver and - specify MFG firmware name if needed. - - To load driver with rf_test firmware file, use rf_test_mode=1 when insmod WLAN driver. - This parameter only used for 9177(FC) - - There are some other parameters for debugging purpose etc. Use modinfo to check details. - drvdbg= - dev_cap_mask= - mac_addr=xx:xx:xx:xx:xx:xx - auto_ds=0|1|2 - ext_scan=0|1|2 - net_rx=0|1 - amsdu_deaggr=0|1 - - ps_mode=0|1|2 - sched_scan=0|1 - max_tx_buf=2048|4096|8192 - pm_keep_power=1|0 - shutdown_hs=1|0 - cfg_11d=0|1|2 - dts_enable=0|1 - fw_name = - e.g. copy pcieuart9098_combo_v1.bin to firmware directory, fw_name=nxp/pcieuart9098_combo_v1.bin - hw_name = - reg_work=0|1 - hw_test=0|1 - fw_serial=0|1 - req_fw_nowait=0|1 - dfs53cfg=0|1|2 - mcs32=0|1 - SD8887: antcfg=0|1|2|0xffff - SD8897/SD8997: antcfg=0x11|0x13|0x33 - slew_rate: Slew Rate Control value = 0|1|2|3 (0 is the slowest slew rate and 03 has the highest slew rate (default)) - init_cfg= - e.g. copy init_cfg.conf to firmware directory, init_cfg=nxp/init_cfg.conf - cal_data_cfg= - e.g. copy cal_data.conf to firmware directory, cal_data_cfg=nxp/cal_data.conf - Note: Loading driver with 8887 must include correct cal_data_cfg parameter. - dpd_data_cfg= - e.g. copy dpd_data.conf to firmware directory, dpd_data_cfg=nxp/dpd_data.conf - txpwrlimit_cfg= - e.g. copy txpwrlimit_cfg_set.conf to firmware directory, txpwrlimit_cfg=nxp/txpwrlimit_cfg_set.conf - cntry_txpwr=0|1|2 - 0: Disable setting tx power table of country (default) - 1: Enable setting tx power table of country - 2: Enable setting rgpower table of country - init_hostcmd_cfg= - e.g. copy init_hostcmd_cfg.conf to firmware directory, init_hostcmd_cfg=nxp/init_hostcmd_cfg.conf - band_steer_cfg= - e.g. generate bscfg.conf by band_steer_cfg.conf, then copy bscfg.conf to firmware directory, band_steer_cfg=nxp/bscfg.conf - sdio_rx_aggr=1|0 - cfg80211_wext= - Bit 0: STA WEXT - Bit 1: uAP WEXT - Bit 2: STA CFG80211 - Bit 3: uAP CFG80211 - cfg80211_drcs=1|0 - reg_alpha2= - skip_fwdnld=0|1 - wq_sched_prio: Priority for work queue - wq_sched_policy: Scheduling policy for work queue - (0: SCHED_NORMAL, 1: SCHED_FIFO, 2: SCHED_RR, 3: SCHED_BATCH, 5: SCHED_IDLE) - Please note that, both wq_sched_prio and wq_sched_policy should be provided - as module parameters. If wq_sched_policy is (0, 3 or 5), then wq_sched_prio - must be 0. wq_sched_prio should be 1 to 99 otherwise. - rx_work=0|1|2 - pcie_int_mode=0|1|2 - pcie_int_mode=0|1 - ring_size=32|64|128|256|512 - aggrctrl=1|0 - usb_aggr=0|1|2 - low_power_mode_enable=0|1 - When low power mode is enabled, the output power will be clipped at ~+10dBm and the - expected PA current is expected to be in the 80-90 mA range for b/g/n modes - wakelock_timeout= - pmic=0|1 - indication_gpio=0xXY - hs_wake_interval= - disconnect_on_suspend=0|1 - hs_mimo_switch=0|1 - gtk_rekey_offload=0|1|2 - napi=0|1 - fixed_beacon_buffer=0|1 - GoAgeoutTime=0|x - multi_dtim=0|x - inact_tmo=0|x - drcs_chantime_mode=0|x - Bit31~Bit24:Channel time for channel index0; - Bit23~Bit16:mode for channel index0; 0|1 - Bit15~Bit8:Channel time for channel index1; - Bit7~Bit0:mode for channel index1; 0|1 - roamoffload_in_hs=0|1 - uap_max_sta: Maximum number of STA for UAP/GO (default 0, max 64) - host_mlme=0|1 - for supplicant/authenticator running on host side, WPA3 support is available only in host_mlme mode - country_ie_ignore=0|1 - beacon_hints=0|1 - - chan_track=0|1 for 9098 only - keep_previous_scan=0|1, - - - Note: On some platforms (e.g. PXA910/920) double quotation marks ("") need to used - for module parameters. - insmod sdxxx.ko " ..." - -3) FOR DRIVER PROC & DEBUG - - The following info are provided in /proc/net/mwlan/adapterX/mlanY|uapY|wfdY/info, - on kernel 2.6.24 or later, the entry is /proc/mwlan/adapterX/mlanY|uapY|wfdY/info. - - driver_name = "wlan" or "uap" - driver_version = - interface_name = "mlanX", "uapX" or "wfdX" - bss_mode = "Ad-hoc" | "Managed" | "Auto" | "Unknown" - media_state = "Disconnected" | "Connected" - mac_address = <6-byte adapter MAC address> - multicase_count = // Only for STA - essid = // Only for STA - bssid = // Only for STA - channel = // Only for STA - region_code = // Only for STA - multicast_address[n] = // Only for STA - num_tx_bytes = - num_rx_bytes = - num_tx_pkts = - num_rx_pkts = - num_tx_pkts_dropped = - num_rx_pkts_dropped = - num_tx_pkts_err = - num_rx_pkts_err = - carrier "on" | "off" - tx queue "stopped" | "started" - tkip_mic_failures = 0 // Only for uAP (use of WEP/TKIP is not recommended anymore) - ccmp_decrypt_errors = 0 // Only for uAP - wep_undecryptable_count = 0 // Only for uAP (use of WEP/TKIP is not recommended anymore) - wep_icv_error_count = 0 // Only for uAP (use of WEP/TKIP is not recommended anymore) - decrypt_failure_count = 0 // Only for uAP - mcast_tx_count = 0 // Only for uAP - failed_count = 0 // Only for uAP - retry_count = 0 // Only for uAP - multiple_retry_count = 0 // Only for uAP - frame_duplicate_count = 0 // Only for uAP - rts_success_count = 0 // Only for uAP - rts_failure_count = 0 // Only for uAP - ack_failure_count = 0 // Only for uAP - rx_fragment_count = 0 // Only for uAP - mcast_rx_frame_count = 0 // Only for uAP - fcs_error_count = 0 // Only for uAP - tx_frame_count = 0 // Only for uAP - rsna_tkip_cm_invoked = 0 // Only for uAP (use of WEP/TKIP is not recommended anymore) - rsna_4way_hshk_failures = 0 // Only for uAP - - The following debug info are provided in /proc/net/mwlan/adapterX/mlanY|uapY|wfdY/debug, - on kernel 2.6.24 or later, the entry is /proc/mwlan/adapterX/mlanY|uapY|wfdY/debug. - - drvdbg = - wmm_ac_vo = - wmm_ac_vi = - wmm_ac_be = - wmm_ac_bk = - max_tx_buf_size = - tx_buf_size = - curr_tx_buf_size = - ps_mode = <0/1, CAM mode/PS mode> - ps_state = <0/1/2/3, awake state/pre-sleep state/sleep-confirm state/sleep state> - is_deep_sleep = <0/1, not deep sleep state/deep sleep state> // Only for STA - wakeup_dev_req = <0/1, wakeup device not required/required> - wakeup_tries = - hs_configured = <0/1, host sleep not configured/configured> - hs_activated = <0/1, extended host sleep not activated/activated> - tx_pkts_queued = - pps_uapsd_mode = <0/1, PPS/UAPSD mode disabled/enabled> // Only for STA - sleep_pd = // Only for STA - qos_cfg = // Only for STA - tx_lock_flag = <0/1, Tx lock flag> // Only for STA - port_open = <0/1, port open flag> // Only for STA - scan_processing = <0/1, scan processing flag> // Only for STA - num_bridge_pkts = // Only for uAP - num_drop_pkts = // Only for uAP - num_tx_timeout = - num_cmd_timeout = - timeout_cmd_id = - timeout_cmd_act = - last_cmd_id = - last_cmd_act = - last_cmd_index = <0 based last command index> - last_cmd_resp_id = - last_cmd_resp_index = <0 based last command response index> - last_event = - last_event_index = <0 based last event index> - num_cmd_h2c_fail = - num_cmd_sleep_cfm_fail = - num_tx_h2c_fail = - num_cmdevt_c2h_fail = - num_rx_c2h_fail = - num_int_read_fail = - last_int_status = - num_evt_deauth = // Only for STA - num_evt_disassoc = // Only for STA - num_evt_link_lost = // Only for STA - num_cmd_deauth = // Only for STA - num_cmd_assoc_ok = // Only for STA - num_cmd_assoc_fail = // Only for STA - cmd_sent = <0/1, send command resources available/sending command to device> - data_sent = <0/1, send data resources available/sending data to device> - mp_rd_bitmap = - curr_rd_port = - mp_wr_bitmap = - curr_wr_port = - txbd_rdptr = - txbd_wrptr = - rxbd_rdptr = - rxbd_wrptr = - eventbd_rdptr = - eventbd_wrptr = - cmd_resp_received = <0/1, no cmd response to process/response received and yet to process> - event_received = <0/1, no event to process/event received and yet to process> - tx_cmd_urb_pending = - tx_data_urb_pending = - rx_cmd_urb_pending = - rx_data_urb_pending = - ioctl_pending = - tx_pending = - rx_pending = - lock_count = - malloc_count = - mbufalloc_count = - malloc_cons_count = - main_state = - sdiocmd53w = - sdiocmd53r = - hs_skip_count = - hs_force_count = - - Issue SDIO cmd52 read/write through proc. - Usage: - echo "sdcmd52rw= [data]" > /proc/mwlan/adapterX/config - where the parameters: - func: The function number to use (0-7) - reg: The address of the register - data: The value to write, read if the value is absent - For SDIO MMC driver, only function 0 and WLAN function access is allowed. - And there is a limitation for function 0 write, only vendor specific CCCR - registers (0xf0 -0xff) are permiited. - Examples: - echo "sdcmd52rw= 0 4" > /proc/mwlan/adapterX/config # read func 0 address 4 - cat /proc/mwlan/adapterX/config # display the register value - echo "sdcmd52rw= 1 3 0xf" > /proc/mwlan/adapterX/config # write 0xf to func 1 address 3 - - Issue debug_dump command through proc. - Usage: - echo "debug_dump" > /proc/mwlan/adapterX/config - - Examples: - echo "debug_dump" > /proc/mwlan/adapterX/config # dump driver internal debug status. - To obtain fw dump or driver dump, use command: - cat /proc/mwlan/adapter0/drv_dump > file_drv_dump #save the drv dump to file_drv_dump - cat /proc/mwlan/adapter0/fw_dump > file_fw_dump #save the fw dump to file_fw_dump - cat /proc/mwlan/adapter1/drv_dump > file_drv_dump_2 #save the adapter1 drv dump to file_drv_dump_2 - - Use dmesg or cat /var/log/debug to check driver debug messages. - - Update /proc/sys/kernel/printk to change message log levels. - For example, - echo 6 > /proc/sys/kernel/printk (messages with a higher priority than 6 - will be printed to the console) - echo 15 > /proc/sys/kernel/printk (all messages will be printed to console) - -4) FOR FW RELOAD - a) Enable parallel firmware download in driver parameter - insmod sdxxx.ko fw_serial=0 - - b) default fw name for parallel firmware download - sd8887_wlan_a2.bin - - c) Trigger FW reload - echo "fw_reload=1" > /proc/mwlan/adapterX/config trigger inband firmware reset and reload firmware - echo "fw_reload=2" > /proc/mwlan/adapterX/config trigger firmware reload - echo "fw_reload=3" > /proc/mwlan/adapterX/config set firmware reload flag in driver. - echo "fw_reload=4" > /proc/mwlan/config trigger pcie FLR and reload firmware. - - (Note: This feature will be supported on Robin3 and KF2. - For CAC-A2, it only work with the board which supports parallel fw download) - -5) FOR RF test mode commands: - - Following commands are used to perform RF testing of the wifi chipset. - Please not that these test mode commands can only be issued while the - device is in disconnected state and the uAP BSS is inactive. - Normal wifi operations cannot be used on entering RF Test Mode. - - Enter RF Test Mode: - echo "rf_test_mode=1" > /proc/mwlan/adapterX/config - - Exit RF Test Mode: - echo "rf_test_mode=0" > /proc/mwlan/adapterX/config - Please note that after exiting the RF Test Mode, the FW needs to be - reset in order to use normal wifi connectivity. - - To get the set of available RF Test Mode commands, currently set - parameters values for each command and the output, - cat /proc/mwlan/adapterX/config - - Set Tx Antenna - For 1x1 chipsets, 1:Main, 2:Aux when antenna diversity is supported - For 2x2 chipsets, 1:Path A, 2: Path B, 3: Path A+B - Both Tx and Rx must be set to same antenna path - echo "tx_antenna=1" > /proc/mwlan/adapterX/config - - Set Rx Antenna - For 1x1 chipsets, 1:Main, 2:Aux when antenna diversity is supported - For 2x2 chipsets, 1:Path A, 2:Path B, 3:Path A+B - Both Tx and Rx must be set to same antenna path - echo "rx_antenna=1" > /proc/mwlan/adapterX/config - - Set RF band (0:2G, 1:5G) - For 2G, channel will be reset to 6, while for 5G, to channel 36 - echo "band=0" > /proc/mwlan/adapterX/config - - Set RF bandwidth (0:20MHz, 1:40MHz, 4:80MHz) - echo "bw=0" > /proc/mwlan/adapterX/config - - Set RF channel - echo "channel=6" > /proc/mwlan/adapterX/config - - Set Radio Mode - echo "radio_mode=14 4" > /proc/mwlan/adapterX/config - - Get and reset packet error rate - echo "get_and_reset_per" > /proc/mwlan/adapterX/config - - Set Tx Power - This command will set power only if caldata is already loaded in the FW. - Power (0 to 24 dBm) - Modulation (0: CCK, 1:OFDM, 2:MCS) - Path ID (0: PathA, 1:PathB, 2:PathA+B) - echo "tx_power=16 2 0" > /proc/mwlan/adapterX/config - - Set Tx Continuous Mode - Start (0:disable, 1:enable) - Continuous Wave Mode (0:disable, 1:enable) - Payload Pattern (0 to 0xFFFFFFFF) - CS Mode (Applicable only when continuous wave is disabled) - (0:disable, 1:enable) - Active SubChannel (0:low, 1:upper, 3:both) - Tx Data Rate (Rate Index corresponding to legacy/HT/VHT rates) - - Example: To start continuous wave (tone) mode, first stop any ongoing - Tx and then start wave mode: - step1: echo "tx_continuous=0" > /proc/mwlan/adapterX/config - step2: echo "tx_continuous=1 1 0xAAA 0 3 7" > /proc/mwlan/adapterX/config - - Example: To start continuous packet mode, first stop any ongoing Tx and - then start pkt mode: - step1: echo "tx_continuous=0" > /proc/mwlan/adapterX/config - step2: echo "tx_continuous=1 0 0xAAA 0 3 7" > /proc/mwlan/adapterX/config - - stop: - echo "tx_continuous=0" > /proc/mwlan/adapterX/config - - Set Tx Frame - Start (0:disable, 1:enable) - Tx Data Rate (Rate Index corresponding to legacy/HT/VHT rates) - Payload Pattern (0 to 0xFFFFFFFF) - Payload Length (1 to 0x400) - Adjust Burst SIFS Gap (0:disable, 1:enable) - Burst SIFS in us (0 to 255us) - Short Preamble (0:disable, 1:enable) - Active SubChannel (0:low, 1:upper, 3:both) - Short GI (0:disable, 1:enable) - Adv Coding (0:disable, 1:enable) - Beamforming (0:disable, 1:enable) - GreenField Mode (0:disable, 1:enable) - STBC (0:disable, 1:enable) - NumPkt (Set to default value -1) - MaxPktExt (Set to default value -1) - BeamChange (Set to default value -1) - DCM (Set to default value -1) - Doppler (Set to default value -1) - MidamblePeriod (Set to default value -1) - QNum (Set to default value 1) - BSSID (xx:xx:xx:xx:xx:xx) - - Example: To start Tx frame with duty cycle, first stop any ongoing Tx - and then start Tx frame: - echo "tx_frame=0" > /proc/mwlan/adapterX/config - 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 - - Configure Trigger Frame - Example: To configure Trigger frame: - echo "trigger_frame=1 0 1 2 5484 0 256 0 0 2 1 0 0 0 1 60 1 0 65535 0 511 5 0 67 0 0 0 0 90 0 0 0 0" > /proc/mwlan/adapter0/config - - Example: To disable configuration of Trigger frame: - echo "trigger_frame=0" > /proc/mwlan/adapter0/config - - For more information about trigger frame configuration as per supported BW(80MHz, 40MHz and 20MHz), - Please refer : config/trigger_frame_cfg.conf - - Example : To start trigger frame transmission : - echo "rf_test_mode=1" > /proc/mwlan/adapter0/config - echo "band=1" > /proc/mwlan/adapter0/config - echo "bw=0" > /proc/mwlan/adapter0/config - echo "channel=36" > /proc/mwlan/adapter0/config - echo "trigger_frame=1 0 1 2 5484 0 256 0 0 0 1 0 0 0 1 60 1 0 65535 0 511 5 0 61 0 0 0 0 90 0 0 0 0" > /proc/mwlan/adapter0/config - echo "tx_frame=1 0x1102 0xabababab 200" >/proc/mwlan/adapter0/config - -6) Set host sleep parameters - - hssetpara - This command is used to set host sleep parameters. - Example: - echo "hssetpara=2 0xff 0xc8 3 400" > /proc/mwlan/adapter0/config - echo "hssetpara=2 1 0xc8 3 400 " > /proc/mwlan/adapter0/config - -7) For Antenna Diversity Command - - antcfg - This command is used to set/get the mode of Tx/Rx path. - - GET Command Format: cat /proc/mwlan/adapter0/config - SET Command Format: echo "antcfg=[m] [n] [o] [p]" > /proc/mwlan/adapter0/config - - For chip which support STREAM_2X2 - where value of m is: - Bit 0 -- Tx Path A or Tx/Rx Path A if [n] is not provided - Bit 1 -- Tx Path B or Tx/Rx Path B if [n] is not provided - Bit 0-1 -- Tx Path A+B or Tx/Rx Path A+B if [n] is not provided - For 9097/9098/IW62X, LOW BYTE for 2G setting - Bit 8 -- Tx Path A or Tx/Rx Path A if [n] is not provided - Bit 9 -- Tx Path B or Tx/Rx Path B if [n] is not provided - Bit 8-9 -- Tx Path A+B or Tx/Rx Path A+B if [n] is not provided - For 9097/9098/IW62X, HIGH BYTE for 5G setting - where value of n is: - Bit 0 -- Rx Path A - Bit 1 -- Rx Path B - Bit 0-1 -- Rx Path A+B - For 9097/9098/IW62X, LOW BYTE for 2G setting - Bit 8 -- Rx Path A - Bit 8 -- Rx Path B - Bit 8-9 -- Rx Path A+B - For 9097/9098/IW62X, HIGH BYTE for 5G setting - The Tx path setting (m) is used for both Tx and Rx if Rx path (n) is not provided. - - Examples: - cat /proc/mwlan/adapter0/config : Get Tx and Rx path - echo "antcfg=3" > /proc/mwlan/adapter0/config : Set Tx and Rx path to A+B - echo "antcfg=1 3" > /proc/mwlan/adapter0/config : Set Tx path to A and Rx path to A+B - - echo "antcfg=0x103" > /proc/mwlan/adapter0/config : Set Tx and Rx path to A+B on 2G and Tx and Rx path to A on 5G - echo "antcfg=0x103 0x103" > /proc/mwlan/adapter0/config : Set Tx path to A+B and Rx path to A+B on 2G, and Tx and Rx path to A on 5G - - echo "antcfg=0x202" > /proc/mwlan/adapter0/config : Use 5GHz path B pin for 5G TX/RX and 2GHz path B pin for 2G TX/RX - - On RD board connection is as follows : - 5GHz path A pin -> AntA - 5GHz path B pin -> AntB - 2GHz path A pin -> AntB - 2GHz path B pin -> AntA - - For chip which support SAD - where value of m is: - Bit 0 -- Tx/Rx antenna 1 - Bit 1 -- Tx/Rx antenna 2 - ... - 0xFFFF -- Tx/Rx antenna diversity - - where value of n is: - SAD evaluate time interval, only be provided when m = 0xFFFF, default value is 6s(0x1770) - - Examples: - cat /proc/mwlan/adapter0/config : Get Tx/Rx antenna mode - echo "antcfg=1" > /proc/mwlan/adapter0/config : Set Tx/Rx antenna 1 - echo "antcfg=0xFFFF" > /proc/mwlan/adapter0/config : Set Tx/Rx antenna diversity - echo "antcfg=0xFFFF 0x1770" > /proc/mwlan/adapter0/config : Set antenna evaluate time interval to 6s - - - -=============================================================================== - U S E R M A N U A L F O R MLANUTL - -NAME - mlanutl - configure the additional parameters available for NXP mdriver. - -SYNOPSIS - mlanutl -v - mlanutl [parameters] ... - - mlanutl mlanX verext - mlanutl mlanX version - mlanutl mlanX hostcmd generate_raw - mlanutl mlanX hostcmd send_om_set - mlanutl mlanX getdatarate - mlanutl uapX getdatarate - mlanutl mlanX drvdbg [n] - mlanutl mlanX getlog - mlanutl mlanX getsignal [m] [n] - mlanutl mlanX signalextcfg [m] - mlanutl mlanX getsignalextv2 [m] - mlanutl mlanX getsignalext [m] - mlanutl mlanX get_txpwrlimit [raw_data_file] - mlanutl mlanX aggrpriotbl [ ... ] - mlanutl uapX aggrpriotbl [ ... ] - mlanutl mlanX addbapara [

] - mlanutl uapX addbapara [

] - mlanutl mlanX addbareject [ ... ] - mlanutl uapX addbareject [ ... ] - mlanutl mlanX dyn_bw [n] - mlanutl mlanX vhtcfg [l] [m] [n] [o] - mlanutl uapX vhtcfg [l] [m] [n] [o] - mlanutl mlanX httxcfg [] [] - mlanutl mlanX htcapinfo [] [] - mlanutl mlanX 11axcfg [config/11axcfg.conf] - mlanutl mlanX 11axcmd - mlanutl mlanX txratecfg [l] [m] [n] [o] - mlanutl uapX txratecfg [l] [m] [n] [o] - mlanutl mlanX txwatchdog [l] - mlanutl uapX txwatchdog [l] - mlanutl mlanX hssetpara condition [GPIO# [gap]] [ind_GPIO# [level]] - mlanutl mlanX mefcfg - mlanutl mlanX cloud_keep_alive - mlanutl mlanX min_ba_threshold - mlanutl mlanX 11dcfg - mlanutl mlanX 11dclrtbl - mlanutl mlanX addts - mlanutl mlanX amsduaggrctrl - mlanutl mlanX antcfg [m] [n] - mlanutl mlanX/uapX mimoswitch [tx_antmode] [rx_antmode] - mlanutl mlanX arpfilter - mlanutl mlanX assocctrl [k] [l] [m] [n] - mlanutl mlanX assocessid <"[essid]"> - mlanutl mlanX assocessid_bssid <"[bssid] [essid]"> - mlanutl mlanX associate " " - mlanutl mlanX get_chnrgpwr [save_region_channel_power_data_file] - mlanutl mlanX comparergpwr [target_file] - mlanutl mlanX comparetrpc [display] - mlanutl mlanX getcfgchanlist - mlanutl mlanX authtype [n] - mlanutl mlanX autotdls [n] - mlanutl mlanX tdls_idle_time [n] - mlanutl uapX dfs_offload [n] - mlanutl mlanX bandcfg [l] [m] [n] - mlanutl mlanX bcninterval [n] - mlanutl wfdX bssrole [l] - mlanutl mlanX cfgdata [] - mlanutl mlanX cfpcode [m] [n] - mlanutl mlanX changraph [ ] - mlanutl mlanX coex_rx_winsize [m] - mlanutl mlanX countrycode [l] - - mlanutl mlanX cfpinfo - mlanutl uapX cfpinfo - - mlanutl mlanX customie [[[] ] ] - mlanutl mlanX deauth [l] - mlanutl uapX deauth [l] - mlanutl mlanX deepsleep [l] [m] - mlanutl mlanX delba [ ] - mlanutl uapX delba [ ] - mlanutl mlanX delts - mlanutl mlanX dfstesting [ ] - mlanutl uapX clear_nop - mlanutl uapX nop_list - mlanutl uapX fake_radar - mlanutl uapX getchload [] - mlanutl uapX getchload - mlanutl dfsX dfs_cac [ ] - mlanutl dfsX autodfs [conf_file] - mlanutl mlanX dfs_repeater [n] - mlanutl mlanX dfs53cfg [n] - mlanutl uapX dfs_mode [n] - mlanutl mlanX esuppmode [l] [m] [n] - mlanutl mlanX extcapcfg [] - mlanutl mlanX fwmacaddr [mac_addr] - mlanutl mlanX getkey - mlanutl mlanX getscantable [ARGS] - mlanutl uapX getstalist - mlanutl uapX channel_switch - mlanutl mlanX hostcmd <11n_2040coex.conf> 2040coex - mlanutl mlanX hostcmd auto_tx_get - mlanutl mlanX hostcmd auto_tx_unreg - mlanutl mlanX hostcmd bgscfg - - mlanutl mlanX hostcmd coalesce_cfg - mlanutl mlanX hostcmd ed_mac_ctrl - mlanutl mlanX hostcmd crypto_test - mlanutl mlanX hostcmd nat_keep_alive - mlanutl mlanX hostcmd pad_cfg_get - mlanutl mlanX hostcmd pad_cfg_set - mlanutl mlanX hostcmd requesttpc - mlanutl mlanX hostcmd mode_get - mlanutl mlanX hostcmd mode_timeshare - mlanutl mlanX hostcmd mode_spatial - mlanutl mlanX hostcmd mode_none - mlanutl mlanX hostcmd mode_bca - mlanutl mlanX hostcmd gpio_cfg - mlanutl mlanX hostcmd external_coex_config - mlanutl mlanX hostcmd external_coex_pta_config - mlanutl mlanX hostcmd external_coex_uart_config - mlanutl mlanX hostcmd generictime - mlanutl mlanX hostcmd a2dptime - mlanutl mlanX hostcmd inquirytim - mlanutl mlanX hostcmd ap_generictime - mlanutl mlanX hostcmd ap_a2dptime - mlanutl mlanX hostcmd ap_inquirytime - mlanutl mlanX hostcmd get_bca_arb_config - mlanutl mlanX hostcmd set_en_bca_arb_config - mlanutl mlanX hostcmd set_dis_bca_arb_config - mlanutl mlanX hostcmd set_wlan_traffic_priority - mlanutl mlanX hostcmd get_wlan_traffic_priority - mlanutl mlanX hostcmd get_wlan_stats - mlanutl mlanX hostcmd get_15_4_stats - mlanutl mlanX hostcmd get_bt_stats - mlanutl mlanX hostcmd get_ble_stats - mlanutl mlanX hostcmd sdio_pulldown_disable - mlanutl mlanX hostcmd sdio_pulldown_get - mlanutl mlanX hostcmd sdio_pulldown_set - mlanutl mlanX hostcmd subevent_get - mlanutl mlanX hostcmd subevent_set - mlanutl mlanX hostcmd txpwrlimit_2g_cfg_set - mlanutl mlanX hostcmd txpwrlimit_5g_cfg_set - mlanutl mlanX hostcmd txpwrlimit_cfg_get - mlanutl mlanX hostcmd txrate_cfg_get - mlanutl mlanX hostcmd txrate_cfg_set_bg - mlanutl mlanX hostcmd txrate_cfg_set_bgn - mlanutl mlanX hostcmd generate_raw - mlanutl mlanX hostcmd fwdump - - mlanutl mlanX hostcmd stop_su - mlanutl mlanX hostcmd start_su - - mlanutl mlanX hotspotcfg [] - mlanutl mlanX hscfg [condition [[GPIO# [gap]]]] [ind_GPIO# [level]] - mlanutl mlanX mgmtfilter - mlanutl mlanX auto_arp [n] - mlanutl mlanX htstreamcfg [n] - mlanutl mlanX httxbfcap [cap] - mlanutl mlanX httxbfcfg "[;GlobalData/tsData/interval/txPeerData/snrData]" - mlanutl mlanX inactivityto [k] - mlanutl mlanX ipaddr [";"] - mlanutl mlanX linkstats - mlanutl mlanX listeninterval [l] - mlanutl mlanX macctrl [n] - mlanutl uapX macctrl [n] - mlanutl mlanX memrdwr

[value] - mlanutl mlanX miracastcfg [l] [m] [n] - mlanutl mlanX mgmtframectrl [] - mlanutl uapX mgmtframectrl [] - mlanutl mlanX mgmtframetx - mlanutl mlanX mpactrl [tx_ena] [rx_ena] [tx_size] [rx_size] [tx_ports] [rx_ports] - mlanutl mlanX netmon [ [ ]] - mlanutl mlanX offchannel [ ] - mlanutl mlanX otpuserdata - mlanutl mlanX passphrase [l] - mlanutl mlanX pb_bypass [data_1, data_2, ... data_n] - mlanutl mlanX pcieregrw [value] - mlanutl mlanX pciebar0regrw [value] - mlanutl mlanX pmfcfg - mlanutl mlanX port_ctrl [n] - mlanutl mlanX powercons [n] - mlanutl mlanX pscfg [k] [d] [l] ... - mlanutl mlanX bcntimeoutcfg [l] [m] [o] [p] - mlanutl mlanX psmode [l] - - mlanutl robustcoex [Enable/Disable] [gpionum] [gpiopolarity] - mlanutl mlanX qconfig def [Queue Id: 0-3] - mlanutl mlanX qconfig get [Queue Id: 0-3] - mlanutl mlanX qconfig set msdu [Queue Id: 0-3] - mlanutl mlanX qoscfg - mlanutl mlanX qstatus - mlanutl mlanX radioctrl [n] - mlanutl mlanX rdeeprom - mlanutl mlanX reassoctrl [n] - mlanutl mlanX regioncode [n] - mlanutl mlanX regrdwr [value] - mlanutl mlanX rejectaddbareq [conditions] - mlanutl uapX rejectaddbareq [conditions] - mlanutl mlanX scancfg [t] [m] [p] [s] [a] [b] [c] [ext] [gap] - mlanutl mlanX sdcmd52rw
[data] - mlanutl mlanX sdcmd53rw
[data1] ... [dataN] - mlanutl mlanX sdioclock - mlanutl mlanX setuserscan [ARGS] - mlanutl mlanX cancelscan - mlanutl mlanX sleepparams [ ] - mlanutl mlanX sleeppd [n] - mlanutl mlanX sysclock [clk1] [clk2] [clk3] [clk4] - mlanutl mlanX tcpackenh [l] [m] - mlanutl mlanX tdls_channel_switch - mlanutl mlanX tdls_config <0/1> - mlanutl mlanX tdls_cs_params - mlanutl mlanX tdls_debug "allow_weak_security" <0/1> - mlanutl mlanX tdls_debug "cs_im_return" <0/1> - mlanutl mlanX tdls_debug "fail_setup_confirm" <0/1> - mlanutl mlanX tdls_debug "higher_lower_mac" <0/1> - mlanutl mlanX tdls_debug "ignore_key_expiry" <0/1> - mlanutl mlanX tdls_debug "setup_existing_link" <0/1> - mlanutl mlanX tdls_debug "setup_with_prohibited" <0/1> - mlanutl mlanX tdls_debug "stop_rx" <0/1> - mlanutl mlanX tdls_debug "wrong_bss" <0/1> - mlanutl mlanX tdls_disable_cs <0/1> - mlanutl mlanX tdls_discovery - mlanutl mlanX tdls_link_status - mlanutl mlanX tdls_powermode - mlanutl mlanX tdls_setinfo - mlanutl mlanX tdls_setup - mlanutl mlanX tdls_stop_channel_switch - mlanutl mlanX tdls_teardown - mlanutl mlanX thermal - mlanutl mlanX ts_status - mlanutl mlanX tsf - mlanutl mlanX txaggrctrl [m] - mlanutl mlanX txbufcfg - mlanutl mlanX aggrctrl [l] - mlanutl mlanX usbaggrctrl [l] [m] [n] [o] [p] [q] [r] [s] - mlanutl mlanX usbresume - mlanutl mlanX usbsuspend - mlanutl per_pkt_cfg [tx_rx_control] [type_num] [ether_type1 ether_type2 ...] [tx_rx_control] [type_num] [ether_type1 ether_type2 ...] - mlanutl dot11_txrx - mlanutl mlanX txrxhistogram [action] [tx_rx_statics] - mlanutl uapX txrxhistogram [action] [tx_rx_statics] - mlanutl mlanX wakeupreason - mlanutl uapX wakeupreason - mlanutl mlanX warmreset - mlanutl mlanX wpssession [n] - mlanutl mlanX wmmcfg [n] - mlanutl mlanX wmmparamcfg [AC_BE AIFSN ECW_MAX ECW_MIN TX_OP] - [AC_BK AIFSN ECW_MAX ECW_MIN TX_OP] - [AC_VI AIFSN ECW_MAX ECW_MIN TX_OP] - [AC_VO AIFSN ECW_MAX ECW_MIN TX_OP] - mlanutl mlanX wwscfg [m] - mlanutl mlanX mc_cfg [n] - mlanutl mlanX mc_policy [n] - mlanutl mlanX mc_cfg_ext [c] [s] [u] [m] - mlanutl p2pX cfg_noa [h] [i] [j] [k] [l] - mlanutl p2pX cfg_opp_ps [m] [n] - mlanutl mlanX get_sensor_temp - mlanutl indrstcfg [gpio_pin] - - - mlanutl uapX ctrldeauth - - mlanutl mlanX/uapX bootsleep <1/0> - - mlanutl mlanX ssu [mode] [ssu file] - - mlanutl mlanX csi - - mlanutl mlanX arb [mode] - - mlanutl mlanX dmcs [value] - - mlanutl mlanX/uapX range_ext [mode] - mlanutl mlanX twt_setup [config/twt.conf] - mlanutl mlanX twt_teardown [config/twt.conf] - mlanutl rx_abort_cfg [enable] [rssi_threshold] - mlanutl rx_abort_cfg_ext [enable] [margin ceil_thresh] - mlanutl tx_ampdu_prot_mode [mode] - mlanutl rate_adapt_cfg [low_thresh high_thresh timer_interval] - mlanutl cck_desense_cfg [mode] [margin ceil_thresh] [num_on_intervals num_off_intervals] - mlanutl mlanX/uapX lpm [mode] - mlanutl dot11mc_unassoc_ftm_cfg [enable] - mlanutl mlanX tp_state [mode] [drop_point] - mlanutl mlanX/uapX clocksync [j][k] [l] [m] [n] - mlanutl mlanX/uapX gettsfinfo [j] - mlanutl uapX backupchan [j] - mlanutl uapX targetchan [j] - mlanutl mlanX ips_cfg [1/0] - mlanutl mlanX/uapX mcast_aggr_group [action] [mcast_addr] - mlanutl mlanX/uapX mc_aggr_cfg [i][j] - mlanutl uapX mcast_tx - mlanutl getuuid - -DESCRIPTION - Those commands are used to send additional commands to the NXP MLAN - card via the Linux device driver. - - The mlanX parameter specifies the network device that is to be used to - perform this command on. It could be mlan0, mlan1 etc. - -verext - Retrieve and display an extended version string from the firmware - - Usage: - mlanutl mlanX verext [#] - - where [#] is an optional argument to retrieve a specific version string, - omission of the argument retrieves the 0 indexed string. - -version - This is used to get the current version of the driver and the firmware. - -drvdbg - This command is used to set/get the bit masks of driver debug message control. - - Usage: - mlanutl mlanX drvdbg [n] - - Where the parameter is the generic debug message control bit mask. - The following types of driver debug messages can be dynamically enabled or - disabled by setting or clearing the corresponding bits, - bit 0: MMSG PRINTM(MMSG,...) - bit 1: MFATAL PRINTM(MFATAL,...) - bit 2: MERROR PRINTM(MERROR,...) - bit 3: MDATA PRINTM(MDATA,...) - bit 4: MCMND PRINTM(MCMND,...) - bit 5: MEVENT PRINTM(MEVENT,...) - bit 6: MINTR PRINTM(MINTR,...) - bit 7: MIOCTL PRINTM(MIOCTL,...) - ... - bit 16: MDAT_D PRINTM(MDAT_D,...), DBG_HEXDUMP(MDAT_D,...) - bit 17: MCMD_D PRINTM(MCMD_D,...), DBG_HEXDUMP(MCMD_D,...) - bit 18: MEVT_D PRINTM(MEVT_D,...), DBG_HEXDUMP(MEVT_D,...) - bit 19: MFW_D PRINTM(MFW_D,...), DBG_HEXDUMP(MFW_D,...) - bit 20: MIF_D PRINTM(MIF_D,...), DBG_HEXDUMP(MIF_D,...) - ... - bit 28: MENTRY PRINTM(MENTRY,...), ENTER(), LEAVE() - bit 29: MWARN PRINTM(MWARN,...) - bit 30: MINFO PRINTM(MINFO,...) - - If CONFIG_DEBUG=2, all kinds of debug messages can be configured. - - If CONFIG_DEBUG=1, all kinds of debug messages can be configured except - for MENTRY, MWARN and MINFO. By default MMSG, MFATAL and MERROR are enabled. - - Some special debug messages, - '*' // MLAN driver ISR is called (bit 6 MINTR enabled) - '|' // PS awake event is received (bit 5 MEVENT enabled) - '_' // PS sleep event is received (bit 5 MEVENT enabled) - '+' // PS sleep confirm is sent (bit 5 MEVENT enabled) - - Examples: - mlanutl mlan0 drvdbg : Get the current driver debug masks - mlanutl mlan0 drvdbg 0 : Disable all the debug messages - mlanutl mlan0 drvdbg 7 : Enable MMSG, MFATAL and MERROR messages - mlanutl mlan0 drvdbg 0x20037 : Enable MMSG, MFATAL, MEEROR, - MCMND, MEVENT and MCMD_D messages - mlanutl mlan0 drvdbg -1 : Enable all the debug messages - -hostcmd generate_raw - This command is used to generate the raw data(hostcommand block) for - hostcommand in and write that to file - - Usage: - mlanutl mlanX hostcmd generate_raw - -hostcmd send_om_set - This command is used to configure the STAUT to include OM control subfield - - Usage: - mlanutl mlanX hostcmd send_om_set - -getdatarate - This command is used to get the data rate being used in last Tx - packet and last Rx packet. - -getlog - This command is used to get the statistics available in the station. - Following stats are displayed:- - dot11MulticastTransmittedFrameCount Increments when the multicast bit is set in the destination - MAC address of a successfully transmitted MSDU - - dot11FailedCount Increments when an MSDU is not transmitted successfully - - dot11RetryCount Increments when an MSDU is successfully transmitted after one - or more retransmissions - - dot11MultipleRetryCount Increments when an MSDU is successfully transmitted after more - than one retransmission - - dot11FrameDuplicateCount Increments when a frame is received that the Sequence Control - field is indicating a duplicate count - - dot11RTSSuccessCount Increments when a CTS is received in response to an RTS - - dot11RTSFailureCount Increments when a CTS is not received in response to an RTS - - dot11ACKFaliureCount Increments when an ACK is not received when expected - - dot11ReceivedFragmentCount Increments for each successfully received MPDU of type Data or Management - - dot11MulticastReceivedFrameCount Increments when a MSDU is received with the multicast bit set in the destination MAC address - - dot11FCSErrorCount Increments when an FCS error is detected in a received MPDU - - dot11TransmittedFrameCount Increments for each successfully transmitted MSDU - - dot11WeplcvErrCnt Increment when WEP (use of WEP/TKIP is not recommended anymore)decryption error for key index 0.3 - - beaconReceivedCnt Increments when received beacon - - beaconMissedCnt Increments when beacon missed - - dot11TransmittedFrameCount Increments for each successfully transmitted MSDU - - dot11QosTransmittedFragmentCount Increments when a corresponding UP's MPDU transmitted successfully - - dot11QosFailedCount Increments when a corresponding UP's MSDU not transmitted successfully - - dot11QosRetryCount Increment when a corresponding UP's MSDU transmitted successfully after one or more retransmission - - dot11QosMultipleRetryCount Increments when a corresponding UP's MSDU is successfully transmitted after more than one retransmission - - dot11QosFrameDuplicateCount Increments when a corresponding UP's frame is received that the Sequence - Control field is indicating a duplicate frame - - dot11QosRTSSuccessCount Increments when a CTS is received in response to an RTS, which is sent for a corresponding UP's Qos frame - - dot11QosRTSFailureCount Increments when a CTS is not received in response to an RTS, which is sent for a corresponding UP's - Qos frame - - dot11QosACKFailureCount Increments when an ACK is not received when expected for a corresponding UP's Qos frame - - dot11QosReceivedFragmentCount Increments when a corresponding UP's MPDU received - - dot11QosTransmittedFrameCount Increments when a corresponding UP's MSDU transmitted - - dot11QosDiscardedFrameCount Increments when a corresponding UP's MSDU not transmitted successfully - - dot11QosMPDUsReceivedCount Increments when a corresponding UP's MDPU received - - - dot11QosRetriesReceivedCount Increments when a corresponding UP's MDPU received which retry bit is set - - dot11RSNAStatsCMACICVErrors Increment when a MPDU discard by CMAC integrity check - - dot11RSNAStatsCMACReplays Increments when a MPDU discarded by the CMAC replay error - - dot11RSNAStatsRobustMgmtCCMPReplays Increments when a robust management frame discarded by CCMP replay error - - dot11RSNAStatsTKIPICVErrors Increments when a MPDU discarded by TKIP ICV error //(use of WEP/TKIP is not recommended anymore) - - dot11RSNAStatsTKIPReplays Increments when a MPDU discarded by TKIP replay error //(use of WEP/TKIP is not recommended anymore) - - dot11RSNAStatsCCMPDecryptErrors Increments when a MPDU discarded by CCMP decryption error - - dot11RSNAStatsCCMPReplays Increments when a MPDU discarded by CCMP replay error - - dot11TransmittedAMSDUCount Increments when a A-MSDU transmitted successfully - - dot11FailedAMSDUCount Increments when a A-MSDU not transmitted successfully - - dot11RetryAMSDUCount Increments when a A-MSDU is successfully transmitted after one or more retransmissions - - dot11MultipleRetryAMSDUCount Increments when a A-MSDU is successfully transmitted after more than one retransmissions - - dot11TransmittedOctetsInAMSDUCount Increments by the number of octets in the frame body - of an A-MSDU frame when an A-MSDU frame is successfully transmitted - - dot11AMSDUAckFailureCount Increments when an acknowledgment to an A-MSDU is not received when expected. - - dot11ReceivedAMSDUCount Increments when a A-MSDU frame received - - dot11ReceivedOctetsInAMSDUCount Increments by the number of octets in the frame body - of an A-MSDU frame when an A-MSDU frame is received - - dot11TransmittedAMPDUCount Increments when an A-MPDU is transmitted - - dot11TransmittedMPDUsInAMPDUCount Increments by the number of MPDUs in the A-MPDU when an A-MPDU is transmitted - - dot11TransmittedOctetsInAMPDUCount Increments by the number of octets in the A-MPDU frame when an A-MPDU frame is transmitted - - dot11AMPDUReceivedCount Increments when the MAC receives an A-MPDU from the PHY - - dot11MPDUInReceivedAMPDUCount Increments by the number of MPDUs received in the - A-MPDU when an A-MPDU is received - - dot11ReceivedOctetsInAMPDUCount Increments by the number of octets in the A-MPDU - frame when an A-MPDU frame is received - - dot11AMPDUDelimiterCRCErrorCount Increments when an MPDU delimiter has a CRC error when this is the first - CRC error in the received A-MPDU or when the previous delimiter has been decoded correctly - - Cmd Usage: mlanutl mlanX getlog ext - The above command is used with the argument "ext" to display the following error statistics:- - - rxStuckIssueCount-1 - rxStuckIssueCount-2 - rxStuckRecoveryCount - rxStuckTsf-1 - rxStuckTsf-2 - txWatchdogRecoveryCount - txWatchdogTsf-1 - txWatchdogTsf-2 - channelSwitchAnnouncementSent - channelSwitchState - registerClass - channelNumber - channelSwitchMode - RxResetRecoveryCount - RxIsr2NotDoneCnt - gdmaAbortCnt - gResetRxMacCnt - gOwnrshpCtlErrCnt - gOwnrshpBcnErrCnt - gOwnrshpMgtErrCnt - gOwnrshpDatErrCnt - -getsignal - This command gets the last and average value of RSSI, SNR and NF of - Beacon and Data. - Note: This command is available only when STA is connected. - - where value of m is: - 1 -- RSSI (Receive Signal Strength Indication) - 2 -- SNR (Signal to Noise Ratio) - 3 -- NF (Noise Floor) - where value of n is: - 1 -- Beacon last - 2 -- Beacon average - 3 -- Data last - 4 -- Data average - - Examples: - mlanutl mlan0 getsignal 1 : Get the RSSI info (beacon last, beacon - average, data last and data average) - mlanutl mlan0 getsignal 3 4 : Get the NF of data average - mlanutl mlan0 getsignal 2 1 : Get the SNR of beacon last - mlanutl mlan0 getsignal : Get all of the signal info - mlan0 getsignal:-32 -33 -35 -36 67 59 63 56 -99 -92 -98 -92 - RSSI info: beacon last -32, beacon average -33, data last -35, data average -36 - SNR info: beacon last 67, beacon average 59, data last 63, data average 56 - NF info: beacon last -99, beacon average -92, data last -98, data average -92 - -getsignalext - This command gets the last and average value of RSSI, SNR and NF of - Beacon and Data of spectific antenna path. - Note: This command is available only when STA is connected. - Driver will enable signalext and collect signal information for one second - - where value of m is: - 1 -- PATH A - 2 -- PATH B - 3 -- PATH A+B - - Examples: - mlanutl mlan0 getsignalext :Get All path's signal. - mlanutl maln0 getsignalext 3 :Get path A+B signal - mlanutl maln0 getsignalext 1 :Get path A signal - mlanutl mlan0 getsignalext 2 :Get path B signal - - PATH A: -46 -46 -49 -49 65 45 39 42 -111 -91 -88 -91 - - PATH A: RSSI info: beacon last -46, beacon average -46, data last -49, data average -49 - SNR info: beacon last 65, beacon average 45, data last 39, data average 42 - NF info: beacon last -111, beacon average -91, data last -88, data average -91 - -signalextcfg - This command is used to enable/disable signalext - Usage: - mlanutl mlanX signalextcfg [m] - where the value of [m] is: - 1 -- enable signalext in firmware - 0 -- disable signalext in firmware - Examples: - mlanutl mlan0 signalextcfg 1 : Enable signalext in firmware - mlanutl mlan0 signalextcfg 0 : Disable signalext in firmware - -getsignalextv2 - This command gets the last and average value of RSSI, SNR and NF of - Beacon and Data of spectific antenna path. - Note: This command is available only when STA is connected. - "mlanutl mlanX signalextcfg 1" command needs to be issued before issuing this command - - where value of m is: - 1 -- PATH A - 2 -- PATH B - 3 -- PATH A+B - - Examples: - mlanutl mlan0 getsignalextv2 :Get All path's signal. - mlanutl maln0 getsignalextv2 3 :Get path A+B signal - mlanutl maln0 getsignalextv2 1 :Get path A signal - mlanutl mlan0 getsignalextv2 2 :Get path B signal - - PATH A: -46 -46 -49 -49 65 45 39 42 -111 -91 -88 -91 - - PATH A: RSSI info: beacon last -46, beacon average -46, data last -49, data average -49 - SNR info: beacon last 65, beacon average 45, data last 39, data average 42 - NF info: beacon last -111, beacon average -91, data last -88, data average -91 - -get_txpwrlimit - This command is used to get the txpwrlimit table in FW -Usage: - mlanutl mlanX get_txpwrlimit [raw_data_file] - where - 0: Get 2.4G txpwrlimit table - 0x10: Get 5G sub0 txpwrlimit table - 0x11: Get 5G sub1 txpwrlimit table - 0x12: Get 5G sub2 txpwrlimit table - 0x13: Get 5G sub3 txpwrlimit table - 0x1f: Get all 5G txpwrlimit table - 0xff: Get both 2G and 5G txpwrlimit table - driver will save fw raw data to this file. - - Examples: - mlanutl mlan0 get_txpwrlimit 0 : Get 2G txpwrlimit table. - mlanutl mlan0 get_txpwrlimit 0x10 : Get 5G sub band0 txpwrlimit table - mlanutl mlan0 get_txpwrlimit 0xff txpwrlimit.bin : Get both 2G/5G txpwrlimit table and save to txpwrlimit.bin - -aggrpriotbl - This command is used set/get the priority table for AMPDU/AMSDU traffic per tid. - This command can also be used to disable AMPDU/AMSDU for a given tid. - In case of AMPDU this priority table will be used to setup block ack (to make - sure the highest priority tid always uses AMPDU as we have limited AMPDU streams) - - where ... - - - This is priority for Tid0 for AMPDU packet. A priority could be any - values between 0 - 7, 0xff to disable aggregation. - - This is priority for Tid0 for AMSDU packet. A priority could be any - values between 0 - 7, 0xff to disable aggregation. - - eg: - mlanutl mlanX aggrpriotbl - This command will get the current Priority table for AMPDU and AMSDU. - <2 2 0 0 1 1 3 3 4 4 5 5 255 255 255 255>. This is read as - <"Prio for AMPDU for Tid0" "Prio for AMSDU for Tid0" - "Prio for AMPDU for Tid1" "Prio for AMSDU for Tid1" and so on - mlanutl mlanX aggrpriotbl 2 2 0 0 1 1 3 3 4 4 5 5 255 255 255 255 - - This will set the priority table for AMPDU and AMSDU - Priority for Tid0/AMPDU = 2, Tid0/AMSDU = 2, Tid1/AMPDU = 0, Tid1/AMSDU = 0 - and so on. Aggregation for Tid6 and Tid7 are disabled. - Here higher the priority number, higher the priority (i.e. 7 - has higher priority than 6). Similarly for AMSDU. - mlanutl mlanX aggrpriotbl 0xff 2 0xff 0 0xff 1 0xff 3 0xff 4 0xff 5 0xff 0xff 0xff 0xff - This will disable - AMPDU for all the TIDs but will still keep AMSDU enabled to Tid0 to Tid5 - - The default setting is 2 255 0 255 1 255 3 255 4 255 5 255 255 255 255 255. - - A delBA should be seen in case a disable happens on a TID for which AMPDU stream - is currently setup. - - Note:- This command should only be issue in disconnected state. - -addbapara - This command can be used to update the default ADDBA parameters. - - where is - - This is the block ack timeout for ADDBA request. - 0 : Disable (recommended for throughput test) - 1 - 65535 : Block Ack Timeout in TU - - where is - - Window size for ADDBA request. (16 is recommended and default value) - - where is - - Window size for ADDBA response. (48 is recommended and 32 is default value) - (16 is recommended for IWNCOMM AP in WAPI throughput test) - - Current window size limit for Tx as well as Rx is 1023. - - where

is - - amsdu support for ADDBA request. (1 is default value) - 0: disable amsdu in ADDBA request - 1: enable amsdu in ADDBA request - - where is - - amsdu support for ADDBA response. (1 is default value) - 0: disable amsdu in ADDBA response - 1: enable amsdu in ADDBA response - - eg: - mlanutl mlanX addbapara - This command will get the current addba params - mlanutl mlanX addbapara 1000 64 8 0 0 - This will change the ADDBA timeout to (1000 * 1024) us, - txwinsize to 64 and rxwinsize to 8 and disable amdsu in ADDBA request/response. - - The default setting is 65535 16 32 1 1. - - In case the ADDBA timeout value is updated then a ADDBA is sent for all streams - to update the timeout value. - - In case txwinsize and/or rxwinsize is updated, the effect could only be seen on - next ADDBA request/response. The current streams will not be affected with this - change. - - In case of txamsdu/rxamsdu is updated, the effect could only be seen on - next ADDBA request/response. The current streams will not be affected with this - change. AMSDU in AMPDU stream will be enabled when AP support this feature - and AMSDU is enabled in aggrpriotbl. - -addbareject - This command is used set/get the addbareject table for all the TIDs. - This command can also be used to enable rejection of ADDBA requests for a given tid. - - where ... - - - This can be 0/1 for TidX. 1 enables rejection of ADDBA request for TidX and - 0 would accept any ADDBAs for TidX. - - eg: - mlanutl mlanX addbareject - This command will get the current table. - [0 0 0 0 0 0 0 0]. ADDBA would be accepted for all TIDs. This is the default state. - - mlanutl mlanX addbareject 0 0 1 1 0 0 0 0 - This command will accept ADDBA requests for - Tid [0,1,4,5,6,7] and reject ADDBA requests for Tid [2,3] - - mlanutl mlanX addbareject 1 1 1 1 1 1 1 1 - This will enable rejection of ADDBA requests for - all Tids. - - Note:- This command should only be issue in disconnected state. - -vhtcfg - This command is used to set and get various 11ac specific configuration - for transmission and reception. For the SET operation, all paramaters - may be applied. For the GET operation, only the first two parameters are applied. - The 6th argument "rx_mcs_set" can be used to disbale/enable 802.11ac. - - where is - - This is the band setting for the vhtcfg - 0: Settings for both 2.4G and 5G bands (for SET operation, 11N BW only) - 1: Settings for 2.4G band (for 11N BW only) - 2: Settings for 5G band - - where is - - This parameter specifies the configuration of VHT operation for TX or/and VHT capabilities - 0: Unspecified - 1: configuration of VHT capabilities for Tx operations (STA only) - 2: configuration of VHT capabilities for association (STA only) - 3: configuration of VHT capabilities (uAP only) - Note: For the STA, the VHT capabilities configuration is applied in association, - whereas the VHT operations configuration is actually used in Tx. - - where [l] is - - This parameter specifies the bandwidth (BW) configuration - applied to the vhtcfg. - If is 1/3 (Tx operations), - 0: Tx BW follows the BW (20/40 MHz) from 11N CFG - 1: Tx BW follows the BW (80/160/80+80 MHz) from VHT Capabilities - defined in below for 5G band. - If is 2 (association), - 0: Rx BW follows the BW (20/40 MHz) from 11N CFG - 1: Rx BW follows the BW (80/160/80+80 MHz) from VHT Capabilities - defined in below for 5G band. - - where [m] is - - This parameter specifies the VHT capabilities info if is 2 (association) - or the VHT Tx operations if is 1 (Tx operations). - The VHT Tx operation should be a subset of VHT capabilities for association. - It is a bitmap and should be used as follows: - - Bit 31-30: Reserved and set to 0 - Bit 29: TX antenna pattern consistency - 1: antenna pattern does not change - 0: antenna pattern might change - Bit 28: RX antenna pattern consistency - 1: antenna pattern does not change - 0: antenna pattern might change - Bit 27-26: VHT link adaptation capable - 0: no feedback of VHT MFB from the STA - 1: unsolicted feedback of VHT MFB from the STA - 2: both response and unsolicted feedback of VHT MFB - from the STA - 3: reserved and set to 0 - Bit 25-23: Maximum A-MPDU length exponent - Bit 22: +HTC-VHT capable (1: enable. 0 disable) - Bit 21: VHT TXOP PS - Bit 20: MU beamformee capable (1: enable. 0 disable) - Bit 19: MU beamformer capable (1: enable. 0 disable) - Bit 18-16: Number of sounding dimensions (set to maximum-1 - if Bit 11 is 1. Otherwise, reserved and set to 0) - Bit 15-13: Compressed steering number of beamformer - antennas supported (set to maximum-1 if Bit 12 is 1. - Otherwise, reserved and set to 0) - Bit 12: SU beamformee capable (1: enable. 0 disable) - Bit 11: SU beamformer capable (1: enable. 0 disable) - Bit 10-8: Rx STBC - 0: no support - 1: support of 1 spatial stream - 2: support of 1-2 streams - 3: support of 1-3 spatial streams - 4: support of 1-4 spatial streams - 5-7: reserved and set to 0 - Bit 7: TX STBC (1: enable. 0 disable) - Bit 6: Short GI for 160 and 80+80 MHz (1: enable. 0 disable) - Bit 5: Short GI for 80 MHz (1: enable. 0 disable) - Bit 4: Rx LDPC (1: enable. 0 disable) - Bit 3-2: Supported channel width set. - 0: no support of either 160 or 80+80 MHz. - 1: support of 160 MHz - 2: support of both 160 and 80+80 MHz. - 3: reserved and set to 0. - Bit 1-0: Maximum MPDU length - 0: 3895 octets. - 1: 7991 octets. - 2: 11454 octets. - 3: reserved and set to 0. - - Note: for the STA, if is 1 (Tx operations), the bitmap for may be simplied as follows: - Bit 31-8: Reserved and set to 0 - Bit 7: Tx STBC (1: enable. 0 disable) - Bit 6: Reserved and set to 0 - Bit 5: Short GI for 80 Mhz (1: enable. 0 disable) - Bit 4: LDPC (1: enable. 0 disable) - Bit 3-0: Reserved and set to 0 - - where [n] is , - - This parameter specifies the TX MCS map. It may not be used for the STA if is 1 (Tx operations). - It is a bitmap and should be used as following - Bit 15-0: MCS map, which is defined as folows: - Bit 15-14: Max MCS for 8 SS - Bit 13-12: Max MCS for 7 SS - Bit 11-10: Max MCS for 6 SS - Bit 9-8: Max MCS for 5 SS - Bit 7-6: Max MCS for 4 SS - Bit 5-4: Max MCS for 3 SS - Bit 3-2: Max MCS for 2 SS - Bit 1-0: Max MCS for 1 SS - - where [o] is . - - This parameter specifies the RX MCS map. It may not be used for the STA if is 1 (Tx operations). - It is a bitmap with the same sructure as for - rx_mcs_map = 0xffff : FW will disable 802.11ac - rx_mcs_map = others : FW will enable 802.11ac - - Note: The user setting of vhtcap may be overwritten by the driver - if the setting of those fields is beyond the hardware capabilities. - - Examples: - mlanutl mlan0 vhtcfg 2 1 : Get current VHT configuration in 5GHz for the STA. - mlanutl mlan0 vhtcfg 2 2 : Get maximum VHT configuration in 5GHz for the STA. - mlanutl mlan0 vhtcfg 2 1 1 0x000001f0 - : Set the Tx operations configuration in 5GHz for the STA, - Tx BW follows the VHT Capabilities. - mlanutl mlan0 vhtcfg 2 2 0 0x000001f0 0xfff5 0xfffa - : Set the VHT capabilities configuration in 5GHz for the STA, - the Tx supports MCS 0-8 for both 1 and 2 spatial streams, - while the Rx supports MCS 0-9 for both 1 and 2 spatial streams. - mlanutl uap0 vhtcfg 2 3 0 0x000001f0 0xfffa 0xfffa - : Set the current/maximum VHT configuration in 5GHz for the uAP. - Both Tx and Rx supports MCS 0-9 for both 1 and 2 spatial streams. - mlanutl uap0 vhtcfg 2 3 0 0x000001b0 - : Set the VHT capability information in 5GHz for the uAP, and keep the Tx/Rx MCS Map same as before. - -dyn_bw - This command is used to set/get dynamic bandwidth. - - Usage: - mlanutl mlanX dyn_bw [n] - - where - [BIT0] - 0 = TxInfo Indicated BW Disable - 1 = TxInfo Indicated BW Enable - [BIT1] - 0 = TxInfo Dynamatic BW Disable - 1 = TxInfo Dynamatic BW Enable - [BIT2] - 0 = TxInfo Force send RTS Disable - 1 = TxInfo Force send RTS Enable - [BIT3] - 0 = Mac Dynamic BW Operation Mode Disable (Static BW Operation Mode) - 1 = Mac Dynamic BW Operation Mode Enable - other bits reserved. - - If no parameter provided, get is performed. - - Examples: - mlanutl mlan0 dyn_bw 0x1 : Enable TxInfo Indicated BW - mlanutl mlan0 dyn_bw : get current setting - -httxcfg - This command is used to configure various 11n specific configuration - for transmit (such as Short GI, Channel BW and Green field support) - - where is - This is a bitmap and should be used as following - Bit 15-8: Reserved set to 0 - Bit 7: STBC enable/disable - Bit 6: Short GI in 40 Mhz enable/disable - Bit 5: Short GI in 20 Mhz enable/disable - Bit 4: Green field enable/disable - Bit 3-2: Reserved set to 1 - Bit 1: 20/40 Mhz enable disable. - Bit 0: LDPC enable/disable - - When Bit 1 is set then firmware could transmit in 20Mhz or 40Mhz based - on rate adaptation. When this bit is reset then firmware will only - transmit in 20Mhz. - - where is - - This is the band info for settings. - 0: Settings for both 2.4G and 5G bands - 1: Settings for 2.4G band - 2: Settings for 5G band - - Example: - mlanutl mlanX httxcfg - This will display HT Tx configuration for 2.4G and 5G band. - - mlanutl mlanX httxcfg 0x62 - This will enable 20/40 and Short GI but will disable Green field for 2.4G and 5G band. - - mlanutl mlanX httxcfg 0x30 1 - This will enable Short GI 20 Mhz and Green field for 2.4G band. - - The default value is 0x20 for 2.4G and 0x62 for 5G. - - Note:- If 20/40 MHz support is disabled in htcapinfo, device will not transmit - in 40 MHz even 20/40 MHz is enabled in httxcfg. - -htcapinfo - This command is used to configure some of parameters in HTCapInfo IE - (such as Short GI, Channel BW, and Green field support) - - where is - - This is a bitmap and should be used as following - Bit 29: Green field enable/disable - Bit 26: Rx STBC Support enable/disable. (As we support - single spatial stream only 1 bit is used for Rx STBC) - Bit 25: Tx STBC support enable/disable. - Bit 24: Short GI in 40 Mhz enable/disable - Bit 23: Short GI in 20 Mhz enable/disable - Bit 22: Rx LDPC enable/disable - Bit 17: 20/40 Mhz enable disable. - Bit 8: Enable/disable 40Mhz Intolarent bit in ht capinfo. - 0 will reset this bit and 1 will set this bit in - htcapinfo attached in assoc request. - All others are reserved and should be set to 0. - - Setting of any other bits will return error. - - where is - - This is the band info for settings. - 0: Settings for both 2.4G and 5G bands - 1: Settings for 2.4G band - 2: Settings for 5G band - - Example: - mlanutl mlanX htcapinfo - This will display HT capabilties information. - If the information for 2.4G and 5G is different, - the first value is for 2.4G and the second value is for 5G. - Otherwise, it will display a single value for both bands. - - mlanutl mlanX htcapinfo 0x1820000 - This will enable Short GI, Channel BW to 20/40 and disable Green field support for 2.4G and 5G band. - - mlanutl mlanX htcapinfo 0x800000 2 - This will enable Short GI, Channel BW to 20 only, No Rx STBC support and disable Green field support for 5G band. - - The default value is 0x4800000 for 2.4G and 0x5820000 for 5G. - - Note:- This command can be issued any time but it will only come to effect from - next association. (as HTCapInfo is sent only during Association). - -11axcfg - This command is used to config 11ax HE capability using conf file. - - Usage: - mlanutl mlanX 11axcfg [conf file] - - Example: - mlanutl mlan0 11axcfg config/11axcfg.conf - mlanutl uap0 11axcfg config/11axcfg.conf - -11axcmd - This command is used to config 11ax HE capability using command. - - Usage: - mlanutl 11axcmd [value_1] [value_2] [value_3] - : spatial reuse configuration - set obss_pd offset, [value_1] = NON_SRG_OffSET, [value_2] = SRG_OFFSET - - : spatial reuse configuration - control SR, [value_1]= 1 is enable SR, [value_1] = 0 is disable SR - - : enable/disable beam change - enable beam_change when [value_1 = 0] - disable beam_change when [value_1 = 1] - - : enable/disable HTC transmission - enable transmission of HTC when [value_1 = 1] - disable transmission of HTC when [value_1 = 0] - - : set/get RTS threshold - This subcmd applies to uapX only. uAP uses it to manage the RTS/CTS used by associated non-AP HE STA - set TXOP duration RTS Threshold when [value_1 = ]. If = 1023, disable TXOP duration RTS - get TXOP duration RTS Threshold without value_1 and value_2 - Where is: - Bit 0-9: TXOP RTS Threshold - : set/get omi value - used for OMI transmission in MAC header HTC+ field, please see 11ax spec for OMI definition - set OMI: [value_1 = ] [value_2 = ] [value_3 = ] - where - is defined as: - Bit 0-2: Rx NSS - Bit 3-4: Channel Width - Bit 6 : Tx NSTS (applies to client mode only) - All other bits are not supported currently. - is defined as: - 0: OMI is transmitted in QoS NULL frame; - 1: OMI is transmitted in QoS data frame; - 0xFF: OMI is transmitted in both QoS NULL and QoS data frame. - is applied only if OMI is sent in QoS data frame. - It specifies the number of consecutive data frames containing the OMI. - - get OMI without any value - - : set/get OBSS narrow band RU tolerance time value in seconds - set tolerance time when [value_1 =

[value] - - where the parameters are, -
: memory address - [value]: value to be written - - Examples: - mlanutl mlan0 memrdwr 0x4cf70 : Read memory address 0x4cf70 - mlanutl mlan0 memrdwr 0x80000000 0xffffffff - : Write 0xffffffff to memory address 0x80000000 - -miracastcfg - This command is used to set/get the miracast configuration. - - Usage: - mlanutl mlanX miracastcfg [l] [m] [n] - - where the parameters are, - [l]: miracast mode - 0: Disable - 1: Source - 2: Sink - [m]: scan time per channel, in ms - [n]: gap during two scans, in ms - - Examples: - mlanutl mlan0 miracastcfg : Get miracast configuration - mlanutl mlan0 miracastcfg 0 : Disable miracast configuration - mlanutl mlan0 miracastcfg 1 20 40 : Set miracast mode as source, with scan time - 20ms per channel and gap during two scans 40ms - -mgmtframectrl - This command is used to set/get registered frame type to passthrough. - - Usage: - mlanutl mlanX mgmtframectrl [] - mlanutl uapX mgmtframectrl [] - - Where the parameter is: - : the bit mask of management frame reception. - : Bit 0 - Association Request - : Bit 1 - Association Response - : Bit 2 - Re-Association Request - : Bit 3 - Re-Association Response - : Bit 4 - Probe Request - : Bit 5 - Probe Response - : Bit 8 - Beacon Frames - : Bit 13 - Action Frames - - Examples: - mlanutl mlan0 mgmtframectrl : Get present mask - mlanutl mlan0 mgmtframectrl 0x0020 : Bit 5 is set, Forward probe response frames to application layer - -mgmtframetx - This command is used to send management frame. - - Usage: - mlanutl mlanX mgmtframetx - - Where the parameter is: - mgmt_frame.conf : The configuration file contains the management frame. - - Examples: - mlanutl mlan0 mgmtframetx config/mgmt_frame.conf - -mpactrl - This command is used to set/get the Tx, Rx SDIO aggregation parameters. - Note: The parameters can be set only in disconnected state. - - Usage: - mlanutl mlanX mpactrl [tx_ena] [rx_ena] [tx_size] [rx_size] [tx_ports] [rx_ports] - - where the parameter are: - [tx_ena]: Enable/disable (1/0) Tx MP-A - [rx_ena]: Enable/disable (1/0) Rx MP-A - [tx_size]: Size of Tx MP-A buffer - [rx_size]: Size of Rx MP-A buffer - [tx_ports]: Max ports (1-16) for Tx MP-A - [rx_ports]: Max ports (1-16) for Rx MP-A - default values are 1 1 16384 32768 16 16 - The MP-A may be disabled by default at build time if the MMC driver byte mode patch - is not available in kernel. - - Examples: - mlanutl mlan0 mpactrl : Get MP aggregation parameters - mlanutl mlan0 mpactrl 0 0 - : Disable MP aggregation for Tx, Rx respectively - mlanutl mlan0 mpactrl 1 1 8192 8192 8 8 - : Enable MP aggregation for Tx, Rx - : Set Tx, Rx buffer size to 8192 bytes - : Set maximum Tx, Rx ports to 8 - -netmon - This command is used to set/get network monitor configuration. - Note: For channel specified mode, the configuration should be issued when - STA/AP is disconnected. For in-channel sniffer mode, the configuration - can be issued irrespective of the STA/AP connected state, and requires - specification of only action and filter parameters. If any of the STA/AP - connection is active, the in-channel sniffer mode will inherently work - on the active band and channel configuration. - - Usage: - mlanutl netmon [ [ ]] - - Where the parameters are: - : mlanX - : (0) disable any network monitor activity - : (1) enable channel specified sniffer mode activity - : network monitor fitler flag - bit 0: (1/0) enable/disable management frame - bit 1: (1/0) enable/disable control frame - bit 2: (1/0) enable/disable data frame - : 802.11 band - bit 0: B - bit 1: G - bit 2: A - bit 3: GN - bit 4: AN - bit 5: AC 2.4G - bit 6: AC 5G - : channel to monitor - : [offset] - [offset] : secondary channel bandwidth - 0 - Bandwidth 20Mhz - 1 - HT Bandwidth 40Mhz sec channel above - 3 - HT Bandwidth 40Mhz sec channel below - 4 - VHT Bandwidth 80Mhz - - Examples: - mlanutl mlan0 netmon : Get the current network monitor configuration - mlanutl mlan0 netmon 0 : Disable network monitor activity - mlanutl mlan0 netmon 1 4 11 6 : Enable channel specified sniffer activity, set filter - data frame, band B/G/GN and channel 6 - mlanutl mlan0 netmon 1 7 20 64 1 : Enable channel specified sniffer activity, set filter - management, control and data frame, band A/AN, - channel 64 and secondary channel above - -offchannel - This command is used to set/cancel the offchannel configuration. - Note: This command only can be used when cfg80211 is enabled during load time. - - Usage: - mlanutl mlanX offchannel [ ] - - where - - 0 : Cancel the offchannel configuration - 1 : Set the offchannel configuration - - The channel to configure - - The duration for which to configure - : channel bandwidth - 0 - Bandwidth 20Mhz - 1 - HT Bandwidth 40Mhz sec channel above - 3 - HT Bandwidth 40Mhz sec channel below - 4 - VHT Bandwidth 80Mhz - - Examples: - mlanutl mlan0 offchannel : Get current offchannel status. - mlanutl mlan0 offchannel 0 : Cancel the offchannel configuration. - mlanutl mlan0 offchannel 1 3 5 : Configure channel 3 for 5 milliseconds. - mlanutl mlan0 offchannel 1 36 5000 : Configure channel 36 for 5000 milliseconds. - mlanutl mlan0 offchannel 1 64 500 4 : Configure channel 64 in 80MHz for 500 milliseconds. - -otpuserdata - This command is used to get the OTP user data. - - Where - is - - This parameter specifies the length of OTP user data to be read - - Examples: - mlanutl mlan0 otpuserdata 10 : Get the 10-byte OTP user data - -passphrase - This command is used to set/get passphrase for WPA-PSK/WPA2-PSK/WPA3-SAE mode.// use of WPA/TKIP is not recommended anymore - - Where - ASCII string for ssid/passphrase/psk/sae_password. - - Setting psk for WPA3 SAE protocol is not possible, as new psk gets generated - everytime in protocol flow. - - 1) "0;" - This will get the passphrase, AKMP - for specified ssid, if none specified then it will get all. - - Example: - mlanutl mlan0 passphrase "0;ssid=nxp" - - 2) "1;; - " - Passphrase and psk cannot be provided for the same SSID. - This command takes only one SSID at a time, If ssid= is present it should contain - a passphrase or psk. If no arguments are provided then AKMP=802.1x, and passphrase - should be provided after association. - End of each parameter should be followed by a ';'(except for the last parameter) - as the delimiter. If ';' or '/' has to be used in an SSID then a '/' should be preceded - to ';' or '/' as a escape. - - Examples: - mlanutl mlan0 passphrase "1;ssid=nxpAP;passphrase=abcdefgd" - mlanutl mlan0 passphrase "1;ssid=nxp AP;psk=<64 bytes hexpsk>" - - If user wants to input the ssid as "nxp; AP" then command has to be - mlanutl mlan0 passphrase "1;ssid=nxp/; AP;passphrase=abcdefgh" - - If user wants to input the ssid as "//;" then command has to be - mlanutl mlan0 passphrase "1;ssid=/////;;passphrase=abcdefgh" - - 3) "2;" - This will clear the passphrase - for specified ssid, if none specified then it will clear all. - - Examples: - mlanutl mlan0 passphrase "2;ssid=nxp" - mlanutl mlan0 passphrase "2" : Clear all profiles and disable embedded supplicant - - 4)"1;ssid=;sae_password=" This will set WPA3 SAE ssid & password. sae_password should be within the range of 8 to 255 char. - Examples: - mlanutl mlan0 passphrase "1;ssid=nxp;sae_password=1234567890" - -pb_bypass - This command is used to get the By-passed TX packet from upper layer. - - Usage: - - mlanutl mlanX pb_bypass [data_1, data_2, ... data_n] - - where value of data_1, data_2, ... data_n isBypass TX Data - -pcieregrw - This command is used to read/write PCIE register. - - Usage: - mlanutl mlanX pcieregrw [value] - - where the parameters are, - : The offset of PCIE register - [value]: The value to write - - Examples: - mlanutl mlan0 pcieregrw 0x48 : Read PCIE register 0x48 - mlanutl mlan0 pcieregrw 0x44 8 : Write 8 to PCIE register 0x44 - -pciebar0regrw - This command is used to read/write PCIE register/memory from BAR0. - - Usage: - mlanutl mlanX pciebar0regrw [value] - - where the parameters are, - : The offset of PCIE register - [value]: The value to write - - Examples: - mlanutl mlan0 pciebar0regrw 0x48 : Read PCIE register 0x48 - mlanutl mlan0 pciebar0regrw 0x44 8 : Write 8 to PCIE register 0x44 - -pmfcfg - This command is used to set/get management frame protection parameters. - - Usage: - mlanutl mlanX pmfcfg - - where - : Management Frame Protection Capable (MFPC) - 1: Management Frame Protection Capable - 0: Management Frame Protection not Capable - : Management Frame Protection Required (MFPR) - 1: Management Frame Protection Required - 0: Management Frame Protection Optional - Default setting is PMF not capable. - m = 0, n = 1 is an invalid combination - - Examples: - mlanutl mlan0 pmfcfg : Get PMF parameters - mlanutl mlan0 pmfcfg 1 0 : Set MFPC and make MFPR optional - -port_ctrl - This command is used to Set/Get Port Control mode. No argument is used to get. - - where value of n is: - 0 -- Disable - 1 -- Enable - - Examples: - mlanutl mlan0 port_ctrl 1 : Enable Port Control mode - mlanutl mlan0 port_ctrl : Get Port Control mode status - -powercons - This command is used to set the local transmit power constraint. - Value is in dbm unit. This command is only used for ad-hoc start. - - Usage: - mlanutl mlanX powercons [n] - - Examples: - mlanutl mlanX powercons : get the current setting - mlanutl mlanX powercons 12 : set local power constraint to 12 dbm - -pscfg - This command is used to set/get PS configuration parameters. - - Usage: - mlanutl mlanX pscfg [k] [d] [l] ... - - Where the parameters: - [k]: Keep alive null packet interval (0: Unchanged, -1: Disable, n: Interval in seconds) - [d]: DTIM interval ( 0: Unchanged, - 1-5: Value, - 65534: DTIM will be ignored, listen interval will be used, - 65533: Closest DTIM to the listen interval period will be used ) - [l]: Local listen interval ( 0: Unchanged, - -1: Disable, - 1-49: Value in beacon intervals, - >= 50: Value in TUs ) - [b]: Beacon miss timeout (0: Unchanged, 1-50: Value in milliseconds, 65535: Disable) - [p]: Delay to PS (0-65535: Value in milliseconds, default 1000ms) - [m]: PS mode (0: Unchanged, 1: Auto mode, 2: PS-Poll mode, 3: PS Null mode) - No change if parameters are not provided. - - Examples: - mlanutl mlan0 pscfg : Get all the current PS configuration settings - mlanutl mlan0 pscfg 3 4 : Set PS keep alive null packet interval to 3 seconds - and DTIM interval to 4, all the other configurations - are unchanged - mlanutl mlan0 pscfg 0 0 0 0 50 2 : Set delay to PS to 50 ms and PS mode to PS-Poll mode, - keep the others unchanged - -bcntimeoutcfg - This command is used to set Beacon timeout parameters. - - Usage: - mlanutl mlanX bcntimeoutcfg [l] [m] [o] [p] - - Where the parameters: - [l]: Beacon miss timeout period Rx window (in ms) - [m]: Beacon miss timeout period (unit in beacon interval) - [o]: Beacon reacquire timeout period Rx window (unit in beacon interval) - [p]: Beacon reacquire timeout period (unit in beacon interval) - Please note that it would be better [m]+[p] not exceed 64. - Examples: - mlanutl mlan0 bcntimeoutcfg 10 30 2 30 : Set beacon timeout configure to - Beacon miss timeout period Rx window : 10 (ms) - Beacon miss timeout period : 30 (Beacon Interval) - Beacon reacquire timeout period Rx window : 2 (Beacon Interval) - Beacon reacquire timeout period : 30 (Beacon Interval) - -psmode - This command is used to set/get the IEEE PS mode configuration. - - Usage: - mlanutl mlanX psmode [l] - - where the parameter: - [l] - 0 : Disable IEEE PS mode - 1 : Enable IEEE PS mode - : Get IEEE PS mode - - Examples: - mlanutl mlan0 psmode : Get IEEE PS mode. - mlanutl mlan0 psmode 1 : Enable IEEE PS mode. - -qconfig - Send a WMM AC Queue configuration command to get/set/default params - - Configure or get the parameters of a WMM AC queue. The command takes - an optional Queue Id as a last parameter. Without the queue id, all - queues will be acted upon. - - Usage: - mlanutl mlanX qconfig def [Queue Id: 0-3] - mlanutl mlanX qconfig get [Queue Id: 0-3] - mlanutl mlanX qconfig set msdu [Queue Id: 0-3] - -qoscfg - This command sets WMM IE QOS info when an argument is given, and gets current WMM - IE QOS info when no argument is given. - - Examples: - mlanutl mlanX qoscfg 0x0f : Set WMM IE QOS info to 0x0f - mlanutl mlanX qoscfg : Get WMM IE QOS info - -qstatus - This command retrieves the current status of the WMM queues. If WMM - is enabled then it displays the information for each AC in a table. - - Usage: - mlanutl mlanX qstatus - -radioctrl - This command is used to turn on/off the radio. - Note: The radio can be disabled only in disconnected state. - - where value of n is: - 0 -- Disable - 1 -- Enable - - Examples: - mlanutl mlan0 radioctrl 1 : Turn the radio on - mlanutl mlan0 radioctrl : Get radio status - -rdeeprom - This command is used to read the EEPROM contents of the card. - - Usage: - mlanutl mlanX rdeeprom - - where the parameters are, - : multiples of 4 - : 4-20, multiples of 4 - - Example: - mlanutl mlan0 rdeeprom 0 20 : Read 20 bytes of EEPROM data from offset 0 - -reassoctrl - This command is used to turn on/off re-association in driver. - - Usage: - mlanutl mlanX reassoctrl [n] - - Where value of n is: - 0 -- Disable - 1 -- Enable - - Examples: - mlanutl mlan0 reassoctrl : Get re-association status - mlanutl mlan0 reassoctrl 1 : Turn re-association on - -regioncode - This command is used to set/get the region code in the station. - Note: This command should be issued at beginning before band/channel selection - and association. - - where value is 'region code' for various regions like - USA FCC, Canada IC, Europe ETSI, Japan ... - The special code (0xff) is used for Japan to support channel 1-14 in B/G/N mode. - - Examples: - mlanutl mlan0 regioncode : Get region code - mlanutl mlan0 regioncode 0x10 : Set region code to USA (0x10) - Note : in some case regioncode will be 0 after updated countycode or 80211d - i.e. mlanutl mlanX countrycode (CA, JP, CN, DE, ES AT, BR, RU) - or uaputl.exe sys_cfg_80211d state 1 country (CA, JP, CN, DE, ES AT, BR, RU) - Please use cfp instead of it. - -regrdwr - This command is used to read/write the adapter register. - - Usage: - mlanutl mlanX regrdwr [value] - - where the parameters are, - : 1:MAC, 2:BBP, 3:RF, 5:CAU, 6:PSU, 7:BCA, 8:CIU, 0x81:MAC2, 0x82:BBP2, 0x83: RF2, 0x87: BCA2 - : 1:MAC, 2:BBP, 3:RF, 5:CAU, 6:PSU, 7:BCA, 8:CIU - : 1:MAC/SOC, 2:BBP, 3:RF, 5:CAU, 6:PSU, 7:BCA - : offset of register - [value]: value to be written - Note: - BBP reg (type 2) 0xXZZZ: - X: 0=BBUD, 8=BBUA. - ZZZ: offset (0-0xFFF). - RF reg (type 3) 0xXYZZ: - - For 8887/8897/8777 - 1. If Y == 0, access RFU BASE Register. - X = Path ID (0=Path_A, 1=Path_B), ZZ = offset (0-0xFF). - 2. If Y != 0, access RFU XCVR Register on Path Y (1=Path_A, 2=Path_B). - X = Page # (0=Page_1, 1=Page_2, 2=Page_3 if chip support), ZZ: offset (0-0xFF). - For 8977/8997/8987 - X = Path ID (0-1) - Y = Page Number (0-6) in selected Path - ZZ = Register offset in selected path/page - - Examples: - mlanutl mlan0 regrdwr 1 0x60 : Read the MAC register - mlanutl mlan0 regrdwr 1 0x794 0x80000000 : Write 0x80000000 to MAC register - mlanutl mlan0 regrdwr 0x81 0x60 :Read MAC2 register - -rejectaddbareq - This command is used to set/get the conditions of rejecting addba request. - - Usage: - mlanutl mlanX rejectaddbareq [conditions] - mlanutl uapX rejectaddbareq [conditions] - - Where conditions are: - bit 0 = 1 -- reject the addba request when host sleep activated - bit 1 = 1 -- reject the addba request when FW auto re-connect enabled - this bit is only used with STA BSS - others -- reserved - - Examples: - mlanutl mlan0 rejectaddbareq : Get the reject addba request conditions - mlanutl mlan0 rejectaddbareq 0x1 : Reject the addba request - when host sleep activated - mlanutl mlan0 rejectaddbareq 0x2 : Reject the addba request - when FW auto re-connect enabled - mlanutl mlan0 rejectaddbareq 0x3 : Reject the addba request when - host sleep activated or - FW auto re-connect enabled - mlanutl uap0 rejectaddbareq 0x1 : Reject the addba request - when host sleep activated - -scancfg - This command is used to set/get scan configuration parameters. - - Usage: - mlanutl mlanX scancfg [t] [m] [p] [s] [a] [b] [c] [ext] [gap] - - where the parameters: - [t]: Scan Type (0: Unchanged, 1: Active, 2: Passive, default Active) - [m]: Scan Mode (0: Unchanged, 1: BSS, 2: IBSS, 3: Any, default Any) - [p]: Scan Probes (0: Unchanged, 1-5: Number of probes per channel, default 4) - [s]: Specific Scan Time (0: Unchanged, n: Value in ms, default 110 ms, max 500 ms) - [a]: Active Scan Time (0: Unchanged, n: Value in ms, default 200 ms, max 500 ms) - [b]: Passive Scan Time (0: Unchanged, n: Value in ms, default 200 ms, max 2000 ms) - [c]: Passive to Active Scan (0: Unchanged, 1: Enable, 2: Disable, default Enable) - [ext]: Extended scan (0: Unchanged, 1: Legacy scan, 2: Extended scan, 3: Extended scan enhance) - [gap]: Time gap between two scans in milliseconds (max value 500ms) - No change if the parameter is 0 or the parameter is not provided. - - Examples: - mlanutl mlan0 scancfg : Get all the current scan configuration settings - mlanutl mlan0 scancfg 1 3 : Set scan type to active and scan mode to any, - all the other scan configurations are unchanged - mlanutl mlan0 scancfg 0 1 2 200 : Set scan mode to BSS, number of probes to 2 and - specific scan time to 200 ms, all the other scan - configurations are unchanged - mlanutl mlan0 scancfg 0 0 0 0 0 0 1 : Set Passive to Active Scan to enable, all the - other scan configurations are unchanged - mlanutl mlan0 scancfg 2 0 0 0 0 0 2 : Set scan type to passive, Passive to Active - Scan to disable, all the other scan configurations - are unchanged - -sdcmd52rw - This command is used to read/write a controller register in - Secure Digital I/O Interfaces. - - Usage: - mlanutl mlanX sdcmd52rw [value] - - For SDIO MMC driver, only function 0 and 1 access is allowed. And there - is a limitation for function 0 write, only vendor specific CCCR registers - (0xf0 -0xff) are permiited. - - Examples: - mlanutl mlan0 sdcmd52rw 1 3 : Read SDIO function 1 register 3 - mlanutl mlan0 sdcmd52rw 1 1 0x3f : Write 0x3f to SDIO function 1 register 1 - -sdcmd53rw - This command is used to issue a CMD53 read/write data in - Secure Digital I/O Interfaces. - - Usage: - mlanutl mlanX sdcmd53rw
[data1] ... [dataN] - - where the parameters are, - : function number (0/1/2/..) -
: data address - : byte mode/block mode (0/1) - : block size (32/64/../512, NA for byte mode) - : block number or byte number - ... : data for write - - Note: The total data length is block size * block number for block mode - or byte number for byte mode. The max data length is 2000-byte. - For write the data pattern will be duplicated to data buffer. - - Examples: - mlanutl mlan0 sdcmd53rw 0 0x8000 1 0x40 2 - mlanutl mlan0 sdcmd53rw 1 0x10000 0 1 5 0x0a 0x0b 0x0c 0x0d 0x0e - -sdioclock - Turn On(1) or Off(0) the SDIO clock. - - Usage: - mlanutl mlanX sdioclock 1 (on) - mlanutl mlanX sdioclock 0 (off) - mlanutl mlanX sdioclock (get the current clock state) - - -setuserscan - Initiate a customized scan and retrieve the results - - Usage: - mlanutl mlanX setuserscan [ARGS] - - Where [ARGS]: - ssid="[SSID]" specify a SSID filter for the scan - group= specify the channel group(s) to scan - chan=[chan#][band][mode] where band is [a,b,g,e] and mode is - blank for unchange, or 'c' for active or 'p' for passive - bssid=xx:xx:xx:xx:xx:xx specify a BSSID filter for the scan - wc="[WILDCARD SSID]" specify a UNIX pattern matching filter (using * - and ?) for SSIDs found in a broadcast probe - keep=[0 or 1] keep the previous scan results (1), discard (0) - dur=[scan time] time to scan for each channel in milliseconds - gap=[gap time] Time gap between two scans in milliseconds - probes=[#] number of probe requests to send on each chan - for each broadcast probe required and each SSID - specific probe required (1-5) - bss_type=[1,2,3] BSS type: 1 (Infra), 2(Adhoc), 3(Any) - sort_by_ch Sort by channel number in ascending order. - Default mode: Sort by Signal Strength in descending order. - scan_type=[0,1] ext scan type (0-1) 0: legacy, 1: enhance scan - - Any combination of the above arguments can be supplied on the command line. - If the chan token is absent, a full channel scan will be completed by driver. - If the dur or probes tokens are absent, the driver default setting will be - used. The bssid and ssid fields, if blank, will produce an unfiltered scan. - It's allowed to input multiple ssid/wc entries, the max entry number is 10. - The type field will default to 3 (Any) and the keep field will default to 0 - (Discard). - - Examples: - 1) Perform an active scan on channels 1, 6, and 11 in the 'g' band: - setuserscan chan=1g,6g,11g - - 2) Perform a passive scan on channel 11 for 20 ms: - setuserscan chan=11gp dur=20 - - 3) Perform an active scan on channels 1, 6, and 11; and a passive scan on - channel 36 in the 'a' band: - setuserscan chan=1g,6g,11g,36ap - - 4) Perform an active scan on channel 6 and 36 for specific SSID: - setuserscan chan=6g,36a ssid=TestAP1 ssid=TestAP2 - - 5) Scan all available channels (B/G/N, A bands) for a specific BSSID, keep - the current scan table intact, update existing or append new scan data: - setuserscan bssid=00:50:43:20:12:82 keep=1 - - 6) Scan channel 6, for all infrastructure networks, sending two probe - requests. Keep the previous scan table intact. Update any duplicate - BSSID/SSID matches with the new scan data: - setuserscan chan=6g bss_type=1 probes=2 keep=1 - - 7) Scan channel 1 and 6, for all networks matching the NXP*AP - or AP*NXP? patterns and for NXPTst SSID. Generate 3 broadcast - probes for the patterns and 3 SSID specific probes for NXPTst on - both channel 1 and channel 6. - setuserscan chan=1g,6g probes=3 wc="NXP*AP" wc="AP*NXP?" ssid="NXPTst" - - 8) Scan all the channels for specified band. - setuserscan chan=0g - 9) Perform active scan for a list of specific BSSIDs - setuserscan bssid=00:50:43:20:12:82 bssid=48:e2:44:3f:ec:76 - - 9) Scan channel 1 and 6, send 3 probe requests, scan each channel for 40 ms - with time gap of 50ms between 2 scans - setuserscan chan=1g,6g probes=3 dur=40 gap=50 - - 10) Perform an enhance scan - setuserscan scan_type=1 - - All entries in the scan table (not just the new scan data when keep=1) - will be displayed upon completion by use of the getscantable ioctl. -cancelscan - This command is used to cancel scan - Usage: - mlanutl mlanX cancelscan -sleepparams - This command is used to set the sleepclock configurations - - Usage: - mlanutl mlanX sleepparams [ ] - - where: - p1 is Sleep clock error in ppm (0-65535) - p2 is Wakeup offset in usec (0-65535) - p3 is Clock stabilization time in usec (0-65535) - p4 is Control periodic calibration (0-2) - p5 is Control the use of external sleep clock (0-2) - p6 is reserved for debug (0-65535) - - Examples: - mlanutl mlan0 sleepparams : Get current sleepclock configuration - mlanutl mlan0 sleepparams 10 1000 2000 1 0 128 : Set sleepclock configuration - -sleeppd - This command is used to configure the sleep period of the WLAN device. - - Usage: - mlanutl mlanX sleeppd [] - - Where the parameter is: - period: sleep period in milliseconds. Range 10~60. 0 for disable. - - Examples: - mlanutl mlan0 sleeppd : Get sleep period configuration - mlanutl mlan0 sleeppd 10 : Set sleep period to 10 ms - -sysclock - This command is used to set/get system clocks in MHz. - The current system clock, configurable system clocks and all of the - supported system clocks will be returned if no parameter provided. - - Examples: - mlanutl mlan0 sysclock : Get system clocks - 80 80 128 128 128 5 11 16 20 22 32 40 44 64 80 106 128 160 ... - (The current system clock is 80 MHz. - The configurable system clocks of non-security, security, non-security - A-MPDU and security A-MPDU are 80 MHz, 128 MHz, 128 MHz and 128 MHz. - The supported system clocks are 5 MHz, 11 MHz, ..., 160 MHz, 182 MHz, - 213 MHz, 256 MHz, 320 Mhz, 366 MHz , ... . the Max system clocks is different - for different chips, you could use this command to get the supported system clock) - - mlanutl mlanX sysclock 80 : Set system clock in non-security mode - to 80 MHz, no change for others - mlanutl mlanX sysclock 0 0 128 : Set system clock in non-security A-MPDU - mode to 128 MHz, no changes for others - -tcpackenh - This command is used to set/get TCP ACK enhancement mode. - - Usage: - mlanutl mlanX tcpackenh [l] [m] - - where - [l] is a control to set TCP ACK enhancement mode - 1 -- Enable TCP ACK enhancement (default) - 0 -- Disable TCP ACK enhancement - [m] is to configure TCP ACK max hold number - default value is 9, which means driver could hold up to 9 TCP ACK and - only send the last one to peer. - - Examples: - mlanutl mlan0 tcpackenh : Display TCP ACK enhancement - mlanutl mlan0 tcpackenh 1 : Enable TCP ACK enhancement - mlanutl mlan0 tcpackenh 0 : Disable TCP ACK enhancement - mlanutl mlan0 tcpackenh 1 1 : Enable TCP ACK enhancement and - configure TCP ACK drop percentage to 50% - mlanutl mlan0 tcpackenh 1 2 : Enable TCP ACK enhancement and - configure TCP ACK drop percentage to 67% - mlanutl mlan0 tcpackenh 1 3 : Enable TCP ACK enhancement and - configure TCP ACK drop percentage to 75% - mlanutl mlan0 tcpackenh 1 4 : Enable TCP ACK enhancement and - configure TCP ACK drop percentage to 80% - mlanutl mlan0 tcpackenh 1 5 : Enable TCP ACK enhancement and - configure TCP ACK drop percentage to 83% - mlanutl mlan0 tcpackenh 1 6 : Enable TCP ACK enhancement and - configure TCP ACK drop percentage to 85% - mlanutl mlan0 tcpackenh 1 7 : Enable TCP ACK enhancement and - configure TCP ACK drop percentage to 87.5% - mlanutl mlan0 tcpackenh 1 8 : Enable TCP ACK enhancement and - configure TCP ACK drop percentage to 88.8% - -host_tdls_config - This command is used to support channel switch and uapsd for host based tdls - - Usage: - mlanutl mlanX host_tdls_config - - - Where the parameter is: - host_tdls.conf: The configuration file specifying to enable/disable uapsd/cs and related parameters. - - Examples: - mlanutl mlan0 host_tdls_config config/host_tdls.conf - : enable or disable uapsd/cs, config the channel related ie, based on the configuration file. -tdls_channel_switch - This command is used to send TDLS channel switch request. - - Usage: - mlanutl mlanX tdls_channel_switch - - Where the parameter is: - tdls.conf: The configuration file for sending TDLS channel switch command. - - Examples: - mlanutl mlan0 tdls_channel_switch config/tdls.conf - : Send TDLS channel switch command, based on the configuration file. - -tdls_config - This command is used to enable/disable TDLS on device. - - Usage: - mlanutl mlanX tdls_config <0/1> - - Where the parameter is: - 0: Enable TDLS. - 1: Disable TDLS. - - Examples: - mlanutl mlan0 tdls_config 0 : Disable TDLS - mlanutl mlan0 tdls_config 1 : Enable TDLS - -tdls_cs_params - This command is used to set TDLS channel switch params - - Usage: - mlanutl mlanX tdls_cs_params - - Where the parameter is: - tdls.conf: The configuration file specifying the TDLS channel switch params. - - Examples: - mlanutl mlan0 tdls_cs_params config/tdls.conf - : Set TDLS channel switch params, based on the configuration file. - -tdls_debug - This command is used for FW debug functionality and tests. - -tdls_disable_cs - This command is used to disable TDLS channel switch - - Usage: - mlanutl mlanX tdls_disable_cs - - Where the parameter is: - tdls.conf: The configuration file to disable TDLS channel switch. - - Examples: - mlanutl mlan0 tdls_disable_cs config/tdls.conf - : Disable TDLS channel switch, based on the configuration file. - -tdls_discovery - This command is used to request TDLS discovery. - - Usage: - mlanutl mlanX tdls_discovery - - Where the parameter is: - tdls.conf: The configuration file to request TDLS discovery. - - Examples: - mlanutl mlan0 tdls_discovery config/tdls.conf - : Request TDLS discovery based on the configuration file. - -tdls_link_status [peer_mac_address] - This command is used to get link information about TDLS links or - a TDLS link correponding to peer mac address. - - Usage: - mlanutl mlanX tdls_link_status - - Where the parameter is: - tdls.conf: The configuration file to send TDLS command to get current link status. - - Examples: - mlanutl mlan0 tdls_link_status config/tdls.conf - : Send TDLS command to get current link status based on the configuration file. - -tdls_powermode - This command is used to send TDLS powermode request. - - Usage: - mlanutl mlanX tdls_powermode - - Where the parameter is: - tdls.conf: The configuration file for sending TDLS powermode command. - - Examples: - mlanutl mlan0 tdls_powermode config/tdls.conf - : Send TDLS powermode (either 0:Active, 1:PowerSave) command, based on the configuration file. - -tdls_setinfo - This command is used for setting the capabilities of the TDLS station. - - Usage: - mlanutl mlanX tdls_setinfo - - Where the parameter is: - tdls.conf: The configuration file specifying the capabilities of the TDLS station. - - Examples: - mlanutl mlan0 tdls_setinfo config/tdls.conf - : Set capabilities of the TDLS station, based on the configuration file. - -tdls_setup - This command is used to send TDLS setup request. - - Usage: - mlanutl mlanX tdls_setup - - Where the parameter is: - tdls.conf: The configuration file for sending TDLS setup request. - - Examples: - mlanutl mlan0 tdls_setup config/tdls.conf - : Send TDLS setup request, based on the configuration file. - -tdls_stop_channel_switch - This command is used to send stop TDLS channel switch request. - - Usage: - mlanutl mlanX tdls_stop_channel_switch - - Where the parameter is: - tdls.conf: The configuration file for sending stop TDLS channel switch command. - - Examples: - mlanutl mlan0 tdls_stop_channel_switch config/tdls.conf - : Send stop TDLS channel switch command, based on the configuration file. - -tdls_teardown - This command is used to send TDLS teardown request. - - Usage: - mlanutl mlanX tdls_teardown - - Where the parameter is: - tdls.conf: The configuration file for requesting teardown of TDLS link. - - Examples: - mlanutl mlan0 tdls_teardown config/tdls.conf - : Request teardown of TDLS link, based on the configuration file. - -hal_phy_cfg - This command is used to set the hal/phy related config parameters - - Usage: - mlanutl mlanX/uapX hal_phy_cfg - - Where the parameter is: - hal_phy_cfg.conf: The configuration file specifying to the values of hal/phy related config parameters - - Examples: - mlanutl mlan0 hal_phy_cfg config/hal_phy_cfg.conf - : to enable or disable 11b_psd_mask the file would contain following paramters - hal_phy_cfg{ - 11b_psd_mask_cfg=1 # 1: 11b_psd_mask_enable, 0: 11b_psd_mask_disable - } - -thermal - This command is used to get the current thermal reading. - - Examples: - mlanutl mlan0 thermal : Get thermal reading - -ts_status - This command queries the FW for the status of TSIDs 0 through 7 - configured via call admission control and displays the results in a - table. - - Usage: - mlanutl mlanX ts_status - -tsf - Set/Get the TSF timer value for the station. Station maintains a TSF timer with - modulus 2^64 counting in increments of microseconds. - - Usage: - mlanutl mlanX/uapX tsf [t] - - where, - [t] : 64bit timestamp value in microseconds - - Examples: - mlanutl mlan0 tsf : Get timestamp - mlanutl uap0 tsf 669468581993 : Set timestamp - -txaggrctrl - This command is used to enable/disable TX AMPDU on infra link when TDLS link is established - - Usage: - mlanutl mlanX txaggrctrl [m] - - Where: - [m]: 1 to enable TX AMPDU on infra link; 0 to disable TX AMPDU on infra link - - Examples: - mlanutl mlan0 txaggrctrl : Get current TX AMPDU status on infra link - mlanutl mlan0 txaggrctrl 0 : Disable TX AMPDU on infra link - mlanutl mlan0 txaggrctrl 1 : Enable TX AMPDU on infra link - - Note: - The set command only works when TDLS link is established. - -txbufcfg - This command can be used to get current buffer size. - - eg: - mlanutl mlanX txbufcfg - This will display the current buffer size. - - Note:- The actual tx buf size will depends on AP's capability and max transmit buffer size. - -aggrctrl - This command is used to set/get aggregation parameters. - - Usage: - mlanutl mlanX aggrctrl [l] - - where the parameter: - [l]: Enable (1) or disable (0) Tx aggregation - - Examples: - mlanutl mlan0 aggrctrl : Display aggregation configurations - mlanutl mlan0 aggrctrl 0 : Disable Tx aggregation - mlanutl mlan0 aggrctrl 1 : Enable Tx aggregation - -usbaggrctrl - This command is used to set/get USB aggregation parameters. - - Usage: - mlanutl mlanX usbaggrctrl [l] [m] [n] [o] [p] [q] [r] [s] - - where the parameter: - [l]: Enable (1) or disable (0) Tx aggregation - [m]: Enable (1) or disable (0) Rx aggregation - [n]: Tx aggregation max size/number - For number based aggregation, the values supported are - - 2, 4, 8, 16 - For size based aggregation, the number supported are - - 4096, 8192, 16384, 32768 - [o]: Rx aggregation max size/number - For number based deaggregation, the values supported are - - 2, 4, 8, 16 - For size based deaggregation, the number supported are - - 4096, 8192, 16384, 32768 - [p]: Tx aggregation alignment - The value must be 2048, 4096, 8192 etc. - [q]: Rx aggregation alignment - The value must be 512, 1024, 2048, 4096, 8192 etc. - [r]: Tx aggregation timeout - Timeout value in us, 0 for disabled, 0xFFFF for dynamic timeout - and 1-10000 are valid timeout value - [s]: Rx aggregation timeout - Timeout value in us, 0 for disabled - - Examples: - mlanutl mlan0 usbaggrctrl : Display USB aggregation configurations - mlanutl mlan0 usbaggrctrl 0 0 : Disable both Tx and Rx aggregation - mlanutl mlan0 usbaggrctrl 1 1 4 8 2048 512 1000 200 : Enable both Tx and Rx aggregation - -usbresume - This command is used to resume the device from suspend mode. - Note: It's only valid on kernel 2.6.24 or later. - -usbsuspend - This command is used to put device to suspend mode. - Note: It's only valid on kernel 2.6.24 or later. - -opermodecfg - This command is used to set and get 11ac Operating Mode Notification configuration. - - where is - - This is the channel width setting for the opermodecfg - 1: 20MHz - 2: 40MHz - 3: 80MHz - 4: 160MHz or 80+80MHz - - where is - - This parameter specifies the nss that the STA can receive. - 1: NSS1 - 2: NSS2 - 3: NSS3 - 4: NSS4 - 5: NSS5 - 6: NSS6 - 7: NSS7 - 8: NSS8 - -wakeupreason - This command is used to get the host sleep wakeup reason. - - Usage: - mlanutl mlanX wakeupreason - mlanutl uapX wakeupreason - Examples: - mlanutl mlan0 wakeupreason : Get the host sleep wakeup reason - mlanutl uap0 wakeupreason : Get the host sleep wakeup reason - 0: unknown - 1: Broadcast data matched - 2: Multicast data matched - 3: Unicast data matched - 4: Maskable event matched - 5. Non-maskable event matched - 6: Non-maskable condition matched (EAPoL rekey) - 7: Magic pattern matched - 8: Control frame matched - 9: Management frame matched - Others: reserved. (0) - -warmreset - This command is used for warm reset of the interface. - - Usage: - mlanutl mlanX warmreset - -wpssession - This command is used to control wps session. No argument is used to get. - - where value of n is: - 0 -- Disable - 1 -- Enable - - Examples: - mlanutl mlan0 wpssession 1 : Enable wpssession - mlanutl mlan0 wpssession : Get wpssession status - -wmmcfg - This command is used to control WMM. No argument is used to get. - - where value of n is: - 0 -- Disable - 1 -- Enable - - Examples: - mlanutl mlan0 wmmcfg 1 : Enable WMM - mlanutl mlan0 wmmcfg : Get WMM status - -wmmparamcfg - This command is used to configure WMM paramameters. - - Usage: - mlanutl mlanX wmmparamcfg [AC_BE AIFSN ECW_MAX ECW_MIN TX_OP] - [AC_BK AIFSN ECW_MAX ECW_MIN TX_OP] - [AC_VI AIFSN ECW_MAX ECW_MIN TX_OP] - [AC_VO AIFSN ECW_MAX ECW_MIN TX_OP] - - The supported option are: - AC_BE: 0 - AC_BK: 1 - AC_VI: 2 - AC_V0: 3 - AIFSN: AIFSN value - ECW_MAX: ECW max - ECW_MIN: ECW min - TX_OP: TXOP Limit - empty - Get current WMM parameters - - Example: - mlanutl mlanX wmmparamcfg 0 3 10 4 0 - Set AC_BE with AIFSN 3, ECW_MAX 10, ECW_MIN 4 and TXOP 0 - - mlanutl mlanX wmmparamcfg 1 7 10 4 0 - Set AC_BK with AIFSN 7, ECW_MAX 10, ECW_MIN 4 and TXOP 0 - - mlanutl mlanX wmmparamcfg 2 2 4 3 94 - Set AC_VI with AIFSN 2, ECW_MAX 4, ECW_MIN 3 and TXOP 94 - - mlanutl mlanX wmmparamcfg 3 2 3 2 47 - Set AC_VO with AIFSN 2, ECW_MAX 3, ECW_MIN 2 and TXOP 47 - - mlanutl mlanX wmmparamcfg - Get current WMM parameters - - mlanutl mlanX wmmparamcfg 0 3 10 4 0 1 7 10 4 0 2 2 4 3 94 3 2 3 2 47 - Set AC_BE with AIFSN 3, ECW_MAX 10, ECW_MIN 4 and TXOP 0 - Set AC_BK with AIFSN 7, ECW_MAX 10, ECW_MIN 4 and TXOP 0 - Set AC_VI with AIFSN 2, ECW_MAX 4, ECW_MIN 3 and TXOP 94 - Set AC_VO with AIFSN 2, ECW_MAX 3, ECW_MIN 2 and TXOP 47 - -wwscfg - This command is used to set/get the WWS (World Wide Safe) mode. - - where value of m is: - 0 -- Disable WWS mode (default) - 1 -- Enable WWS mode - - Examples: - mlanutl mlan0 wwscfg : Get WWS mode - mlanutl mlan0 wwscfg 1 : Enable WWS mode - mlanutl mlan0 wwscfg 0 : Disable WWS mode - -mc_cfg - This command is used to set/get the channel time. - - Usage: - mlanutl mlanX mc_cfg [n] - - where : Channel time in microseconds. - - Examples: - mlanutl mlanX mc_cfg : Get Channel time and buffer weight. - mlanutl mlanX mc_cfg 10000 : Set Channel time to 10000us. - -mc_policy - This command is used to set/get the multi-channel policy. - Note: This is a device specific command. Hence, setting on one interface is - reflected on all other interfaces. - - Usage: - mlanutl mlanX mc_policy [n] - - where : Multi-channel policy - - Examples: - mlanutl mlanX mc_policy : Get multi-channel policy setting. - mlanutl mlanX mc_policy 1 : Set multi-channel policy to 1. - mlanutl mlanX mc_policy 0 : Disable multi-channel policy - -mc_cfg_ext - This command is used to set/get the drcs parameters. - - Usage: - mlanutl mlanX mc_cfg_ext [c] [s] [u] [m] - - where: - channel index0: - [c] : chantime(in TU) - [s] : switchtime(in TU) - [u] : undozetime(in TU) - [m] : mode :0x0 --- PM1(default) - 0x1 --- Null2Self - channel index1: - : chantime(in TU) - : switchtime(in TU) - : undozetime(in TU) - : mode :0x0 --- PM1(default) - 0x1 --- Null2Self - Note: - channel index0: the first channel - channel index1: the second channel - undozetime should be less than other channel's switchtime - If want to set two channels the same parameters, just ignore the last four parameters and - use [c] [s] [u] [m] to set. - Examples: - mlanutl mlanX mc_cfg_ext : Get the drcs parameters for two channels. - mlanutl mlanX mc_cfg_ext 15 10 5 0 : Set two channels:channeltime 15TU, switchtime 10TU, undozetime 5TU, mode PM1 - mlanutl mlanX mc_cfg_ext 15 10 5 0 25 15 9 0 : Set channel index0: channeltime 17TU, switchtime 10TU, undozetime 5TU, mode PM1; - set channel index1: channeltime 25TU, switchtime 15TU, undozetime 9TU, mode PM1. - -cfg_noa - This is used to get/set P2P NoA (Notice of Absence) parameters only for P2P GO. - - Usage: - mlanutl p2pX cfg_noa [h] [i] [j] [k] [l] - - where: - [h] : noa_enable : 1/0 Set to 1 to enable NoA, 0 to disable NoA. - [i] : index : 0 - 255 Identifies an instance of NoA timing. - [j] : count : 1 - 255 Indicates the number of absence intervals. - 255 means a continuous schedule. - [k] : duration : Indicates the maximum duration in units of microseconds - that P2P GO can remain absent following the start of - a NoA interval. - [l] : interval : Indicates the length of the NoA interval in units of - microseconds. - - Examples: - mlanutl p2pX cfg_noa : Get noa configuration. - mlanutl p2pX cfg_noa 1 1 255 50 100 : Set noa configuration. - -cfg_opp_ps - This is used to get/set P2P OPP-PS parameters only for P2P GO. - - Usage: - mlanutl p2pX cfg_opp_ps [m] [n] - - where: - [m] : ps_enable : 1/0 Set to 1 to indicate P2P GO is using opportunistic - power save. Set to 0 if opportunistic power save is disabled. - [n] : ct_window : A period of time in TU after a TBTT during which P2P GO - is present. 0 indicates that there shall be no - CTWindow (Client Traffic Window). - - Examples: - mlanutl p2pX cfg_opp_ps : Get noa configuration. - mlanutl p2pX cfg_opp_ps 1 7 : Set noa configuration. - -get_sensor_temp - This command is used to get SOC temperature - Usage: - mlanutl mlanX get_sensor_temp - -indrstcfg - This command is used to set/ get independent reset mode configuration - - Usage : - mlanutl indrstcfg [gpio_pin] - - interface : mlanX, uapX - ir_mode : 0 -- Disable - 1 -- Enable out band reset, disable in band - 2 -- Enable in band, disable out band - gpio_pin : 255 -- Default pin for reset - any other number for changing the gpio for reset. - - Example : - mlanutl mlan0 indrstcfg 1 255 : Set default pin on interface mlan0 as reset pin - mlanutl mlan0 indrstcfg 0 : Disable the gpio 17 as reset pin on interface mlan0 - mlanutl mlan0 indrstcfg : Get the status and the pin used for reset pin - mlanutl mlan0 indrstcfg 2 : Enable in band reset mode - -ctrldeauth - This command is used to set/get firmware ctrldeauth setting - Usage : - mlanutl uapX ctrldeauth - - Where value of n is : - 0 -- Firmware will use default behavior - 1 -- Firmware will not send deauth packet when uap move to another channel. - - Example : - mlanutl uap0 ctrldeauth : Get current setting - mlanutl uap0 ctrldeauth : Firmware will not send deauth packet when uap move to different channel. - -robustcoex - This command is used to set robust coex. - - Usage : - mlanutl robustcoex [Enable/Disable] [gpionum] [gpiopolarity] - Enable/Disable : 0 -- Disable ; 1 -- Enable - gpionum : Number of gpio - gpiopolarity : polarity of gpio - - Example : - mlanutl mlan0 robustcoex gpiocfg 1 4 1 : Enable robustcoex gpio, set gpionum to 4 and gpiopolarity to 1 - mlanutl mlan0 robustcoex gpiocfg 0 : Disable robustcoex gpio - -cwmode - This command is used to set Cont. Tx/Wave mode. - - Usage: - mlanutl cwmode config/cwmode.conf - interface: mlanX - cwmode.conf: This config file specifies whether to enable/disable Cont Tx/Wave mode. - User can specify parameters like Channel, datarate, BW, Channel Offset, Band. - Detailed information about parameters is mentioned in the conf file. - Example: - mlanutl mlan0 cwmode config/cwmode.conf : Enable/Disable Cont Tx/Wave mode. - mlanutl mlan0 cwmode : Get current Tx mode - -bootsleep - This command is used to set and get boot sleep configure. - - Usage : - mlanutl mlanX/uapX bootsleep - : enable boot sleep - : 0 - disable boot sleep - : 1 - enable boot sleep - - Example : - mlanutl mlan0/uap0 bootsleep 1 : Enable boot sleep - mlanutl mlan0/uap0 bootsleep : Get boot sleep configure - -ssu - Collect spectral analysis data and save them into /data/ssudump.txt - - Usage : - mlanutl mlanX ssu [mode] [ssu file] - - mode : 2 -- Enable ssu and use FW default ssu parameter - ssu file : file to config ssu parameter - - Example : - mlanutl mlan0 ssu :Enable SSU and use driver default ssu parameter - mlanutl mlan0 ssu config/ssu.conf :Enable SSU and use ssu parameter from ssu.conf - mlanutl mlan0 ssu 2 :Enable SSU and use FW default ssu parameter - -csi - Enable/disable channel state information collection - - Usage : - mlanutl mlanX csi - disable : 0 - enable : config file with csi filters - - Example : - mlanutl mlan0 csi config/csi.conf : Enable CSI - mlanutl mlan0 csi 0 : Disable CSI - -arb - Set HW ARB mode - The command needs to be issued before association. - - Usage: - mlanutl mlanX arb [mode] - - where the parameter is: - [mode]: - 0: arb mode 0 (default) - 1: arb mode 1 - 2: arb mode 2 - 3: arb mode 3 (Improve TX throughput) - 4: arb mode 4 (Improve RX throughput) - - Example : - mlanutl mlan0 arb 1 : Set HW ARB mode 1 - -dmcs - This command is used to config DMCS or get DMCS status. - - Usage: - mlanutl mlanX dmcs [value] - - : config mapping policy - disable dynamic mapping when [value = 0] - enable dynamic mapping when [value = 1] - : get DMCS status - - Example : - mlanutl mlan0 dmcs 0 1 : Enable dynamic mapping - mlanutl mlan0 dmcs 0 0 : Disable dynamic mapping - mlanutl mlan0 dmcs 1 : Get DMCS status - -range_ext - This command is used to config range extension mode. - - Usage: - mlanutl mlanX/uapX range_ext [mode] - - where the parameter is: - [mode]: - 0: Default Mode(Auto Rate) - 1: HE ER+DCM Mode - 2: Legacy Mode(1 Mbps Rate) - - Example: - mlanutl mlan0 range_ext : get range extension mode - mlanutl mlan0 range_ext 1 : set range extension mode to HE ER+DCM mode - -twt_setup - This command is used to config TWT setup parameters using conf file. - - Usage: - mlanutl mlanX twt_setup [conf file] - - Example: - mlanutl mlan0 twt_setup config/twt.conf - -twt_teardown - This command is used to config TWT teardown parameters using conf file. - - Usage: - mlanutl mlanX twt_teardown [conf file] - - Example: - mlanutl mlan0 twt_teardown config/twt.conf - -rx_abort_cfg - This command is used to set/get static rx abort config for pkt having - weaker RSSI than threshold. This threshold will be overwritten on starting - dynamic rx abort cfg ext. - - Usage: - mlanutl rx_abort_cfg [enable] [rssi_threshold] - - Where the parameters are: - : mlanX, - uapX - [enable] : 0 - Disable Rx abort - 1 - Enable Rx abort of pkt having weak RSSI - [rssi_threshold] : weak RSSI pkt threshold in dBm (absolute value) - (default = 70) - - Examples: - mlanutl mlan0 rx_abort_cfg - - Display current rx abort configuration - mlanutl uap0 rx_abort_cfg 1 60 - - Enable rx abort and set weak RSSI Threshold to -60 dBm - mlanutl mlan0 rx_abort_cfg 1 40 - - Enable rx abort and set weak RSSI Threshold to -40 dBm - mlanutl mlan0 rx_abort_cfg 0 - - Disable rx abort - -rx_abort_cfg_ext - This command is used to set/get dynamic rx abort config. This will set - threshold based on minimum of ceiling rssi threshold and the weakest - RSSI among all connected peers. Margin can be specified as an offset to - this threshold. Default margin is set to -10 dBm. Ceiling rssi threshold - can be changed by specifying. Default ceil is set to -70 dBm. - This will be disabled on enabling fixed rx abort (rx_abort_cfg) - - Note: This dynamic rx abort mode is enabled by default. - - Usage: - mlanutl rx_abort_cfg_ext [enable] [margin ceil_thresh] - - Where the parameters are: - : mlanX, - uapX - [enable] : 0 - Disable Rx abort - 1 - Enable Rx abort of pkt having weak RSSI - [margin] : rssi margin in dBm (absolute val) - (default = 10) - [ceil_thresh] : ceiling weak RSSI pkt threshold in dBm - (absolute value) (default = 70) - - Examples: - mlanutl mlan0 rx_abort_cfg_ext - - Display current rx abort configuration - mlanutl uap0 rx_abort_cfg_ext 1 10 60 - - Enable dynamic rx abort, set margin to -10 dBm and set ceil - RSSI Threshold to -60 dBm - mlanutl mlan0 rx_abort_cfg_ext 1 5 50 - - Enable dynamic rx abort, set margin to -5 dBm and set ceil - RSSI Threshold to -50 dBm - mlanutl mlan0 rx_abort_cfg_ext 0 - - Disable dynamic rx abort - -tx_ampdu_prot_mode - This command is used to set either RTS/CTS or CTS2SELF protection mechanism - in MAC, for aggregated Tx QoS data frames. RTS/CTS is enabled by default. - - Usage: - mlanutl tx_ampdu_prot_mode [mode] - - Where the parameters are: - : mlanX, - uapX - [mode] : 0 - Set RTS/CTS mode - 1 - Set CTS2SELF mode - 2 - Disable Protection mode - 3 - Set Dynamic RTS/CTS mode - - Examples: - mlanutl mlan0 tx_ampdu_prot_mode - - Get currently set protection mode for Tx AMPDU - mlanutl mlan0 tx_ampdu_prot_mode 1 - - Set protection mode for Tx AMPDU to CTS2SELF - -rate_adapt_cfg - This command is used to switch between SR rateadapt and Legacy rateadapt. - FW default Algorithm is Legacy rateadapt - when SR rateadapt is enabled then it is used to set static threshold based - or dynamic noise based rate adaptation and set the timer interval to evaluate - sw rate adaptation.For static mode, low and high thresholds for Tx aggregated - pkt success rate should be configured. The Tx rate will decrease if success rate - goes lower than LOW_THRESH, will increase if it goes beyond HIGH_THRESH, and will - remain the same when success rate is between these thresholds.To set dynamic mode, - specify 0xff for both low and high thresh. - - Note: config can be set only before associating with an external AP - when in STA mode, or before starting bss when in uAP mode - - Usage: - mlanutl rate_adapt_cfg - [sr_rateadapt low_thresh high_thresh timer_interval] - - Where the parameters are: - : mlanX, - uapX - [sr_rateadapt] : SR Rateadapt or Legacy Rateadapt - [low_thresh] : lower tx success rate threshold - [high_thresh] : higher tx success rate threshold - [timer_interval] : interval to evaluate tx rate in sw in multiples - of 10 (ms) - - Examples: - mlanutl mlan0 rate_adapt_cfg - - Display SR rateadapt or Legacy rateadapt enabled - - Display current rate adapt configuration if SR rateadapt is enabled. - mlanutl uap0 rate_adapt_cfg 1 60 80 10 - - set lower Tx success rate threshold to 60%, higher to 80% - and evaluate tx rate every 100 ms (i.e 10 * 10 = 100 ms) - when SR Rateadapt is enabled. - mlanutl mlan0 rateadapt_cfg 0 - - switch to Legacy rateadapt. - mlanutl mlan0 rateadapt_cfg 1 - - switch to SR rateadapt. - Fw default is dynamic Success threshold enabled - with 100 ms linkadapt timer. - mlanutl mlan0 rate_adapt_cfg 1 50 70 50 - - set lower Tx success rate threshold to 50%, higher to 70% - and evaluate tx rate every 500 ms (i.e 50 * 10 = 500 ms) - when SR Rateadapt is enabled. - mlanutl mlan0 rate_adapt_cfg 1 0xff 0xff 10 - - set dynamic environment noise based mode and evaluate tx rate - every 100 ms (i.e 10 * 10 = 100 ms) - when SR Rateadapt is enabled. - -cck_desense_cfg - This command is used to configure CCK (802.11b) Desensitization RSSI - threshold. All CCK traffic beyond this threshold will be ignored, resulting - in higher Tx throughput. Threshold value is in absolute value of rssi in - dBm. In dynamic and enhanced modes, cck desense will be turned on only in - presence of an active connection and the effective CCK desense RSSI - threshold will be updated every rateadapt interval, based on: - min{ceil_thresh, [min RSSI among all connected peers] - margin} - - Further, for dynamic enhanced mode, CCK desense will be turned on/off based - on environment noise condition and ongoing Tx traffic rate. In this mode, - CCK desense will also be turned off periodically in order to allow 802.11b - Rx frames from Ext-AP, if rx rssi becomes weaker than the current threshold - or when in uAP mode, frames from clients which attempt to connect with the - uAP, but have weaker RSSI than the set threshold. - Turn on and off intervals are specified in terms of rateadapt intervals. - Please note that in this mode, if dynamic Rx Abort is enabled, then it - will turn on/off in sync with cck desense. - - Usage: - mlanutl cck_desense_cfg [mode] [margin ceil_thresh] - [num_on_intervals num_off_intervals] - - Where the parameters are: - : mlanX, - uapX - [mode] : 0 - Disable cck desense - 1 - Enable dynamic cck desense mode - 2 - Enable dynamic enhanced cck desense mode - [margin] : rssi margin in dBm (absolute val) - (default = 10) - [ceil_thresh] : ceiling weak RSSI pkt threshold in dBm - (absolute value) (default = 70) - [num_on_intervals] : number of rateadapt intervals to keep cck - desense "on" [for mode 2 only] (default = 20) - [num_off_intervals]: number of rateadapt intervals to keep cck - desense "off" [for mode 2 only] (default = 3) - - Examples: - mlanutl mlan0 cck_desense_cfg - - Display current cck desense configuration - mlanutl uap0 cck_desense_cfg 1 10 70 - - Set dynamic mode, margin to -10 dBm and ceil RSSI Threshold to - -70 dBm - mlanutl uap0 cck_desense_cfg 2 10 60 30 5 - - Set dynamic enhanced mode, margin to -10 dBm, ceil RSSI Threshold - to -60 dBm, num on intervals to 30 and num off intervals to 5. - mlanutl mlan0 cck_desense_cfg 1 10 50 - - Set dynamic mode, margin to -10 dBm and ceil RSSI Threshold to - -50 dBm - mlanutl mlan0 cck_desense_cfg 2 5 60 - - Set dynamic enhanced mode, set margin to -5 dBm, set ceil RSSI - Threshold to -60 dBm, and retain previous num on/off intervals - setting. - mlanutl mlan0 cck_desense_cfg 0 - - Disable cck desense - -lpm - This command is used to configure low power mode. - - Usage: - mlanutl mlanX/uapX lpm [mode] - - Where the paramter is: - [mode] : low power mode 0, 1, 2, 3 - - Examples: - mlanutl mlan0 lpm Get low power mode - mlanutl mlan0 lpm 1 Set low power mode to 1 - -dot11mc_unassoc_ftm_cfg - This command is used to enable or disable the configuration for - DOT11MC FTM frames exchanges in un-associated state for STA or uAP - - Usage: - mlanutl dot11mc_unassoc_ftm_cfg [enable] - - Where the parameters are: - : mlanX, - uapX - [enable] : 0 - Disable unassociated state FTM - 1 - Enable unassociated state FTM - - Examples: - mlanutl mlan0 dot11mc_unassoc_ftm_cfg - - Get current state of unassociated state FTM cfg - mlanutl mlan0 dot11mc_unassoc_ftm_cfg 1 - - Set the unassociated state FTM cfg to Enabled - -tp_state - This command is used to collect throughput result at different - drop points. - - Usage: - mlanutl mlanX tp_state [mode] [drop_point] - - Where the parameter is: - [mode] : enable/disable tp_state collecting - 0 - Disable 1 - Enable - [drop_point] : Request driver to drop tx packets at this point - 0 - Reserved for Tx - 1 - Kernel sends packets with .ndo_start_xmit - 2 - Before adding tx packets into queues - 3 - After main process handles tx packets - 4 - Before attaching pkts to bus - 5 - Rx PCIE interrupt Recv Data before enqueue to list - 6 - Rx after dequeue from list - 7 - Rx before de-amsdu - 8 - Rx before send to kernel - 9 - Reserved for Rx - Examples: - mlanutl mlan0 tp_state 1 1 Collect throughput result and drop tx pkts at point 1. - mlanutl mlan0 tp_state Get throughput results (only works with enable mode). - mlanutl mlan0 tp_state 0 Disable throughput accounting. - mlanutl mlan0 tp_state 1 0xff Just for reading TX/RX accounting, no pkts drop - -clocksync - This command is used to set and get WIFI TSF based clock sync setting - - Usage: - mlanutl mlanX/uapX clocksync [j][k] [l] [m] [n] - - where - [j] mode - - This parameter use to configure GPIO TSF latch mode - 0: GPIO level - 1: GPIO toggle - 2: GPIO toggle on Next Beacon. - [k] role - - 0: when mode set to 0 or 1 - 1: AP - 2: STA - [l] gpio pin number - [m] GPIO Level/Toggle - mode = 0 - 0: low 1: high - mode = 1 or 2 - 0: low to high - 1: high to low - [n] GPIO pulse width - mode = 0, reserved, set to 0 - mode 1 or 2 - 0: GPIO remain on toggle level (high or low) - Non-0: GPIO pulse width in microseconds (min 1 us) - - If no parameter provided, get is performed. - - Examples: - mlanutl mlan0 clocksync 0 0 5 0 0 - mlanutl mlan0 clocksync 1 0 10 1 500 - mlanutl mlan0 clocksync 1 0 5 0 0 - mlanutl mlan0 clocksync 2 1 10 1 500 - mlanutl mlan0 clocksync 2 2 3 0 0 - mlanutl mlan0 clocksync - -gettsfinfo - This command is used to get TSF info - - Usage: - mlanutl mlanX gettsfinfo [j] - where - [j] format - 0: Report GPIO assert TSF - 1: Report Beacon TSF and Offset (valid if CONFIG Mode 2) - - Examples: - mlanutl mlan0 gettsfinfo Get GPIO assert TSF - mlanutl mlan0 gettsfinfo 1 Get Beacon TSP and Offset (valid if CONFIG mode 2) - -targetchan - This command is used to get/set target channel for UAP - - Usage: - mlanutl uaX targetchan [j] - where - [j] target channel - - Examples: - mlanutl uap0 targetchan Get current target channel - mlanutl uap0 targetchan 52 Set target channel to 52 -backuptchan - This command is used to get/set backup channel for UAP - - Usage: - mlanutl uaX backupchan [j] - where - [j] backup channel - - Examples: - mlanutl uap0 backupchan Get current backup channel - mlanutl uap0 backupchan 52 Set backup channel to 52 - -ips_cfg - This command is used to get/set IPS - - Usage: - mlanutl mlanX ips_cfg [1/0] - - Examples: - mlanutl mlan0 ips_cfg Get current IPS config - mlanutl mlan0 ips_cfg 1 Enable IPS - -mcast_aggr_group - This command is used to add/remove multicast address to mcast_aggr_group. - Also, while the address is set, stats for each of these addresses will be auto-logged. (Refer 'stats' command for more info) - - Usage: - mlanutl mlanX/uapX mcast_aggr_group [action] [mcast_addr] - where - [action] : add/remove multicast mac address to mcast_aggr_group - 0 - remove 1 - add - [mcast_addr] : mcast address - - Examples: - mlanutl uap0 mcast_aggr_group 1 01:00:5e:00:00:42 Add 01:00:5e:00:00:42 to mcast_aggr_group - mlanutl uap0 mcast_aggr_group 0 01:00:5e:00:00:43 Remove 01:00:5e:00:00:43 from mcast_aggr_group - mlanutl uap0 mcast_aggr_group List current mcast_aggr_group - -mc_aggr_cfg - This command gets or sets the configuration of multicast packet aggregation. - - Usage: - mlanutl mlanX/uapX mc_aggr_cfg [i][j] - where - [i]: Enable Bitmap , 1-Enable, 0-Disable - Valid if corresponding mask bit is 1 - Bit 0: MC aggregation - Bit 1: Packet expiry - Bit 2: CTS2Self - Bit 3: CTS2Sef duration offset - [j]: Mask Bitmap, 1-valid, 0-invalid - Bit 0: MC aggregation - Bit 1: Packet expiry - Bit 2: CTS2Self - - Examples: - mlanutl uap0 mc_aggr_cfg 1 1 Enable MC aggregation - mlanutl uap0 mc_aggr_cfg 7 7 Enable MC aggregation,Packet expiry,CTS2Self feature - mlanutl uap0 mc_aggr_cfg Query current MC aggregation configuration. - -mcast_tx - This command is used to transmit multicast packets as per the mcast_tx conf file. - - Usage: - mlanutl mcast_tx - where - : wifi interface name i.e. uap0 - : multicast tx conf file - -stats - This command is used to get/reset Tx-Rx stats for unicast/multicast address. - Usage: - ./mlanutl uapx stats [action] - Where - [action] : get/reset all stats for unicast and multicast addresses. - all: get all stats collection - reset: reset all stats collection - mcast_timeout: get all multicast timeout stats collection - - Examples: - mlanutl uap0 stats all Get all stats for mac address configured using mcast_aggr_group command - mlanutl uap0 stats reset Reset all stats for mac address configured using mcast_aggr_group command - mlanutl uap0 stats mcast_timeout Get all multicast timeout stats for mac address configured using mcast_aggr_group command - -getuuid - This command is used to read 16 byte uuid for a given interface and uuid remains same for - - Usage: - ./mlanutl getuuid - - Examples: - i/p: mlanutl uap0 getuuid - o/p: uuid: a0b0c0d0d0c0b0a0a0b0c0d0d0c0b0a0 - -=============================================================================== -=============================================================================== - U S E R M A N U A L F O R Enable Scan GAP - -Following commands can be used to enable gap between scans. - -mlanutl mlanX scancfg [t] [m] [p] [s] [a] [b] [c] [ext] [gap] -mlanutl mlanX setuserscan [ARGS] - -For detail information, please refer the command description. -=============================================================================== diff --git a/mxm_wifiex/wlan_src/mlinux/moal_cfg80211_util.c b/mxm_wifiex/wlan_src/mlinux/moal_cfg80211_util.c index 3a01621..aa31346 100644 --- a/mxm_wifiex/wlan_src/mlinux/moal_cfg80211_util.c +++ b/mxm_wifiex/wlan_src/mlinux/moal_cfg80211_util.c @@ -4348,9 +4348,9 @@ static int woal_cfg80211_subcmd_rtt_range_request(struct wiphy *wiphy, } if (nla_len(tb[ATTR_RTT_TARGET_CONFIG]) != sizeof(rtt_params.rtt_config[0]) * rtt_config_num) { - PRINTM(MERROR, "%s: invalid %d(total) != %d(num) * %lu(each)\n", + PRINTM(MERROR, "%s: invalid %d(total) != %d(num) * %u(each)\n", __func__, nla_len(tb[ATTR_RTT_TARGET_CONFIG]), - rtt_config_num, sizeof(rtt_params.rtt_config[0])); + rtt_config_num, (t_u32)sizeof(rtt_params.rtt_config[0])); err = -EINVAL; goto done; } @@ -4463,9 +4463,9 @@ static int woal_cfg80211_subcmd_rtt_range_cancel(struct wiphy *wiphy, if ((target_num <= 0 || target_num > MAX_RTT_CONFIG_NUM) || (nla_len(tb[ATTR_RTT_TARGET_ADDR]) != sizeof(t_u8) * MLAN_MAC_ADDR_LENGTH * target_num)) { - PRINTM(MERROR, "%s: Check if %din[1-%d] or %d*%lu=%d\n", + PRINTM(MERROR, "%s: Check if %din[1-%d] or %d*%u=%d\n", __func__, target_num, MAX_RTT_CONFIG_NUM, target_num, - sizeof(t_u8) * MLAN_MAC_ADDR_LENGTH, + (t_u32)(sizeof(t_u8) * MLAN_MAC_ADDR_LENGTH), nla_len(tb[ATTR_RTT_TARGET_ADDR])); err = -EINVAL; goto done; diff --git a/mxm_wifiex/wlan_src/mlinux/moal_init.c b/mxm_wifiex/wlan_src/mlinux/moal_init.c index 71b087f..0ce0adb 100644 --- a/mxm_wifiex/wlan_src/mlinux/moal_init.c +++ b/mxm_wifiex/wlan_src/mlinux/moal_init.c @@ -553,7 +553,7 @@ static mlan_status parse_line_read_card_info(t_u8 *line, char **type, *p = '\0'; p = strstr(line, "_"); - if ((p != NULL) && ((p + 1) != NULL)) { + if (p != NULL) { *p++ = '\0'; *if_id = p; } else {