blob: 1c70ffeeb2d1f32ba0db3d3ae3336177caab8c70 [file] [log] [blame]
===============================================================================
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
===============================================================================