WL

From DD-WRT Wiki

Revision as of 22:15, 30 November 2006 by Tin-man (Talk | contribs)
Jump to: navigation, search

'wl' is probably the most important tool in the routers firmware to access and control wireless hardware. It can be accesed from a telnet or SSH terminal or through the Web Interface. Tools such as Wiviz or Kismet Server/Drone use it to configure the radios, monitor packets and extract information directly from them.

See also wl command

Setup

No setup is required as 'wl' comes with all DD-WRT installations.

Command Usage

These are the usage instructions you see when executing 'wl' without parameters from the router shell:

Usage: wl [-a|i <adapter>] [-hu] <command> [arguments]

 -a, -i        adapter name or number
 -h, -u        this message

ver get version information

cmds generate a short list of available commands

up reinitialize and mark adapter up (operational)

down reset and mark adapter down (disabled)

out mark adapter down but do not reset hardware(disabled)

       On dualband cards, cards must be bandlocked before use.

clk set board clock state. return error for set_clk attempt if the driver is not down

       0: clock off
       1: clock on

restart Restart driver. Driver must already be down.

reboot Reboot platform

ucflags Get/Set ucode flags

radio Set the radio on or off.

       "on" or "off"

dump print driver software state and chip registers to stdout

srdump print contents of SPROM to stdout

nvdump print nvram variables to stdout

lodump print measlo table to stdout

nvset set an nvram variable

       name=value (no spaces around '=')


nvget get the value of an nvram variable


revinfo get hardware revision information


msglevel

       set driver console debugging message bitvector
       type 'wl msglevel ?' for values

PM set driver power management mode:

       0: CAM (constantly awake)
       1: PS  (power-save)
       2: FAST PS mode

wake set driver power-save mode sleep state:

       0: core-managed
       1: awake

promisc set promiscuous mode ethernet address reception

       0 - disable
       1 - enable

monitor set monitor mode

       0 - disable
       1 - enable active monitor mode (interface still operates)

frag Set the fragmentation threshhold. (integer [256, 2346])

rts Set the RTS threshhold. (integer [0, 2347])

cwmin Set the cwmin. (integer [1, 255])

cwmax Set the cwmax. (integer [256, 2047])

srl Set the short retry limit. (integer [1, 255])

lrl Set the long retry limit. (integer [1, 255])

rate force a fixed rate:

       valid values for 802.11a are (6, 9, 12, 18, 24, 36, 48, 54)
       valid values for 802.11b are (1, 2, 5.5, 11)
       valid values for 802.11g are (1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54)
       -1 (default) means automatically determine the best rate

mrate force a fixed multicast rate:

       valid values for 802.11a are (6, 9, 12, 18, 24, 36, 48, 54)
       valid values for 802.11b are (1, 2, 5.5, 11)
       valid values for 802.11g are (1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54)
       -1 (default) means automatically determine the best rate

a_rate force a fixed rate for the A PHY:

       valid values for 802.11a are (6, 9, 12, 18, 24, 36, 48, 54)
       -1 (default) means automatically determine the best rate

a_mrate force a fixed multicast rate for the A PHY:

       valid values for 802.11a are (6, 9, 12, 18, 24, 36, 48, 54)
       -1 (default) means automatically determine the best rate

bg_rate force a fixed rate for the B/G PHY:

       valid values for 802.11b are (1, 2, 5.5, 11)
       valid values for 802.11g are (1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54)
       -1 (default) means automatically determine the best rate

bg_mrate

       force a fixed multicast rate for the B/G PHY:
       valid values for 802.11b are (1, 2, 5.5, 11)
       valid values for 802.11g are (1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54)
       -1 (default) means automatically determine the best rate

infra Set Infrastructure mode: 0 (IBSS) or 1 (Infra BSS)

ap Set AP mode: 0 (STA) or 1 (AP)

bssid Get the BSSID value, error if STA and not associated

channel Set the channel:

       valid channels for 802.11b/g (2.4GHz band) are 1 through 14
       valid channels for 802.11a  (5 GHz band) are:
               36, 40, 44, 48, 52, 56, 60, 64,
               100, 104, 108, 112, 116,120, 124, 128, 132, 136, 140,
               149, 153, 157, 161,
               184, 188, 192, 196, 200, 204, 208, 212, 216

tssi Get the tssi value from radio

txpwr Set tx power in milliwatts. Range [1, 84]. (Deprecated: Use txpwr1 instead)

txpwr1 Set tx power in in various units. Choose one of (default: dbm):

       -d dbm units
       -q quarter dbm units
       -m milliwatt units

Can be combined with:

       -o turn on override to disable regulatory and other limitations

Use wl txpwr -1 to restore defaults


txpathpwr

       Turn the tx path power on or off on 2050 radios

txpwrlimit

       Return current tx power limit

powerindex

       Set the transmit power for A band(0-63).
       -1 - default value

atten Set the transmit attenuation for B band. Args: bb radio txctl1.

       auto to revert to automatic control

phyreg Get/Set a phy register.

radioreg

       Get/Set a radio register.

shmem Get/Set a shared memory location.

macreg Get/Set any mac registers(include IHR and SB)

       macreg offset size[2,4] [value]

antdiv Set antenna diversity for rx

       0 - force use of antenna 0
       1 - force use of antenna 1
       3 - automatic selection of antenna diversity

txant Set the transmit antenna

       0 - force use of antenna 0
       1 - force use of antenna 1
       3 - use the RX antenna selection that was in force during
           the most recently received good PLCP header

ratedump

       Print driver rate selection tunables and per-scb state to stdout
       based on remote station mac address[xx:xx:xx:xx:xx:xx]

plcphdr Set the plcp header.

       "long" or "auto" or "debug"

phytype Get phy type

scbdump print driver scb state to stdout

rateparam

       set driver rate selection tunables
       arg 1: tunable id
       arg 2: tunable value

wepstatus

       Set or Get WEP status
       wepstatus [on|off]

primary_key

       Set or get index of primary key

addwep Set an encryption key. The key must be 5, 13 or 16 bytes long, or

       10, 26, 32, or 64 hex digits long.  The encryption algorithm is
       automatically selected based on the key size. keytype is accepted
       only when key length is 16 bytes/32 hex digits and specifies
       whether AES-OCB or AES-CCM encryption is used. Default is ccm.
       addwep <keyindex> <keydata> [ocb | ccm] [notx] [xx:xx:xx:xx:xx:xx]

rmwep Remove the encryption key at the specified key index.

wep Set WEP options.

       wl wep [options]
       [on|enable|1]   enable WEP
       [off|disable|0] disable WEP
       [sw|software]   perform WEP in software
       [hw|hardware]   perform WEP in hardware

tkip Set TKIP options.

       wl tkip [options]
       [on|enable|1]   enable TKIP
       [off|disable|0] disable TKIP
       [sw|software]   perform TKIP in software
       [hw|hardware]   perform TKIP in hardware

aes Set AES options.

       wl aes [options]
       [on|enable|1]   enable AES
       [off|disable|0] disable AES
       [sw|software]   perform AES in software
       [hw|hardware]   perform AES in hardware

keys Prints a list of the current WEP keys

tsc Print Tx Sequence Couter for key at specified key index.

wsec_test

       Generate wsec errors
       wsec_test <test_type> <keyindex|xx:xx:xx:xx:xx:xx>
       type 'wl wsec_test ?' for test_types

tkip_countermeasures

       Enable or disable TKIP countermeasures (TKIP-enabled AP only)
       0 - disable
       1 - enable

wsec_restrict

       Drop unencrypted packets if WSEC is enabled
       0 - disable
       1 - enable

eap restrict traffic to 802.1X packets until 802.1X authorization succeeds

       0 - disable
       1 - enable

authorize

       restrict traffic to 802.1X packets until 802.1X authorization succeeds

deauthorize

       do not restrict traffic to 802.1X packets until 802.1X authorization succeeds

deauthenticate

       deauthenticate a STA from the AP with optional reason code (AP ONLY)

wsec wireless security bit vector

       1 - WEP enabled
       2 - TKIP enabled
       4 - AES enabled
       8 - WSEC in software

wpa_auth

       Bitvector of WPA authorization modes:
       1       WPA NONE
       2       WPA-802.1X/WPA-Professional
       4       WPA-PSK/WPA-Personal
       64      WPA2-802.1X/WPA2-Professional
       128     WPA2-PSK/WPA2-Personal
       0       disable WPA

set_pmk Set passphrase for PMK in driver-resident supplicant.

scan Initiate a scan.

       Default an active scan across all channels for any SSID.
       Optional arg: SSID, the SSID to scan.
       Options:
       -s S, --ssid=S          SSID to scan
       -t ST, --scan_type=ST   [active|passive] scan type
       --bss_type=BT           [bss/infra|ibss/adhoc] bss type to scan
       -b MAC, --bssid=MAC     particular BSSID MAC address to scan, xx:xx:xx:xx:xx:xx
       -n N, --nprobes=N       number of probes per scanned channel
       -a N, --active=N        dwell time per channel for active scanning
       -p N, --passive=N       dwell time per channel for passive scanning
       -h N, --home=N          dwell time for the home channel between channel scans
       -c L, --channels=L      comma or space separated list of channels to scan

passive Puts scan engine into passive mode

regulatory

       Get/Set regulatory domain mode (802.11d). Driver must be down.

spect Get/Set 802.11h Spectrum Management mode.

       0 - Off
       1 - Loose interpretation of spec - may join non-11h APs
       2 - Strict interpretation of spec - may not join non-11h APs

scanresults

       Return results from last scan.

assoc Print information about current network association.

       (also known as "status")

status Print information about current network association.

       (also known as "assoc")

disassoc

       Disassociate from the current BSS/IBSS.

chanlist

       Return valid channels for the current settings.

channels

       Return valid channels for the current settings.

channels_in_country

       Return valid channels for the country specified.
       Arg 1 is the country abbreviation
       Arg 2 is the band(a or b)

curpower

       Return current tx power settings

scansuppress

       Suppress all scans for testing.
       0 - allow scans
       1 - suppress scans

evm Start an EVM test on the given channel, or stop EVM test.

       Arg 1 is channel number 1-14, or "off" or 0 to stop the test.
       Arg 2 is optional rate (1, 2, 5.5 or 11)

rateset Returns or sets the supported and basic rateset, (b) indicates basic

       With no args, returns the rateset. Args are
       rateset "default" | "all" | <arbitrary rateset>
               default - driver defaults
               all - all rates are basic rates
               arbitrary rateset - list of rates
       List of rates are in Mbps and each rate is optionally followed
       by "(b)" or "b" for a Basic rate. Example: 1(b) 2b 5.5 11
       At least one rate must be Basic for a legal rateset.

roam_trigger

       Set the roam trigger RSSI threshold.  (integer)

roam_delta

       Set the roam candidate qualification delta.  (integer)

roam_scan_period

       Set the roam candidate qualification delta.  (integer)

suprates

       Returns or sets the 11g override for the supported rateset
       With no args, returns the rateset. Args are a list of rates,
       or 0 or -1 to specify an empty rateset to clear the override.
       List of rates are in Mbps, example: 1 2 5.5 11

scan_channel_time

       Get/Set scan channel time

scan_unassoc_time

       Get/Set unassociated scan channel dwell time

scan_home_time

       Get/Set scan home channel dwell time

scan_passive_time

       Get/Set passive scan channel dwell time

scan_nprobes

       Get/Set scan parameter for number of probes to use per channel scanned

prb_resp_timeout

       Get/Set probe response timeout

channel_qa

       Get last channel quality measurment

channel_qa_start

       Start a channel quality measurment

country Select Country code for use with 802.11d

       Use either long name or abbreviation from ISO 3166.
       Use 'wl country list [band(a or b)]' for the list of supported countries

locale OBSOLETE: use "wl country"

       Select the country:
       Worldwide
       Thailand
       Israel
       Jordan
       China
       Japan
       USA/Canada/ANZ
       Europe
       USAlow
       JapanHigh
       All

join Join a specified network SSID.

       Join syntax is: join <ssid> [key xxxxx] [imode bss|ibss] [amode open|shared|wpa|wpapsk|wpanone]

ssid Set or get the current SSID.

       Setting will initiate an assoication attempt if in infrastructure mode,
       or join/creation of an IBSS if in IBSS mode,
       or creation of a BSS if in AP mode.

mac Set or get the list of source MAC address matches.

       wl mac xx:xx:xx:xx:xx:xx [xx:xx:xx:xx:xx:xx ...]
       To Clear the list: wl mac none

macmode Set the mode of the MAC list.

       0 - Disable MAC address matching.
       1 - Deny association to stations on the MAC list.
       2 - Allow association to stations on the MAC list.

wds Set or get the list of WDS member MAC addresses.

       Set using a space separated list of MAC addresses.
        wl wds xx:xx:xx:xx:xx:xx [xx:xx:xx:xx:xx:xx ...]

lazywds Set or get "lazy" WDS mode (dynamically grant WDS membership to anyone).

noise Get noise (moving average) right after tx in dBm

fqacurcy

       Manufacturing test: set frequency accuracy mode.
       freqacuracy syntax is: fqacurcy <channel>
       Arg is channel number 1-14, or 0 to stop the test.

crsuprs Manufacturing test: set carrier suppression mode.

       carriersuprs syntax is: crsuprs <channel>
       Arg is channel number 1-14, or 0 to stop the test.

longtrain

       Manufacturing test: set longtraining mode.
       longtrain syntax is: longtrain <channel>
       Arg is A band channel number or 0 to stop the test.

int Interrupt Test - remember to precede by 'wl down' and follow by 'wl up'

lbt Loopback Test - remember to precede by 'wl down' and follow by 'wl up'

band Returns or sets the current band

       auto - auto switch between available bands (default)
       a - force use of 802.11a band
       b - force use of 802.11b band

bands Return the list of available 802.11 bands

phylist Return the list of available phytypes

shortslot

       Get current 11g Short Slot Timing mode. (0=long, 1=short)

shortslot_override

       Get/Set 11g Short Slot Timing mode override. (-1=auto, 0=long, 1=short)

shortslot_restrict

       Get/Set AP Restriction on associations for 11g Short Slot Timing capable STAs.
       0 - Do not restrict association based on ShortSlot capability
       1 - Restrict association to STAs with ShortSlot capability

ignore_bcns

       AP only (G mode): Check for beacons without NONERP element (0=Examine beacons, 1=Ignore beacons)

pktcnt Get the summary of good and bad packets.

upgrade Upgrade the firmware on an embedded device

gmode Set the 54g Mode (LegacyB|Auto||GOnly|BDeferred|Performance|LRS)

gmode_protection

       Get G protection mode. (0=disabled, 1=enabled)

gmode_protection_control

       Get/Set 11g protection mode control alg. (0=always off, 1=monitor local association, 2=monitor overlapping BSS)

gmode_protection_cts

       Get/Set 11g protection type to CTS (0=disable, 1=enable)

gmode_protection_override

       Get/Set 11g protection mode override. (-1=auto, 0=disable, 1=enable)

legacy_erp

       Get/Set 11g legacy ERP inclusion (0=disable, 1=enable)

scb_timeout

       AP only: inactivity timeout value for authenticated stas

assoclist

       AP only: Get the list of associated MAC addresses.

rssi Get the current RSSI val, for an AP you must specify the mac addr of the STA

isup Get driver operational state (0=down, 1=up)

fasttimer

       Get/Set High frequency watchdog timeout (tx_power) [15 sec]

slowtimer

       Get/Set Low frequency watchdog timeout (nrssislope) [60 sec]

glacialtimer

       Get/Set Very Low frequency watchdog timeout (measurelo) [120 sec]

radar Enable/Disable radar

rssidump

       Dump rssi values from aci scans

interference

       Get/Set interference mitigation mode. Choices are:
       0 = none
       1 = non wlan
       2 = wlan manual
       3 = wlan automatic

aciargs Get/Set various aci tuning parameters. Choices are:

       enter:  CRS glitch trigger level to start detecting ACI
       exit:   CRS glitch trigger level to exit ACI mode
       glitch  Seconds interval between ACI scans when glitchcount is continuously high
       spin:   Num microsecs to delay between rssi samples
       Usage: wl aciargs [enter x][exit x][spin x][glitch x]

frameburst

       Disable/Enable frameburst mode

pwr_percent

       Get/Set power output percentage

wet Get/Set wireless ethernet bridging mode

bi Get/Set the beacon period (bi=beacon interval)

dtim Get/Set DTIM

wds_remote_mac

       Get WDS link remote endpoint's MAC address

wds_wpa_role_old

       Get WDS link local endpoint's WPA role (old)

wds_wpa_role

       Get/Set WDS link local endpoint's WPA role

authe_sta_list

       Get authenticated sta mac address list

autho_sta_list

       Get authorized sta mac address list

measure_req

       Send an 802.11h measurement request.
       Usage: wl measure_req <type> <target MAC addr>
       Measurement types are: TPC, Basic, CCA, RPI
       Target MAC addr format is xx:xx:xx:xx:xx:xx

quiet Send an 802.11h quiet command.

       Usage: wl quiet <TBTTs until start>, <duration (in TUs)>, <offset (in TUs)>

csa Send an 802.11h channel switch anouncement

       Usage wl csa <mode> <when (in TBTTs)> <channel>

constraint

       Send an 802.11h Power Constraint IE
       Usage: wl constraint 1-255 db

rm_req Request a radio measurement of type basic, cca, or rpi

       specify a series of measurement types each followed by options.
       example: wl rm_req cca -c 1 -d 50 cca -c 6 cca -c 11
       Options:
       -t n  numeric token id for measurement set or measurement
       -c n  channel
       -d n  duration in TUs (1024 us)
       -p    parallel flag, measurement starts at the same time as previous
       Each measurement specified uses the same channel and duration as the
       previous unless a new channel or duration is specified.

rm_rep Get current radio measurement report

wme Set WME (Wireless Multimedia Extensions) mode (0=off, 1=on)

wme-ac wl wme-ac sta/ap [be, bk, vi, vo] [ecwmax, ecwmin, txop, aifsn, acm] value


sta_info

       wl sta_info <xx:xx:xx:xx:xx:xx>

cap driver capabilities

malloc_dump

       debug malloc info

chan_info

       channel info

add_ie Add a vendor proprietary IE to 802.11 management packets Usage: wl add_ie <pktflag> length OUI hexdata <pktflag>: Bit 0 - Beacons

          Bit 1 - Probe Rsp
          Bit 2 - Assoc/Reassoc Rsp
          Bit 3 - Auth Rsp

Example: wl add_ie 3 10 00:90:4C 0101050c121a03

        to add this IE to beacons and probe responses


del_ie Delete a vendor proprietary IE from 802.11 management packets Usage: wl del_ie <pktflag> length OUI hexdata <pktflag>: Bit 0 - Beacons

          Bit 1 - Probe Rsp
          Bit 2 - Assoc/Reassoc Rsp
          Bit 3 - Auth Rsp

Example: wl del_ie 3 10 00:90:4C 0101050c121a03


list_ie Dump the list of vendor proprietary IEs


rand Get a 2-byte Random Number from the MAC's PRNG Usage: wl rand