| =============================================================================== |
| U S E R M A N U A L |
| |
| Copyright (C) 2008-2009, Marvell International Ltd. |
| All Rights Reserved |
| |
| 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. |
| |
| 2) FOR DRIVER INSTALL |
| |
| a) Copy sd8786.bin | sd8787.bin | ... to /lib/firmware/mrvl/ directory, |
| create the directory if it doesn't exist. |
| b) Install WLAN driver, |
| insmod mlan.ko |
| insmod sd8xxx.ko [helper_name=mrvl/helper_sd.bin] [fw_name=mrvl/sd8xxx.bin] |
| c) Uninstall WLAN driver, |
| ifconfig mlanX down |
| rmmod sd8xxx |
| rmmod mlan |
| |
| To load driver with MFG firmware file, use mfg_mode=1 when insmod WLAN driver and |
| specify MFG firmware name if needed. |
| |
| 3) FOR DRIVER PROC & DEBUG |
| |
| The following info are provided in /proc/net/mwlan/mlanX/info, |
| on kernel 2.6.24 or later, the entry is /proc/mwlan/mlanX/info. |
| |
| driver_name = "wlan" |
| driver_version = <chip id, firmware version and driver version> |
| interface_name = "mlanX" |
| bss_mode = "Ad-hoc" | "Managed" | "Auto" | "Unknown" |
| media_state = "Disconnected" | "Connected" |
| mac_address = <6-byte adapter MAC address> |
| multicase_count = <multicast address count> |
| essid = <current SSID> |
| bssid = <current BSSID> |
| channel = <current channel> |
| region_code = <current region code> |
| multicasr_address[n] = <multicast address> |
| num_tx_bytes = <number of bytes sent to device> |
| num_rx_bytes = <number of bytes received from device and sent to kernel> |
| num_tx_pkts = <number of packets sent to device> |
| num_rx_pkts = <number of packets received from device and sent to kernel> |
| num_tx_pkts_dropped = <number of Tx packets dropped by driver> |
| num_rx_pkts_dropped = <number of Rx packets dropped by driver> |
| num_tx_pkts_err = <number of Tx packets failed to send to device> |
| num_rx_pkts_err = <number of Rx packets failed to receive from device> |
| carrier "on" | "off" |
| tx queue "stopped" | "started" |
| |
| The following debug info are provided in /proc/net/mwlan/mlanX/debug, |
| on kernel 2.6.24 or later, the entry is /proc/mwlan/mlanX/debug. |
| |
| int_counter = <interrupt count, cleared when interrupt handled> |
| wmm_ac_vo = <number of packets sent to device from WMM AcVo queue> |
| wmm_ac_vi = <number of packets sent to device from WMM AcVi queue> |
| wmm_ac_be = <number of packets sent to device from WMM AcBE queue> |
| wmm_ac_bk = <number of packets sent to device from WMM AcBK queue> |
| max_tx_buf_size = <maximum Tx buffer size> |
| tx_buf_size = <current Tx buffer size> |
| ps_mode = <0/1, CAM mode/PS mode> |
| ps_state = <0/1/2/3, full power state/awake state/pre-sleep state/sleep state> |
| is_deep_sleep = <0/1, not deep sleep state/deep sleep state> |
| wakeup_dev_req = <0/1, wakeup device not required/required> |
| wakeup_tries = <wakeup device count, cleared when device awake> |
| hs_configured = <0/1, host sleep not configured/configured> |
| hs_activated = <0/1, extended host sleep not activated/activated> |
| num_tx_timeout = <number of Tx timeout> |
| num_cmd_timeout = <number of timeout commands> |
| timeout_cmd_id = <command id of the last timeout command> |
| timeout_cmd_act = <command action of the last timeout command> |
| last_cmd_id = <command id of the last several commands sent to device> |
| last_cmd_act = <command action of the last several commands sent to device> |
| last_cmd_index = <0 based last command index> |
| last_cmd_resp_id = <command id of the last several command responses received from device> |
| last_cmd_resp_index = <0 based last command response index> |
| last_event = <event id of the last several events received from device> |
| last_event_index = <0 based last event index> |
| num_cmd_h2c_fail = <number of commands failed to send to device> |
| num_cmd_sleep_cfm_fail = <number of sleep confirm failed to send to device> |
| num_tx_h2c_fail = <number of data packets failed to send to device> |
| num_evt_deauth = <number of deauthenticated events received from device> |
| num_evt_disassoc = <number of disassociated events received from device> |
| num_evt_link_lost = <number of link lost events received from device> |
| num_cmd_deauth = <number of deauthenticate commands sent to device> |
| num_cmd_assoc_ok = <number of associate commands with success return> |
| num_cmd_assoc_fail = <number of associate commands with failure return> |
| 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 = <SDIO multi-port read bitmap> |
| mp_wr_bitmap = <SDIO multi-port write bitmap> |
| 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> |
| ioctl_pending = <number of ioctl pending> |
| tx_pending = <number of Tx packet pending> |
| rx_pending = <number of Rx packet pending> |
| malloc_count = <number of malloc done> |
| lock_count = <number of lock used> |
| |
| 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 IWPRIV COMMAND |
| |
| NAME |
| This manual describes the usage of private commands used in Marvell MLAN |
| Linux Driver. |
| |
| To use parameters as hex format, a '0x' must precede it for the parameters to |
| be parsed properly. |
| |
| SYNOPSIS |
| iwpriv <mlanX> <command> [sub-command] ... |
| |
| iwpriv mlanX version |
| iwpriv mlanX verext |
| iwpriv mlanX getsignal [m] [n] |
| iwpriv mlanX antcfg [m] |
| iwpriv mlanX regioncode [n] |
| iwpriv mlanX wwscfg [m] |
| iwpriv mlanX esuppmode |
| iwpriv mlanX passphrase <ssid/psk/passphrase> |
| iwpriv mlanX httxcfg <m> |
| iwpriv mlanX htcapinfo <m> |
| iwpriv mlanX addbapara <m> <n> <o> |
| iwpriv mlanX aggrpriotbl <n> |
| iwpriv mlanX addbareject <n> |
| iwpriv mlanX txbufcfg <n> |
| iwpriv mlanx amsduaggrctrl <n> |
| iwpriv mlanX mpactrl [tx_ena] [rx_ena] [tx_size] [rx_size] [tx_ports] [rx_ports] |
| iwpriv mlanX tideligtbl [N0] [N1] [N2] [N3] [N4] [N5] [N6] [N7] |
| iwpriv mlanX atimwindow [n] |
| iwpriv mlanX deepsleep [n] [m] |
| iwpriv mlanX hscfg [condition [[GPIO# [gap]]]] |
| iwpriv mlanX hssetpara condition [GPIO# [gap]] |
| iwpriv mlanX deauth [n] |
| iwpriv mlanX radioctrl |
| iwpriv mlanX reassoctrl [n] |
| iwpriv mlanX adhocaes |
| iwpriv mlanX bandcfg [l] [m] [n] |
| iwpriv mlanX getlog |
| iwpriv mlanX 11dcfg |
| iwpriv mlanX wmmcfg [n] |
| iwpriv mlanX txpowercfg [<RateIndex> [<MinPwr> [<MaxPwr> <step>]]] |
| iwpriv mlanX qoscfg |
| iwpriv mlanX getdatarate |
| iwpriv mlanX txratecfg [n] |
| iwpriv mlanX bcninterval [n] |
| iwpriv mlanX sysclock [clk1] [clk2] [clk3] [clk4] |
| iwpriv mlanX ldocfg [n] |
| iwpriv mlanX drvdbg [n] [m] |
| iwpriv mlanX warmreset |
| iwpriv mlanX regrdwr <type> <offset> [value] |
| iwpriv mlanX rdeeprom <offset> <length> |
| iwpriv mlanX memrdwr <address> [value] |
| iwpriv mlanX inactivityto <n> <m> <l> [k] |
| iwpriv mlanX bcats <traffic_type> [<timeshare_interval> <bt_time>] |
| iwpriv mlanX sdioclock <n> |
| iwpriv mlanX scancfg [t] [m] [p] [s] [a] [b] |
| iwpriv mlanX vsiecfg <action> <id> [<mask> [data1] ... [dataN]] |
| iwpriv mlanX sleeppd [n] |
| iwpriv mlanX pscfg [k] [d] [l] ... |
| iwpriv mlanX sleepparams [<p1> <p2> <p3> <p4> <p5> <p6>] |
| iwpriv mlanX authtype [n] |
| |
| DESCRIPTION |
| Those commands are used to send additional commands to the Marvell 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. |
| |
| version |
| This is used to get the current version of the driver and the firmware. |
| |
| verext |
| Retrieve and display an extended version string from the firmware |
| |
| Usage: |
| iwpriv mlanX verext [#] |
| |
| where [#] is an optional argument to retrieve a specific version string, |
| omission of the argument retrieves the 0 indexed string. |
| |
| 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: |
| iwpriv mlan0 getsignal 1 : Get the RSSI info (beacon last, beacon |
| average, data last and data average) |
| iwpriv mlan0 getsignal 3 4 : Get the NF of data average |
| iwpriv mlan0 getsignal 2 1 : Get the SNR of beacon last |
| iwpriv 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 |
| |
| antcfg |
| This command is used to set/get the mode of Tx/Rx antenna. |
| |
| where value of m is: |
| 1 -- Tx/Rx antenna 1. |
| 2 -- Tx/Rx antenna 2. |
| 0xFFFF -- Tx/Rx antenna diversity. |
| |
| Examples: |
| iwpriv mlan0 antcfg : Get Tx/Rx antenna mode |
| iwpriv mlan0 antcfg 1 : Set Tx/Rx antenna 1 |
| iwpriv mlan0 antcfg 0xFFFF : Set Tx/Rx antenna diversity |
| |
| 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: |
| iwpriv mlan0 regioncode : Get region code |
| iwpriv mlan0 regioncode 0x10 : Set region code to USA (0x10) |
| |
| 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: |
| iwpriv mlan0 wwscfg : Get WWS mode |
| iwpriv mlan0 wwscfg 1 : Enable WWS mode |
| iwpriv mlan0 wwscfg 0 : Disable WWS mode |
| |
| esuppmode |
| This command is used to get the current RSN mode and active pairwise/group |
| cipher for WPA/WPA2 mode. |
| Note: This command is available only when STA is connected. |
| |
| These are bits settings used to indicate each RSN mode. |
| Bit 0 : No RSN |
| Bit 1-2 : RFU |
| Bit 3 : WPA |
| Bit 4 : WPA-NONE |
| Bit 5 : WPA2 |
| Bit 6 : AES CCKM |
| Bit 7-15 : RFU |
| |
| These are bits settings used to indicate each pairwise and group cipher. |
| Bit 0 : RFU |
| Bit 1 : RFU |
| Bit 2 : TKIP |
| Bit 3 : AES CCKM |
| Bit 2-7 : RFU |
| |
| Example: |
| iwpriv mlan0 esuppmode : Get RSN mode and pairwise/group cipher |
| 8 4 4 |
| (The current RSN mode is WPA, active pairwise cipher is TKIP and |
| active group cipher is TKIP.) |
| |
| passphrase |
| This command is used to set/get passphrase for WPA-PSK/WPA2-PSK mode. |
| |
| Where <n> |
| ASCII string for ssid/passphrase/psk. |
| |
| 1) "0;<ssid=valid ssid>" - This will get the passphrase, AKMP |
| for specified ssid, if none specified then it will get all. |
| |
| Example: |
| iwpriv mlan0 passphrase "0;ssid=marvell" |
| |
| 2) "1;<psk=64 byte hexpsk>;<passphrase=1-63 byte passphare> |
| <ssid=valid ssid>" - 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: |
| iwpriv mlan0 passphrase "1;ssid=mrvlAP;passphrase=abcdefgd" |
| iwpriv mlan0 passphrase "1;ssid=mrvl AP;psk=<64 bytes hexpsk>" |
| |
| If user wants to input the ssid as "mrvl; AP" then command has to be |
| iwpriv mlan0 passphrase "1;ssid=mrvl/; AP;passphrase=abcdefgh" |
| |
| If user wants to input the ssid as "//;" then command has to be |
| iwpriv mlan0 passphrase "1;ssid=/////;;passphrase=abcdefgh" |
| |
| 3) "2;<ssid=valid ssid>" - This will clear the passphrase |
| for specified ssid, if none specified then it will clear all. |
| |
| Examples: |
| iwpriv mlan0 passphrase "2;ssid=marvell" |
| iwpriv mlan0 passphrase "2" : Clear all profiles and disable embedded supplicant |
| |
| httxcfg |
| This command is used to configure various 11n specific configration |
| for transmit (such as Short GI, Channel BW and Green field support) |
| |
| where <m> |
| This is a bitmap and should be used as following |
| Bit 15-7: Reserved set to 0 |
| Bit 6: Short GI in 40 Mhz enable/disable |
| Bit 5: Short GI in 20 Mhz enable/disable |
| Bit 4: Green field enable/disble |
| Bit 3-2: Reserved set to 0 |
| Bit 1: 20/40 Mhz enable disable. |
| Bit 0: Reserved set to 0 |
| |
| 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. |
| |
| iwpriv mlanX httxcfg 0x62 |
| This will enable 20/40 and Short GI but will disable Green field. |
| |
| iwpriv mlanX httxcfg 0x30 |
| This will enable Short GI and Green field. |
| |
| The default value is 0x20 |
| |
| 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 paramters in HTCapInfo IE |
| (such as Short GI, Channel BW, and Green field support) |
| |
| where <m> |
| 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 24: Short GI in 40 Mhz enable/disable |
| Bit 23: Short GI in 20 Mhz 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. |
| |
| iwpriv mlanX htcapinfo 0x1820000 |
| This will enable Short GI, Channel BW to 20/40 and disable Green field support. |
| |
| iwpriv mlanX htcapinfo 0x800000 |
| This will enable Short GI, Channel BW to 20 only, No Rx STBC support and disable Green field support. |
| |
| The default value is 0x4800000 |
| |
| 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). |
| |
| addbapara |
| This command can be used to update the default ADDBA parameters. |
| |
| where <m> is <timeout> |
| <timeout> - This is the block ack timeout for ADDBA request. |
| 0 : Disable (recommended for throughput test) |
| 1 - 65535 : Block Ack Timeout in us |
| |
| where <n> is <txwinsize> |
| <txwinsize> - Window size for ADDBA request. (32 is recommended and default value) |
| |
| where <o> is <rxwinsize> |
| <rxwinsize> - Window size for ADDBA response. (16 is recommended value for most APs, 64 |
| is recommended for AP85) |
| |
| eg: |
| iwpriv mlanX addbapara - This command will get the current addba params |
| iwpriv mlanX addbapara 1000 64 5 (This will change the ADDBA timeout to (1000 * 1024) us, |
| txwinsize to 64 and rxwinsize to 5. |
| |
| 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 update the effect could only be seen on |
| next ADDBA request/response. The current streams will not be affected with this |
| change. |
| |
| 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 <m0> <n0> <m1> <n1> ... <m7> <n7> |
| |
| <mx> - This is priority for Tid0 for AMPDU packet. A priority could be any |
| values between 0 - 7, 0xff to disable aggregation. |
| <nx> - This is priority for Tid0 for AMSDU packet. A priority could be any |
| values between 0 - 7, 0xff to disable aggregation. |
| |
| eg: |
| iwpriv 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 |
| iwpriv 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. |
| iwpriv 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 |
| |
| 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. |
| |
| 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 <m0> <m1> ... <m7> |
| |
| <mX> - This can be 0/1 for TidX. 1 enables rejection of ADDBA request for TidX and |
| 0 would accept any ADDBAs for TidX. |
| |
| eg: |
| iwpriv 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. |
| |
| iwpriv 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] |
| |
| iwpriv 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. |
| |
| txbufcfg |
| This command can be used to set max transmit buffer size of firmware. Increasing this |
| buffer size is recommended for AMSDU packets. (Default is 2048) |
| |
| where <n> is <buffer size in byte> |
| |
| <buffer size> - This can be 2048/4096/8192. |
| |
| eg: |
| iwpriv mlanX txbufcfg - This will display the current buffer size. |
| iwpriv mlanX txbufcfg 8192 - This will change the tx buffer size of 8192. |
| |
| For AMSDU for work for multiple packets we may need the max tx buffer size to be |
| 4096/8192. |
| |
| Note:- This command should be issue in disconnected state. |
| Otherwise, new setting will be effected in next time associate. |
| The actual tx buf size will depends on AP's capability and max transmit buffer size. |
| |
| amsduaggrctrl |
| This command could be used to enable/disable a feature where firmware gives feedback to driver |
| regarding the optimal AMSDU buffer size to use with the current rate. Firmware will use the |
| current rate to decide the buffer size we could transmit. The max buffer size will still be |
| limited by buffer size provided in txbufcfg. (i.e. if the txbufcfg is 4K, then we could only transmit |
| 4K/2K AMSDU packets, if the txbufcfg is 8K then we could transmit 8k/4k/2k based on current rate) |
| |
| If enabled AMSDU buffer size at various rates will be as follows |
| |
| 1. Legacy B/G rate. |
| No AMSDU aggregation. |
| |
| 2. BW20 HT Rate: |
| When TX rate goes down, |
| MCS 7, 6, 5, 4: |
| a 8K aggregation size (if TX buffer size is 8K) |
| b 4K aggregation size (if TX buffer size is 4K) |
| c 2K aggregation size (if TX buffer size is 2K) |
| |
| MCS 3, 2: |
| a 4K aggregation size (if TX buffer size is 8K/4K) |
| b 2K aggregation size (if TX buffer size is 2K) |
| |
| MCS 1, 0: |
| a No aggregation |
| |
| When TX rate goes up, |
| MCS 7, 6, 5: |
| a 8K aggregation size (if TX buffer size is 8K) |
| b 4K aggregation size (if TX buffer size is 4K) |
| c 2K aggregation size (if TX buffer size is 2K) |
| |
| MCS 4, 3: |
| a 4K aggregation size (if TX buffer size is 8K/4K) |
| b 2K aggregation size (if TX buffer size is 2K) |
| |
| MCS 2, 1, 0: |
| a No aggregation |
| |
| 3. BW40 HT Rate: |
| When TX rate goes down, |
| MCS 7, 6, 5, 4, 3, 2, 1: |
| a 8K aggregation size (if TX buffer size is 8K) |
| b 4K aggregation size (if TX buffer size is 4K) |
| c 2K aggregation size (if TX buffer size is 2K) |
| |
| MCS 0: |
| a No aggregation |
| |
| When TX rate goes up, |
| MCS 7, 6, 5, 4, 3: |
| a 8K aggregation size (if TX buffer size is 8K) |
| b 4K aggregation size (if TX buffer size is 4K) |
| c 2K aggregation size (if TX buffer size is 2K) |
| |
| MCS 2, 1, 0: |
| a No aggregation |
| |
| where <n> is 0/1 (for disable/enable) |
| |
| eg: |
| iwpriv mlanx amsduaggrctrl 1 - Enable this feature |
| iwpriv mlanx amsduaggrctrl 0 - Disable this feature |
| iwpriv mlanx amsduaggrctrl (This will get the enable/disable flag |
| and the current AMSDU buffer size). The AMSDU buffer size returned is only |
| valid after association as before association there is no rate info. |
| |
| Note:- This command to enable/disable could be given anytime (before/after |
| association). This feature is enabled by default by the driver during |
| initialization. |
| |
| mpactrl |
| This command is used to set/get the Tx, Rx SDIO aggregation parameters |
| Note: The parameters can be set only in disconnected state. |
| |
| Examples: |
| iwpriv mlan0 mpactrl : Get MP aggregation parameters |
| iwpriv mlan0 mpactrl 1 1 2048 2048 5 7 |
| : Enable MP aggregation for Tx, Rx |
| : Set Tx, Rx buffer size to 2048 bytes. |
| : Set maximum Tx ports to 5 and maximum Rx ports to 7. |
| default values are 0 0 4096 4096 8 8 |
| |
| tideligtbl |
| This command is used to set/get number of available ports for transfer |
| eligibility for TIDs (TID0-TID7). |
| |
| Usage: |
| iwpriv mlanX tideligtbl [N0] [N1] [N2] [N3] [N4] [N5] [N6] [N7] |
| |
| The Nx (x=0-7) is for TIDx. For each TIDx, there must be at least Nx |
| number of available ports to transfer the corresponding packet. |
| The Nx could be 1-15, 0 or no input for unchanged. |
| |
| Examples: |
| iwpriv mlan0 tideligtbl : Get the TID eligibility table |
| iwpriv mlan0 tideligtbl 6 6 5 4 3 2 1 1 |
| : Set the TID eligibility table |
| iwpriv mlan0 tideligtbl 4 0 2 : Set TID table TID0 and TID2, |
| keep the others unchanged |
| |
| atimwindow |
| This command is used to set/get the ATIM window value in the station. |
| The range of ATIM window is 0 - 50. |
| Note: This command should be issued before ad-hoc start/join and ad-hoc |
| power save on. |
| |
| Examples: |
| iwpriv mlan0 atimwindow 20 : Set atimwindow to 20 |
| iwpriv mlan0 atimwindow : Get atimwindow |
| |
| deepsleep |
| This command is used to set/get auto deep sleep mode. |
| |
| Usage: |
| iwpriv mlanX deepsleep [n] [m] |
| |
| where the parameters are: |
| [n]: Enable/disable auto deep sleep mode (1/0) |
| [m]: Idle time in milliseconds after which firmware will put the device |
| in deep sleep mode. Default value is 100 ms. |
| |
| Examples: |
| iwpriv mlan0 deepsleep : Display auto deep sleep mode |
| iwpriv mlan0 deepsleep 1 : Enable auto deep sleep mode, idle time unchanged |
| iwpriv mlan0 deepsleep 0 : Disable auto deep sleep mode |
| iwpriv mlan0 deepsleep 1 500 : Enable auto deep sleep mode with idle time 500 ms |
| |
| hscfg |
| This command is used to configure the host sleep parameters. |
| |
| Usage: |
| iwpriv mlanX hscfg [condition [[GPIO# [gap]]]] |
| |
| This command takes one (condition), two (condition and GPIO#) or three |
| (condition, GPIO# and gap) parameters for set. If no paramter provided, |
| get is performed. |
| |
| where Condition is: |
| bit 0 = 1 -- broadcast data |
| bit 1 = 1 -- unicast data |
| bit 2 = 1 -- mac event |
| bit 3 = 1 -- multicast packet |
| |
| where GPIO is the pin number of GPIO used to wakeup the host. It could be |
| any valid GPIO pin# (e.g. 0-7) or 0xff (interface, e.g. SDIO will be used |
| instead). |
| |
| where Gap is the gap in milliseconds between wakeup signal and wakeup event |
| or 0xff for special setting. |
| |
| The host sleep mode will be cancelled if condition is set to -1. |
| |
| Examples: |
| iwpriv mlan0 hscfg : Get current host sleep mode |
| iwpriv mlan0 hscfg -1 : Cancel host sleep mode |
| iwpriv mlan0 hscfg 3 : Broadcast and unicast data |
| Use GPIO and gap set previously |
| iwpriv mlan0 hscfg 2 3 : Unicast data |
| Use GPIO 3 and gap set previously |
| iwpriv mlan0 hscfg 2 1 0xa0 : Unicast data |
| Use GPIO 1 and gap 160 ms |
| iwpriv mlan0 hscfg 2 0xff : Unicast data |
| Use interface (e.g. SDIO) |
| Use gap set previously |
| iwpriv mlan0 hscfg 4 3 0xff : MAC event |
| Use GPIO 3 |
| Special host sleep mode |
| iwpriv mlan0 hscfg 1 0xff 0xff : Broadcast data |
| Use interface (e.g. SDIO) |
| Special host sleep mode |
| |
| hssetpara |
| This command is used to set host sleep parameters. |
| |
| Usage: |
| iwpriv mlanX hssetpara Condition [GPIO# [gap]] |
| |
| Note: |
| 1) The usages of parameters are the same as "hscfg" command. |
| 2) The parameters will be saved in the driver and be used when host suspends. |
| |
| deauth |
| This command is used to send a de-authentication to an arbitrary AP. |
| If [n] is omitted, the driver will deauth the associated AP. |
| If in ad-hoc mode this command is used to stop beacon transmission |
| from the station and go into idle state. |
| |
| When <n> is supplied as a MAC address, the driver will deauth the |
| specified AP. If the AP address matches the driver's associated AP, |
| the driver will disconnect. Otherwise, the driver remains connected. |
| |
| 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: |
| iwpriv mlan0 radioctrl 1 : Turn the radio on |
| iwpriv mlan0 radioctrl : Get radio status |
| |
| reassoctrl |
| This command is used to turn on/off re-association in driver. |
| |
| Usage: |
| iwpriv mlanX reassoctrl [n] |
| |
| Where value of n is: |
| 0 -- Disable |
| 1 -- Enable |
| |
| Examples: |
| iwpriv mlan0 reassoctrl : Get re-association status |
| iwpriv mlan0 reassoctrl 1 : Turn re-association on |
| |
| adhocaes |
| This command is used to set/get the AES key, when the station is in ad-hoc mode. |
| Note: This command is only available in disconnected state. |
| |
| where value can be any 16 byte value. |
| |
| Examples: |
| iwpriv mlan0 adhocaes : Get ad-hoc aes key |
| iwpriv mlan0 adhocaes "1;12345678901234567890123456789012" |
| : Set ad-hoc aes key |
| iwpriv mlan0 adhocaes 2 : Clear ad-hoc aes key |
| |
| bandcfg |
| This command is used to set/get infra/ad-hoc band. |
| Note: This command is only available in disconnected state. |
| |
| Usage: |
| iwpriv mlanX bandcfg [l] [m] [n] |
| |
| where the parameters: |
| [l]: Infrastructure band |
| bit 0: B |
| bit 1: G |
| bit 2: A |
| bit 3: GN |
| bit 4: AN |
| |
| [m]: Ad-hoc start band |
| bit 0: B |
| bit 1: G |
| bit 2: A |
| bit 3: GN |
| bit 4: AN |
| [n]: Ad-hoc start channel |
| |
| Examples: |
| iwpriv mlan0 bandcfg : Get infra/ad-hoc band and ad-hoc |
| start channel configurations |
| iwpriv mlan0 bandcfg 1 : Set infra band to B only |
| iwpriv mlan0 bandcfg 3 2 6 : Set infra band to B/G, ad-hoc start band |
| to G and ad-hoc start channel to 6 |
| |
| getlog |
| This command is used to get the statistics available in the station. |
| |
| 11dcfg |
| This command is used to control 11D. No argument is used to get. |
| |
| where value of n is: |
| 0 -- Disable |
| 1 -- Enable |
| |
| Examples: |
| iwpriv mlan0 11dcfg 1 : Enable 11D |
| iwpriv mlan0 11dcfg : Get 11D 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: |
| iwpriv mlan0 wmmcfg 1 : Enable WMM |
| iwpriv mlan0 wmmcfg : Get WMM status |
| |
| txpowercfg |
| This command is used to get/set the Tx power configuration. |
| |
| Where |
| <RateIndex> - Data rate index |
| 0 1 Mbps |
| 1 2 Mbps |
| 2 5.5 Mbps |
| 3 11 Mbps |
| 4 6 Mbps |
| 5 9 Mbps |
| 6 12 Mbps |
| 7 18 Mbps |
| 8 24 Mbps |
| 9 36 Mbps |
| 10 48 Mbps |
| 11 54 Mbps |
| 12 MCS0 (BW20) |
| 13 MCS1 (BW20) |
| 14 MCS2 (BW20) |
| 15 MCS3 (BW20) |
| 16 MCS4 (BW20) |
| 17 MCS5 (BW20) |
| 18 MCS6 (BW20) |
| 19 MCS7 (BW20) |
| 140 MCS0 (BW40) |
| 141 MCS1 (BW40) |
| 142 MCS2 (BW40) |
| 143 MCS3 (BW40) |
| 144 MCS4 (BW40) |
| 145 MCS5 (BW40) |
| 146 MCS6 (BW40) |
| 147 MCS7 (BW40) |
| 0xff Default |
| <MinPwr> - Minimum power level in dBm |
| <MaxPwr> - Maximum power level in dBm |
| <step> - Power step |
| |
| Note: Firmware may adjust the setting if over limit, use get command to |
| check the current setting. |
| |
| Examples: |
| iwpriv mlan0 txpowercfg 0xff : Default power configuration |
| iwpriv mlan0 txpowercfg 11 12 : Set power level 12 dBm to data rate 54 Mbps |
| iwpriv mlan0 txpowercfg 7 11 16 1 : Set power level 11 dBm to 16 dBm with |
| step 1 to data rate 18 Mbps |
| iwpriv mlan0 txpowercfg : Get current configuration |
| mlan0 txpowercfg:2 3 13 18 2 1 1 13 18 2 0 0 13 18 2 |
| 10 11 13 15 2 8 9 13 16 2 6 7 13 17 2 4 5 13 17 2 |
| 17 19 13 15 2 15 16 13 16 2 13 14 13 17 2 12 12 13 17 2 |
| 145 147 13 14 1 143 144 13 14 1 141 142 13 14 1 140 140 13 14 1 |
| |
| 2 -> First rate index is 5.5 Mbps. |
| 3 -> Last rate index is 11 Mbps. |
| 13 -> Min Tx power value is 13 dBm. |
| 18 -> Max Tx power value is 18 dBm. |
| 2 -> Power adjustment step value is 2. |
| |
| Similarly |
| 17 -> First rate index is MCS5 (BW20). |
| 19 -> Last rate index is MCS7 (BW20). |
| 13 -> Min Tx power value is 13 dBm. |
| 15 -> Max Tx power value is 15 dBm. |
| 2 -> Power adjustment step value is 2. |
| |
| so on... |
| |
| 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: |
| iwpriv mlan0 qoscfg 0x0f : Set WMM IE QOS info to 0x0f |
| iwpriv mlan0 qoscfg : Get WMM IE QOS info |
| |
| getdatarate |
| This command is used to get the data rate (index) being used in last Tx |
| packet and last Rx packet. |
| |
| txratecfg |
| This command is used to set/get the transmit data rate. |
| |
| Note: |
| 1) The data rate can be set only after association. |
| |
| 2) If the reassoc is OFF driver reset the data rate to auto if the connection state is disconnected. |
| Please note that user has to re-issue the set data rate command if the driver is disconnected. |
| |
| 3) If the reassoc is ON driver remembers the data rate set by the user, if the driver is |
| disconnected user does not have to re-issue the set data rate again. |
| |
| Where <n> |
| data rate |
| Data rate |
| 0 1 Mbps |
| 1 2 Mbps |
| 2 5.5 Mbps |
| 3 11 Mbps |
| 4 6 Mbps |
| 5 9 Mbps |
| 6 12 Mbps |
| 7 18 Mbps |
| 8 24 Mbps |
| 9 36 Mbps |
| 10 48 Mbps |
| 11 54 Mbps |
| 12 MCS0 |
| 13 MCS1 |
| 14 MCS2 |
| 15 MCS3 |
| 16 MCS4 |
| 17 MCS5 |
| 18 MCS6 |
| 19 MCS7 |
| 44 MCS32 |
| 0xff Auto |
| |
| Examples: |
| iwpriv mlan0 txratecfg 3 : Set fixed Tx rate to 11 Mbps |
| iwpriv mlan0 txratecfg 11 : Set fixed Tx rate to 54 Mbps |
| iwpriv mlan0 txratecfg 15 : Set fixed Tx rate to MCS3 |
| iwpriv mlan0 txratecfg 0xff : Disable fixed rate and uses auto rate |
| iwpriv mlan0 txratecfg : Read the current data rate setting |
| |
| bcninterval |
| This command is used to set/get the beacon interval in ad-hoc mode. |
| The valid beacon interval is between 20 - 1000, default beacon |
| interval is 100. |
| |
| Where <n> |
| Beacon interval in TU (Time Unit: 1024 us). |
| |
| Examples: |
| iwpriv mlan0 bcninterval 200 : Set ad-hoc beacon interval to 200 |
| iwpriv mlan0 bcninterval : Get ad-hoc beacon interval |
| |
| 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: |
| iwpriv 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.) |
| |
| iwpriv mlanX sysclock 80 : Set system clock in non-security mode |
| to 80 MHz, no change for others |
| iwpriv mlanX sysclock 0 0 128 : Set system clock in non-security A-MPDU |
| mode to 128 MHz, no changes for others |
| |
| ldocfg |
| This command is used to set/get internal/external core power voltage source. |
| By default firmware uses internal LDO for 1.2V core power supply. |
| The current setting will be returned if no parameter provided. |
| |
| Usage: |
| iwpriv mlanX ldocfg [n] |
| |
| where the parameter is, |
| 0 -- internal |
| 1 -- external |
| |
| drvdbg |
| This command is used to set/get the bit masks of driver debug message control. |
| |
| Usage: |
| iwpriv mlanX drvdbg [n] [m] |
| |
| Where the parameter <n> 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 16: MDAT_D PRINTM(MDAT_D,...), DBG_HEXDUMP(MDAT_D,...) |
| bit 17: MCMD_D PRINTM(MCMD_D,...), DBG_HEXDUMP(MCMD_D,...) |
| bit 18: MFW_D PRINTM(MFW_D,...) |
| ... |
| bit 28: MENTRY PRINTM(MENTRY,...), ENTER(), LEAVE() |
| bit 29: MWARN PRINTM(MWARN,...) |
| bit 30: MINFO PRINTM(MINFO,...) |
| |
| Where the parameter <m> is the extended interface module debug message control |
| bit mask. The following types of debug messages can be controlled. |
| |
| bit 0: MIF_D PRINTM(MIF_D,...), DBG_HEXDUMP(MIF_D,...) |
| |
| If CONFIG_DEBUG=2, all kinds of debug messages can be configured. |
| By default all debug messages are enabled except for MEVENT and MIF_D. |
| |
| 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: |
| iwpriv mlan0 drvdbg : Get the current driver debug masks |
| iwpriv mlan0 drvdbg 0 0 : Disable all the debug messages |
| iwpriv mlan0 drvdbg 7 : Enable MMSG, MFATAL and MERROR messages, |
| no change for if debug control |
| iwpriv mlan0 drvdbg 3 1 : Enable MMSG and MFATAL messages, |
| enable MIF_D message |
| iwpriv mlan0 drvdbg -1 -1 : Enable all the debug messages |
| |
| warmreset |
| This command is used for warm reset of the interface. |
| |
| Usage: |
| iwpriv mlanX warmreset |
| |
| regrdwr |
| This command is used to read/write the adapter register. |
| |
| Usage: |
| iwpriv mlanX regrdwr <type> <offset> [value] |
| |
| where the parameters are, |
| <type>: 1:MAC/SOC, 2:BBP, 3:RF, 4:PMIC, 5:CAU |
| <offset>: offset of register |
| [value]: value to be written |
| Note: If highest bit of a 32-bit value needs to be set, use negitive input. |
| |
| Examples: |
| iwpriv mlan0 regrdwr 1 0xa060 : Read the MAC register |
| iwpriv mlan0 regrdwr 1 0xa060 0x12 : Write the MAC register |
| iwpriv mlan0 regrdwr 1 0xa794 -0x80000000 |
| : Write 0x80000000 to MAC register |
| iwpriv mlan0 regrdwr 1 0xa794 -0x00000001 |
| : Write 0xffffffff to MAC register |
| |
| rdeeprom |
| This command is used to read the EEPROM contents of the card. |
| |
| Usage: |
| iwpriv mlanX rdeeprom <offset> <length> |
| |
| where the parameters are, |
| <offset>: multiples of 4 |
| <length>: 4-20, multiples of 4 |
| |
| Example: |
| iwpriv mlan0 rdeeprom 0 20 : Read 20 bytes of EEPROM data from offset 0 |
| |
| memrdwr |
| This command is used to read/write the adapter memory. |
| |
| Usage: |
| iwpriv mlanX memrdwr <address> [value] |
| |
| where the parameters are, |
| <address>: memory address |
| [value]: value to be written |
| Note: If highest bit of a 32-bit value needs to be set, use negitive input. |
| |
| Examples: |
| iwpriv mlan0 memrdwr -0x80000000 |
| : Read memory address 0x80000000 |
| iwpriv mlan0 memrdwr -0x80000000 -0x00000001 |
| : Write 0xffffffff to memory address 0x80000000 |
| |
| inactivityto |
| This command is used to set/get the inactivity timeout value, which specifies |
| when WLAN device is put to sleep. |
| |
| Usage: |
| iwpriv mlanX inactivityto <n> <m> <l> [k] |
| |
| where the parameter are: |
| <n>: timeout unit in microseconds. |
| <m>: Inactivity timeout for unicast data. |
| <l>: Inactivity timeout for multicast data. |
| [k]: Inactivity timeout for new Rx traffic after PS notification to AP. |
| |
| Examples: |
| iwpriv mlan0 inactivityto : Get the timeout value |
| iwpriv mlan0 inactivityto 1000 2 3 : Set timeout unit to 1000 us (1 ms), |
| inactivity timeout for unicast data is 2 ms, |
| inactivity timeout for multicast data is 3 ms |
| |
| bcats |
| This command is used to set/get the BCA timeshare parameters. |
| This command only works after BCA has been enabled. |
| |
| Usage: |
| iwpriv mlanX bcats <traffic_type> [<timeshare_interval> <bt_time>] |
| |
| where: |
| <traffic_type>: 0 - Wlan and bluetooth are low priority. |
| 1 - Wlan and bluetooth are high priority. |
| 2 - Wlan and bluetooth are medium priority. |
| 3 - Wlan and bluetooth are medium high priority. |
| 0xffff - Reset fairshare. |
| |
| If <timeshare_interval> value is not multiple of 10 then floor value |
| is taken and the valid range is <20 ... 60,000> in milliseconds. |
| |
| If <bt_time> value is not multiple of 10 then floor value is taken |
| and the valid range is <0 ... timeshare_interval value> in milliseconds. |
| |
| Examples: |
| iwpriv mlan0 bcats 1 : Get the BCA timeshare settings when wlan |
| and bluetooth are set to high priority |
| iwpriv mlan0 bcats 0xffff : Reset fairshare, disable all modes above |
| that are running, and restore arbitration |
| table register values to before the user |
| enabled any of the above fairshare modes. |
| iwpriv mlan0 bcats 1 30 20 : Set wlan and bluetooth to high priority, |
| wlan timeshare_interval to 30 ms and |
| bt_time to 20 ms |
| |
| sdioclock |
| Turn On(1) or Off(0) the SDIO clock. |
| |
| Usage: |
| iwpriv mlanX sdioclock 1 (on) |
| iwpriv mlanX sdioclock 0 (off) |
| iwpriv mlanX sdioclock (get the current clock state) |
| |
| scancfg |
| This command is used to set/get scan configuration parameters. |
| |
| Usage: |
| iwpriv mlanX scancfg [t] [m] [p] [s] [a] [b] |
| |
| where the parameters: |
| [t]: Scan Type (0: Unchanged, 1: Active, 2: Passive) |
| [m]: Scan Mode (0: Unchanged, 1: BSS, 2: IBSS, 3: Any) |
| [p]: Scan Probes (0: Unchanged, 1-10: Number of probes per channel) |
| [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) |
| No change if the parameter is 0 or the parameter is not provided. |
| |
| Examples: |
| iwpriv mlan0 scancfg : Get all the current scan configuration settings |
| iwpriv mlan0 scancfg 1 3 : Set scan type to active and scan mode to any, |
| all the other scan configurations are unchanged |
| iwpriv 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 |
| |
| vsiecfg |
| This command is used to get/add/remove vendor specific IE. |
| |
| Usage: |
| iwpriv mlanX vsiecfg <action> <id> [<mask> [data1] ... [dataN]] |
| |
| where: |
| <action>: 0/1/2: Get/Add/Remove |
| <id>: 0-7: IE index in the driver IE array |
| [mask]: Bit 0: IE for scan |
| Bit 1: IE for associate |
| Bit 2: IE for ad-hoc |
| [data1]...[dataN]: IE data |
| |
| Note: The max data length is 254-byte, IE ID (221) and length is not included. |
| The max total length of vendor specific IEs for scan/assoc/ad-hoc is 512-byte. |
| |
| Examples: |
| iwpriv mlan0 vsiecfg 0 2 : Get the 3rd IE |
| iwpriv mlan0 vsiecfg 1 0 4 0x12 0x34 |
| : Add IE in 1st position for ad-hoc |
| iwpriv mlan0 vsiecfg 1 6 3 0x00 0x50 0x43 0x20 0xFF 0xFE |
| : Add IE in 7th position for scan and associate |
| iwpriv mlan0 vsiecfg 2 1 : Remove the 2nd IE |
| |
| sleeppd |
| This command is used to configure the sleep period of the WLAN device. |
| |
| Usage: |
| iwpriv mlanX sleeppd [<period>] |
| |
| Where the parameter is: |
| period: sleep period in milliseconds. Range 10~60. 0 for disable. |
| |
| Examples: |
| iwpriv mlan0 sleeppd : Get sleep period configuration |
| iwpriv mlan0 sleeppd 10 : Set sleep period to 10 ms |
| |
| pscfg |
| This command is used to set/get PS configuration parameters. |
| |
| Usage: |
| iwpriv 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 |
| in firmware, listen interval will be used) |
| [l]: Local listen interval (0: Unchanged, n: Interval) |
| [a]: Ad-hoc awake period (0: Unchanged, 1-31: Beacon interval, 255: Firmware |
| will go to sleep after beacon send out) |
| [b]: Beacon miss timeout (0: Unchanged, 1-50: Value in milliseconds, 65535: Disable) |
| [p]: Delay to PS (0-65535: Value in milliseconds) |
| [m]: PS mode (0: Unchanged, 1: Auto mode, 2: PS-Poll mode, 3: PS Null mode) |
| No change if parameters are not provided. |
| |
| Examples: |
| iwpriv mlan0 pscfg : Get all the current PS configuration settings |
| iwpriv 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 |
| iwpriv mlan0 pscfg 0 0xfffe 10 0 20 |
| : Disable DTIM interval, set local listen interval to |
| 10 beacon intervals and beacon miss interval to 20, |
| all the other configurations are unchanged |
| iwpriv mlan0 pscfg 0 0 0 0 0 50 : Set delay to PS to 50 ms, keep the others unchanged |
| |
| sleepparams |
| This command is used to set the sleepclock configurations |
| |
| Usage: |
| iwpriv mlanX sleepparams [<p1> <p2> <p3> <p4> <p5> <p6>] |
| |
| 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: |
| iwpriv mlan0 sleepparams : Get current sleepclock configuration |
| iwpriv mlan0 sleepparams 10 1000 2000 1 0 128 : Set sleepclock configuration |
| |
| authtype |
| This command is used to set/get authentication type. |
| |
| Usage: |
| iwpriv mlanX authtype [n] |
| |
| where <n> |
| 0: 802.11 open system authentication. |
| 1: 802.11 shared key authentication. |
| 255: allow open system or shared key authentication. |
| |
| Examples: |
| iwpriv mlan0 authtype 0 : use open system authentication |
| iwpriv mlan0 authtype 1 : use shared key authentication |
| iwpriv mlan0 authtype 255 : allow open system or shared key authentication |
| iwpriv mlan0 authtype : get current setting |
| |
| |
| =============================================================================== |
| U S E R M A N U A L F O R M L A N C O N F I G |
| |
| NAME |
| mlanconfig - configure the additional parameters available for the Marvell mdriver. |
| |
| SYNOPSIS |
| mlanconfig -v |
| mlanconfig <mlanX> <command> [parameters] ... |
| |
| mlanconfig mlanX hostcmd <bg_scan.conf> bgscfg |
| mlanconfig mlanX hostcmd <requesttpc.conf> requesttpc |
| mlanconfig mlanX hostcmd <crypto_test.conf> crypto_test |
| mlanconfig mlanX hostcmd <subevent.conf> subevent_get |
| mlanconfig mlanX hostcmd <subevent.conf> subevent_set |
| mlanconfig mlanX hostcmd <auto_tx.conf> auto_tx_get |
| mlanconfig mlanX hostcmd <auto_tx.conf> nat_keep_alive |
| mlanconfig mlanX hostcmd <auto_tx.conf> auto_tx_unreg |
| mlanconfig mlanX hostcmd <txrate_cfg.conf> txrate_cfg_get |
| mlanconfig mlanX hostcmd <txrate_cfg.conf> txrate_cfg_set_bg |
| mlanconfig mlanX hostcmd <txrate_cfg.conf> txrate_cfg_set_bgn |
| mlanconfig mlanX hostcmd <txpwrlimit_cfg.conf> txpwrlimit_cfg_get |
| mlanconfig mlanX hostcmd <txpwrlimit_cfg.conf> txpwrlimit_cfg_set |
| mlanconfig mlanX hostcmd <11n_2040coex.conf> 2040coex |
| mlanconfig mlanX hostcmd <robust_btc.conf> robust_btc_get |
| mlanconfig mlanX hostcmd <robust_btc.conf> robust_btc_enable |
| mlanconfig mlanX hostcmd <robust_btc.conf> robust_btc_disable |
| mlanconfig mlanX arpfilter <arpfilter.conf> |
| mlanconfig mlanX mefcfg <mef.conf> |
| mlanconfig mlanX cfgdata <register type> <conf file> |
| mlanconfig mlanX sdcmd52rw <FN no.> <address> [data] |
| mlanconfig mlanX sdcmd53rw <FN no.> <address> <mode> <blksize> <blknum> [data1] ... [dataN] |
| mlanconfig mlanX setuserscan [ARGS] |
| mlanconfig mlanX getscantable |
| mlanconfig mlanX addts <filename.conf> <section# of tspec> <timeout in ms> |
| mlanconfig mlanX delts <filename.conf> <section# of tspec> |
| mlanconfig mlanX qconfig set msdu <lifetime in TUs> [Queue Id: 0-3] |
| mlanconfig mlanX qconfig get [Queue Id: 0-3] |
| mlanconfig mlanX qconfig def [Queue Id: 0-3] |
| mlanconfig mlanX qstats on [Queue Id: 0-3] |
| mlanconfig mlanX qstats off [Queue Id: 0-3] |
| mlanconfig mlanX qstats get [Queue Id: 0-3] |
| mlanconfig mlanX qstatus |
| mlanconfig mlanX ts_status |
| mlanconfig mlanX regrdwr <type> <offset> [value] |
| |
| DESCRIPTION |
| |
| Those commands are used in Marvell specific application called mlanconfig. |
| |
| =========== |
| -v |
| This command is used to display the version of mlanconfig utility. |
| Usage: |
| mlanconfig -v |
| |
| hostcmd bgscfg |
| This command is used to configure the various parameters for PPS/UAPSD |
| or normal background scan. |
| |
| Usage: |
| mlanconfig mlanX hostcmd config/bg_scan.conf bgscfg |
| |
| hostcmd requesttpc |
| This command is used to request 802.11H TPC info. |
| |
| Usage: |
| mlanconfig mlanX hostcmd config/requesttpc.conf requesttpc |
| |
| hostcmd crypto_test |
| This command is used to test the encryption/decryption API of the firmware. |
| |
| Usage: |
| mlanconfig mlanX hostcmd config/crypto_test.conf crypto_test |
| |
| hostcmd subevent_get |
| hostcmd subevent_set |
| This command is used to get/set the configurations for event descriptor |
| interface command. |
| subsvent_get: get subscribed event parameters |
| subsvent_set: set subscribed event parameters |
| |
| Usage: |
| mlanconfig mlanX hostcmd config/subevent.conf subevent_get |
| mlanconfig mlanX hostcmd config/subevent.conf subevent_set |
| |
| hostcmd auto_tx_get |
| hostcmd nat_keep_alive |
| hostcmd auto_tx_unreg |
| This command is used to configures the Frame Auto Transmission parameters. |
| auto_tx_get: get auto_tx parameters |
| nat_keep_alive: register to firmware for sending NAT Keep Alive packet |
| auto_tx_unreg: unregister to firmware auto_tx |
| |
| Usage: |
| mlanconfig mlanX hostcmd config/auto_tx.conf auto_tx_get |
| mlanconfig mlanX hostcmd config/auto_tx.conf nat_keep_alive |
| mlanconfig mlanX hostcmd config/auto_tx.conf auto_tx_unreg |
| |
| hostcmd txrate_cfg_get |
| hostcmd txrate_cfg_set_bg |
| hostcmd txrate_cfg_set_bgn |
| This command is used to set/get the transmit data rate. |
| |
| Usage: |
| mlanconfig mlanX hostcmd config/txrate_cfg.conf txrate_cfg_get |
| mlanconfig mlanX hostcmd config/txrate_cfg.conf txrate_cfg_set_bg |
| mlanconfig mlanX hostcmd config/txrate_cfg.conf txrate_cfg_set_bgn |
| |
| hostcmd txpwrlimit_cfg_get |
| hostcmd txpwrlimit_cfg_set |
| This command is used to set/get the configuration data of Tx power limitation. |
| Note: The configuration set should be issued when STA is disconnetced. |
| |
| Usage: |
| mlanconfig mlanX hostcmd config/txpwrlimit_cfg.conf txpwrlimit_cfg_get |
| mlanconfig mlanX hostcmd config/txpwrlimit_cfg.conf txpwrlimit_cfg_set |
| |
| hostcmd 2040coex |
| This command is used to send the 11n 20/40 Coex command to firmware. |
| Firmware will send 11n 20/40 Coex management action frame to AP. |
| |
| Usage: |
| mlanconfig mlanX hostcmd config/11n_2040coex.conf 2040coex |
| |
| hostcmd robust_btc_get |
| hostcmd robust_btc_enable |
| hostcmd robust_btc_disable |
| This command is used to get/set Robust BT Coex. |
| robust_btc_get: get the current configuration |
| robust_btc_enable: enable and set the Robust BT Coex timing |
| robust_btc_disable: disable the Robust BT Coex |
| |
| Usage: |
| mlanconfig mlanX hostcmd config/robust_btc.conf robust_btc_get |
| mlanconfig mlanX hostcmd config/robust_btc.conf robust_btc_enable |
| mlanconfig mlanX hostcmd config/robust_btc.conf robust_btc_disable |
| |
| arpfilter |
| This command is used to configure the ARP filtering parameters. |
| |
| Usage: |
| mlanconfig mlanX arpfilter config/arpfilter.conf |
| |
| mefcfg |
| This command is used to set MEF settings. |
| |
| Usage: |
| mlanconfig mlanX mefcfg config/mef.conf |
| |
| cfgdata |
| This command is used to set/get the configuration data to/from firmware. |
| |
| Usage: |
| mlanconfig mlanX cfgdata <type> <.conf file name> |
| This command is used to set the cfg data in the .conf file to firmware. |
| |
| mlanconfig mlanX cfgdata <type> |
| This command is used to get the cfg data from firmware and display |
| on to the console. |
| |
| Where the value of <type> field is: |
| 1 -- Optimal Register download and <.conf file name > is or_data.conf |
| 2 -- Cal data download and <.conf file name> is cal_data.conf |
| 3 -- PMIC data download and <.conf file name> is pmic_data.conf |
| |
| sdcmd52rw |
| This command is used to read/write a controller register in |
| Secure Digital I/O Interfaces. |
| |
| Usage: |
| mlanconfig mlanX sdcmd52rw <function number> <register address> [value] |
| |
| Examples: |
| mlanconfig mlan0 sdcmd52rw 1 3 |
| mlanconfig mlan0 sdcmd52rw 1 1 0x3f |
| |
| sdcmd53rw |
| This command is used to issue a CMD53 read/write data in |
| Secure Digital I/O Interfaces. |
| |
| Usage: |
| mlanconfig mlanX sdcmd53rw <func> <address> <mode> <blksize> <blknum> [data1] ... [dataN] |
| |
| where the parameters are, |
| <func>: function number (0/1/2/..) |
| <address>: data address |
| <mode>: byte mode/block mode (0/1) |
| <blksize>: block size (32/64/../512, NA for byte mode) |
| <blknum>: block number or byte number |
| <data1> ... <dataN>: 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: |
| mlanconfig mlan0 sdcmd53rw 0 0x8000 1 64 2 |
| mlanconfig mlan0 sdcmd53rw 1 0x10000 0 1 5 0x0a 0x0b 0x0c 0x0d 0x0e |
| |
| setuserscan |
| Initiate a customized scan and retrieve the results |
| |
| Usage: |
| mlanconfig mlanX setuserscan [ARGS] |
| |
| Where [ARGS]: |
| ssid="[SSID]" specify a SSID filter for the scan |
| chan=[chan#][band][mode] where band is [a,b,g,n] and mode is |
| blank 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 |
| probes=[#] number of probe requests to send on each chan |
| for each broadcast probe required and each SSID |
| specific probe required (1-10) |
| type=[1,2,3] BSS type: 1 (Infra), 2(Adhoc), 3(Any) |
| |
| 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. |
| 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 a specific SSID: |
| setuserscan chan=6g,36a ssid="TestAP" |
| |
| 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 type=1 probes=2 keep=1 |
| |
| 7) Scan channel 1 and 6, for all networks matching the Mrvl*AP |
| or AP*Mrvl? patterns and for MrvlTst SSID. Generate 3 broadcast |
| probes for the patterns and 3 SSID specific probes for MrvlTst on |
| both channel 1 and channel 6. |
| setuserscan chan=1g,6g probes=3 wc="Mrvl*AP" wc="AP*Mrvl?" ssid="MrvlTst" |
| |
| 8) Scan all the channels for specified band. |
| setuserscan chan=0g |
| |
| 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. |
| |
| getscantable |
| Display the current contents of the driver scan table |
| |
| Usage: |
| mlanconfig mlanX getscantable |
| mlanconfig mlanX getscantable [#] |
| mlanconfig mlanX getscantable tsf |
| mlanconfig mlanX getscantable help |
| |
| 1) Without argument, the entire scantable is displayed. |
| 2) Specifying a # will display detailed information about a specific scan |
| table entry. '0' displays driver cached information regarding the |
| current association (if any). |
| 3) The tsf argument will display the entire scan table with the recorded |
| TSF timestamp for the entry. |
| 4) The help argument will display the legend for the capability field. |
| |
| addts |
| Send an ADDTS command to the associated AP. |
| |
| Process a given conf file for a specific TSPEC data block. Send the |
| TSPEC along with any other IEs to the driver/firmware for transmission |
| in an ADDTS request to the associated AP. |
| |
| Return the execution status of the command as well as the ADDTS response |
| from the AP if any. |
| |
| Usage: |
| mlanconfig mlanX addts <filename.conf> <section# of tspec> <timeout(ms)> |
| |
| delts |
| Send a DELTS command to the associated AP. |
| |
| Process a given conf file for a specific TSPEC data block. Send the |
| TSPEC along with any other IEs to the driver/firmware for transmission |
| in a DELTS request to the associated AP. |
| |
| Return the execution status of the command. There is no response to a |
| DELTS from the AP. |
| |
| Usage: |
| mlanconfig mlanX delts <filename.conf> <section# of tspec> |
| |
| 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: |
| mlanconfig mlanX qconfig set msdu <lifetime in TUs> [Queue Id: 0-3] |
| mlanconfig mlanX qconfig get [Queue Id: 0-3] |
| mlanconfig mlanX qconfig def [Queue Id: 0-3] |
| |
| qstats |
| Turn on/off or retrieve and clear the queue statistics for an AC |
| |
| Turn the queue statistics collection on/off for a given AC or retrieve the |
| current accumulated stats and clear them from the firmware. The command |
| takes an optional Queue Id as a last parameter. Without the queue id, |
| all queues will be acted upon. |
| |
| Usage: |
| mlanconfig mlanX qstats on [Queue Id: 0-3] |
| mlanconfig mlanX qstats off [Queue Id: 0-3] |
| mlanconfig mlanX qstats get [Queue Id: 0-3] |
| |
| qstatus |
| This command retrieves the current status of the WMM queues. If WMM |
| is enabled then it displays the informations for each AC in a table. |
| |
| Usage: |
| mlanconfig mlanX qstatus |
| |
| 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: |
| mlanconfig mlanX ts_status |
| |
| regrdwr |
| This command is used to read/write the adapter register. |
| |
| Usage: |
| mlanconfig mlanX regrdwr <type> <offset> [value] |
| |
| where the parameters are, |
| <type>: 1:MAC/SOC, 2:BBP, 3:RF, 4:PMIC, 5:CAU |
| <offset>: offset of register |
| [value]: value to be written |
| |
| Examples: |
| mlanconfig mlan0 regrdwr 1 0xa060 : Read the MAC register |
| mlanconfig mlan0 regrdwr 1 0xa794 0x80000000 |
| : Write 0x80000000 to MAC register |
| |
| |
| =============================================================================== |
| U S E R M A N U A L F O R M L A N 2 0 4 0 C O E X |
| |
| NAME |
| mlan2040coex - This application handles the 11n 20/40 coexistence operation for |
| the Marvell mdriver |
| |
| SYNOPSIS |
| mlan2040coex [-i <intfname>] [hvB] |
| (If intfname not present then mlan0 assumed) |
| -h = Help |
| -v = Version |
| -B = Run the process in background |
| |
| =============================================================================== |