| ================================================================================ |
| README for USB8388 |
| |
| (c) Copyright © 2003-2006, Marvell International Ltd. |
| All Rights Reserved |
| |
| This software file (the "File") is distributed by Marvell International |
| Ltd. under the terms of the GNU General Public License Version 2, June 1991 |
| (the "License"). You may use, redistribute and/or modify this File in |
| accordance with the terms and conditions of the License, a copy of which |
| is available along with the File in the license.txt file or by writing to |
| the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA |
| 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt. |
| |
| THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE |
| IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE |
| ARE EXPRESSLY DISCLAIMED. The License provides additional details about |
| this warranty disclaimer. |
| ================================================================================ |
| |
| ===================== |
| DRIVER LOADING |
| ===================== |
| |
| o. Copy the firmware image (e.g. usb8388.bin) to /lib/firmware/ |
| |
| o. Load driver by using the following command: |
| |
| insmod usb8388.ko [fw_name=usb8388.bin] |
| |
| ===================== |
| IWPRIV COMMAND |
| ===================== |
| |
| NAME |
| This manual describes the usage of private commands used in Marvell WLAN |
| Linux Driver. All the commands available in Wlanconfig will not be available |
| in the iwpriv. |
| |
| SYNOPSIS |
| iwpriv <ethX> <command> [sub-command] ... |
| |
| iwpriv ethX version |
| iwpriv ethX scantype [sub-command] |
| iwpriv ethX getSNR <n> |
| iwpriv ethX getNF <n> |
| iwpriv ethX getRSSI <n> |
| iwpriv ethX setrxant <n> |
| iwpriv ethX getrxant |
| iwpriv ethX settxant <n> |
| iwpriv ethX gettxant |
| iwpriv ethX authalgs <n> |
| iwpriv ethX pre-TBTT <n> |
| iwpriv ethX 8021xauthalgs <n> |
| iwpriv ethX encryptionmode <n> |
| iwpriv ethX setregioncode <n> |
| iwpriv ethX getregioncode |
| iwpriv ethX setbcnavg <n> |
| iwpriv ethX getbcnavg |
| iwpriv ethX setdataavg <n> |
| iwpriv ethX setlisteninter <n> |
| iwpriv ethX getlisteninter |
| iwpriv ethX setmultipledtim <n> |
| iwpriv ethX getmultipledtim |
| iwpriv ethX atimwindow <n> |
| iwpriv ethX deauth |
| iwpriv ethX adhocstop |
| iwpriv ethX radioon |
| iwpriv ethX radiooff |
| iwpriv ethX reasso-on |
| iwpriv ethX reasso-off |
| iwpriv ethX scanmode [sub-command] |
| iwpriv ethX setwpaie <n> |
| iwpriv ethX wlanidle-off |
| iwpriv ethX wlanidle-on |
| iwpriv ethX getcis |
| iwpriv ethX getlog |
| iwpriv ethX getadhocstatus |
| iwpriv ethX adhocgrate <n> |
| |
| Version 4 Command: |
| iwpriv ethX inactvityto <n> |
| iwpriv ethX sleeppd <n> |
| iwpriv ethX enable11d <n> |
| iwpriv ethX tpccfg <n> |
| iwpriv ethX powercfg <n> |
| iwpriv ethX setafc <n> |
| iwpriv ethX getafc |
| |
| Version 5 Command: |
| iwpriv ethX ledgpio <n> |
| iwpriv ethX scanprobes <n> |
| iwpriv ethX lolisteninter <n> |
| iwpriv ethX rateadapt <n> <m> |
| iwpriv ethX txcontrol <n> |
| iwpriv ethX psnullinterval <n> |
| iwpriv ethX prescan <n> |
| iwpriv ethX getrxinfo |
| iwpriv ethX gettxrate |
| iwpriv ethX beaconinterval |
| |
| BT Commands: |
| The blinding table (BT) contains a list of mac addresses that should be |
| ignored by the firmware. It is primarily used for debugging and |
| testing networks. It can be edited and inspected with the following |
| commands: |
| |
| iwpriv ethX bt_reset |
| iwpriv ethX bt_add <mac_address> |
| iwpriv ethX bt_del <mac_address> |
| iwpriv ethX bt_list <id> |
| |
| FWT Commands: |
| The forwarding table (FWT) is a feature used to manage mesh network |
| routing in the firmware. The FWT is essentially a routing table that |
| associates a destination mac address (da) with a next hop receiver |
| address (ra). The FWT can be inspected and edited with the following |
| iwpriv commands, which are described in greater detail below. |
| Eventually, the table will be automatically maintained by a custom |
| routing protocol. |
| |
| NOTE: FWT commands replace the previous DFT commands. What were the DFT |
| commands?, you might ask. They were an earlier API to the firmware that |
| implemented a simple MAC-layer forwarding mechanism. In the unlikely |
| event that you were using these commands, you must migrate to the new |
| FWT commands which can be used to achieve the same functionality. |
| |
| iwpriv ethX fwt_add [parameters] |
| iwpriv ethX fwt_del [parameters] |
| iwpriv ethX fwt_lookup [parameters] |
| iwpriv ethX fwt_list [parameters] |
| iwpriv ethX fwt_list_route [parameters] |
| iwpriv ethX fwt_list_neigh [parameters] |
| iwpriv ethX fwt_reset [parameters] |
| iwpriv ethX fwt_cleanup |
| iwpriv ethX fwt_time |
| |
| MESH Commands: |
| |
| The MESH commands are used to configure various features of the mesh |
| routing protocol. The following commands are supported: |
| |
| iwpriv ethX mesh_get_ttl |
| iwpriv ethX mesh_set_ttl ttl |
| |
| DESCRIPTION |
| Those commands are used to send additional commands to the Marvell WLAN |
| card via the Linux device driver. |
| |
| The ethX parameter specifies the network device that is to be used to |
| perform this command on. it could be eth0, eth1 etc. |
| |
| version |
| This is used to get the current version of the driver and the firmware. |
| |
| scantype |
| This command is used to set the scan type to be used by the driver in |
| the scan command. This setting will not be used while performing a scan |
| for a specific SSID, as it is always done with scan type being active. |
| |
| where the sub-commands are: - |
| active -- to set the scan type to active |
| passive -- to set the scan type to passive |
| get -- to get the scan type set in the driver |
| |
| getSNR |
| This command gets the average and non average value of Signal to Noise |
| Ratio of Beacon and Data. |
| |
| where value is:- |
| 0 -- Beacon non-average. |
| 1 -- Beacon average. |
| 2 -- Data non-average. |
| 3 -- Data average. |
| |
| If no value is given, all four values are returned in the order mentioned |
| above. |
| |
| Note: This command is available only when STA is connected. |
| |
| getRSSI |
| This command gets the average and non average value os Receive Signal |
| Strength of Beacon and Data. |
| |
| where value is:- |
| 0 -- Beacon non-average. |
| 1 -- Beacon average. |
| 2 -- Data non-average. |
| 3 -- Data average. |
| |
| Note: This command is available only when STA is connected. |
| |
| getNF |
| This command gets the average and non average value of Noise Floor of |
| Beacon and Data. |
| |
| where value is:- |
| 0 -- Beacon non-average. |
| 1 -- Beacon average. |
| 2 -- Data non-average. |
| 3 -- Data average. |
| |
| Note: This command is available only when STA is connected. |
| |
| setrxant |
| This command is used to set the mode for Rx antenna. |
| |
| The options that can be sent are:- |
| 1 -- Antenna 1. |
| 2 -- Antenna 2. |
| 0xFFFF -- Diversity. |
| |
| Usage: |
| iwpriv ethX setrxant 0x01: select Antenna 1. |
| |
| getrxant |
| This command is used to get the mode for Rx antenna. |
| |
| |
| settxant |
| This command is used to set the mode for Tx antenna. |
| The options that can be sent are:- |
| 1 -- Antenna 1. |
| 2 -- Antenna 2. |
| 0xFFFF -- Diversity. |
| Usage: |
| iwpriv ethX settxant 0x01: select Antenna 1. |
| |
| gettxant |
| This command is used to get the mode for Tx antenna. |
| |
| authalgs |
| This command is used by the WPA supplicant to set the authentication |
| algorithms in the station. |
| |
| 8021xauthalgs |
| This command is used by the WPA supplicant to set the 8021.x authentication algorithm type |
| station. |
| |
| where values can be:- |
| 1 -- None |
| 2 -- LEAP |
| 4 -- TLS |
| 8 -- TTLs |
| 16 -- MD5 |
| |
| |
| encryptionmode |
| This command is used by the WPA supplicant to set the encryption algorithm. |
| |
| where values can be:- |
| 0 -- NONE |
| 1 -- WEP40 |
| 2 -- TKIP |
| 3 -- CCMP |
| 4 -- WEP104 |
| |
| pre-TBTT |
| This command is used to set pre-TBTT time period where value is in microseconds. |
| |
| setregioncode |
| This command is used to set the region code in the station. |
| where value is 'region code' for various regions like |
| USA FCC, Canada IC, Spain, France, Europe ETSI, Japan ... |
| |
| Usage: |
| iwpriv ethX setregioncode 0x10: set region code to USA (0x10). |
| |
| getregioncode |
| This command is used to get the region code information set in the |
| station. |
| |
| setbcnavg |
| Set the weighting factor for calculating RSSI. |
| |
| getbcnavg |
| Get weighting factor for calculating RSSI. |
| |
| setdataavg |
| Set the weighting factor for calculating SNR. |
| |
| setlisteninter |
| This command is used to set the listen interval in the |
| station. |
| |
| where the value ranges between 1 - 255 |
| |
| getlisteninter |
| This command is used to get the listen interval value set in the |
| station. |
| |
| setmultipledtim |
| This command is used to set the multiple dtim value in the |
| station. |
| where the value is 1,2,3,4,5,0xfffe |
| 0xfffe means the firmware will use listen interval in association |
| command for waking up |
| |
| getmultipledtim |
| This command is used to get the multiple dtim value set in the station. |
| |
| atimwindow |
| This command is used to set the atim value in the |
| station. |
| |
| where the value ranges between 0 - 50 |
| |
| deauth |
| This command is used to send the de-authentication to the AP with which |
| the station is associated. This command is valid only when |
| station is in Infrastructure mode. |
| |
| Note: This command is available only when STA is connected. |
| |
| adhocstop |
| This command is used to stop beacon transmission from the station and |
| go into idle state in ad-hoc mode. |
| |
| Note: This command is available only when STA is connected. |
| |
| radioon |
| This command is used to turn on the RF antenna. |
| |
| radiooff |
| This command is sued to turn off the RF antenna. |
| |
| scanmode |
| This command is used to set the station to scan for either IBSS |
| networks or BSS networks or both BSS and IBSS networks. This |
| command can be used with sub commands, |
| |
| where the value for |
| bss -- Scan All the BSS networks. |
| ibss -- Scan All the IBSS networks. |
| any -- Scan both BSS and IBSS networks. |
| |
| |
| |
| setwpaie |
| This command is used by WPA supplicant to send the WPA-IE to the driver. |
| |
| wlanidle-off |
| This command is used to get into idle state. |
| |
| Note: This command is available only when STA is connected. |
| |
| wlanidle-on |
| This command is used to get off the idle state. |
| |
| Note: This command is available only when STA is connected. |
| |
| |
| getlog |
| This command is used to get the 802.11 statistics available in the |
| station. |
| |
| Note: This command is available only when STA is connected. |
| |
| getadhocstatus |
| This command is used to get the ad-hoc Network Status. |
| |
| The various status codes are: |
| AdhocStarted |
| AdhocJoined |
| AdhocIdle |
| InfraMode |
| AutoUnknownMode |
| |
| Note: This command is available only when STA is connected. |
| |
| adhocgrate |
| This command is used to enable(1) g_rate, Disable(0) g_rate |
| and request(2) the status which g_rate is disabled/enabled, |
| for Ad-hoc creator. |
| |
| where value is:- |
| 0 -- Disabled |
| 1 -- Enabled |
| 2 -- Get |
| |
| ledgpio |
| This command is used to set/get LEDs. |
| |
| iwpriv ethX ledgpio <LEDs> |
| will set the corresponding LED for the GPIO Line. |
| |
| iwpriv ethX ledgpio |
| will give u which LEDs are Enabled. |
| |
| Usage: |
| iwpriv eth1 ledgpio 1 0 2 1 3 4 |
| will enable |
| LED 1 -> GPIO 0 |
| LED 2 -> GPIO 1 |
| LED 3 -> GPIO 4 |
| |
| iwpriv eth1 ledgpio |
| shows LED information in the format as mentioned above. |
| |
| Note: LED0 is invalid |
| Note: Maximum Number of LEDs are 16. |
| |
| inactivityto |
| This command is used by the host to set/get the inactivity timeout value, |
| which specifies when WLAN device is put to sleep. |
| |
| Usage: |
| iwpriv ethX inactivityto [<timeout>] |
| |
| where the parameter are: |
| timeout: timeout value in milliseconds. |
| |
| Example: |
| iwpriv eth1 inactivityto |
| "get the timeout value" |
| |
| iwpriv eth1 inactivityto X |
| "set timeout value to X ms" |
| |
| |
| sleeppd |
| This command is used to configure the sleep period of the WLAN device. |
| |
| Usage: |
| iwpriv ethX sleeppd [<sleep period>] |
| |
| where the parameter are: |
| Period: sleep period in milliseconds. Range 10~60. |
| |
| Example: |
| iwpriv eth1 sleeppd 10 |
| "set period as 10 ms" |
| iwpriv eth1 sleeppd |
| "get the sleep period configuration" |
| |
| enable11d |
| This command is used to control 11d |
| where value is:- |
| 1 -- Enabled |
| 0 -- Disabled |
| 2 -- Get |
| |
| |
| |
| |
| tpccfg |
| Enables or disables automatic transmit power control. |
| |
| The first parameter turns this feature on (1) or off (0). When turning |
| on, the user must also supply four more parameters in the following |
| order: |
| -UseSNR (Use SNR (in addition to PER) for TPC algorithm), |
| -P0 (P0 power level for TPC), |
| -P1 (P1 power level for TPC), |
| -P2 (P2 power level for TPC). |
| |
| Usage: |
| iwpriv ethX tpccfg: Get current configuration |
| iwpriv ethX tpccfg 0: disable auto TPC |
| iwpriv ethX tpccfg 0x01 0x00 0x05 0x0a 0x0d: enable auto TPC; do not use SNR; |
| P0=0x05; P1=0x0a; P2=0x0d; |
| iwpriv ethX tpccfg 0x01 0x01 0x05 0x0a 0x0d: enable auto TPC; use SNR; |
| P0=0x05; P1=0x0a; P2=0x0d. |
| |
| powercfg |
| Enables or disables power adaptation. |
| |
| The first parameter turns this feature on (1) or off (0). When turning |
| on, the user must also supply three more parameters in the following |
| order: |
| -P0 (P0 power level for Power Adaptation), |
| -P1 (P1 power level for Power Adaptation), |
| -P2 (P2 power level for Power Adaptation). |
| |
| Usage: |
| iwpriv ethX powercfg: Get current configuration |
| iwpriv ethX powercfg 0: disable power adaptation |
| iwpriv ethX powercfg 1 0x0d 0x0f 0x12: enable power adaptation; |
| P0=0x0d; P1=0x0f; P2=0x12. |
| |
| getafc |
| This command returns automatic frequency control parameters. It returns |
| three integers: |
| -P0: automatic is on (1), or off (0), |
| -P1: current timing offset in PPM (part per million), and |
| -P2: current frequency offset in PPM. |
| |
| setafc |
| Set automatic frequency control options. |
| |
| The first parameter turns automatic on (1) or off (0). |
| The user must supply two more parameters in either case, in the following |
| order: |
| |
| When auto is on: |
| |
| -P0 (automatic adjustment frequency threshold in PPM), |
| -P1 (automatic adjustment period in beacon period), |
| |
| When auto is off: |
| |
| -P0 (manual adjustment timing offset in PPM), and |
| -P1 (manual adjustment frequency offset in PPM). |
| |
| Usage: |
| iwpriv ethX setafc 0 10 10: manual adjustment, both timing and frequcncy |
| offset are 10 PPM. |
| |
| iwpriv ethX setafc 1 10 10 enable afc, automatic adjustment, |
| frequency threshold 10 PPM, for every 10 beacon periods. |
| |
| |
| |
| scanprobes |
| This command sets number of probe requests per channel. |
| |
| Usage: |
| iwpriv ethX scanprobes 3 (set scan probes to 3) |
| iwpriv ethX scanprobes (get scan probes) |
| |
| lolisteninter |
| This command sets the value of listen interval. |
| |
| Usage: |
| iwpriv ethX lolisteninter 234 (set the lolisteninter to 234) |
| iwpriv ethX lolisteninter (get the lolisteninter value) |
| |
| rateadapt |
| This command sets the data rates bitmap. |
| Where <n> |
| 0: Disable auto rate adapt |
| 1: Enable auto rate adapt |
| |
| <m> |
| data rate bitmap |
| Bit Data rate |
| 0 1 Mbps |
| 1 2 Mbps |
| 2 5.5 Mbps |
| 3 11 Mbps |
| 4 Reserved |
| 5 6 Mbps |
| 6 9 Mbps |
| 7 12 Mbps |
| 8 18 Mbps |
| 9 24 Mbps |
| 10 36 Mbps |
| 11 48 Mbps |
| 12 54 Mbps |
| 12-15 Reserved |
| |
| Usage: |
| iwpriv ethX rateadapt |
| read the currect data rate setting |
| iwpriv ethX rateadapt 1 0x07 |
| enable auto data rate adapt and |
| data rates are 1Mbps, 2Mbsp and 5.5Mbps |
| |
| |
| txcontrol |
| This command is used to set the Tx rate, ack policy, and retry limit on a per packet basis. |
| |
| Where value <n> is: |
| if bit[4] == 1: |
| bit[3:0] -- 0 1 2 3 4 5 6 7 8 9 10 11 12 13-16 |
| Data Rate(Mbps) -- 1 2 5.5 11 Rsv 6 9 12 18 24 36 48 54 Rsv |
| |
| bit[12:8] |
| if bit[12] == 1, bit[11:8] specifies the Tx retry limit. |
| |
| bit[14:13] specifies per packet ack policy: |
| bit[14:13] |
| 1 0 use immediate ack policy for this packet |
| 1 1 use no ack policy for this packet |
| 0 x use the per-packet ack policy setting |
| |
| Usage: |
| iwpriv ethX txcontrol 0x7513 |
| Use no-ack policy, 5 retires for Tx, 11Mbps rate |
| |
| |
| |
| psnullinterval |
| This command is used to set/request NULL package interval for Power Save |
| under infrastructure mode. |
| |
| where value is:- |
| -1 -- Disabled |
| n>0 -- Set interval as n (seconds) |
| |
| prescan |
| This command is used to enable (1)/disable(0) auto prescan before assoicate to the ap |
| |
| where value is:- |
| 0 -- Disabled |
| 1 -- Enabled |
| 2 -- Get |
| |
| getrxinfo |
| This command gets non average value of Signal to Noise Ratio of Data and rate index. |
| |
| The following table shows RateIndex and Rate |
| |
| RateIndex Data rate |
| 0 1 Mbps |
| 1 2 Mbps |
| 2 5.5 Mbps |
| 3 11 Mbps |
| 4 Reserved |
| 5 6 Mbps |
| 6 9 Mbps |
| 7 12 Mbps |
| 8 18 Mbps |
| 9 24 Mbps |
| 10 36 Mbps |
| 11 48 Mbps |
| 12 54 Mbps |
| 13-15 Reserved |
| |
| gettxrate |
| This command gets current Tx rate index of the first packet associated with Rate Adaptation. |
| |
| The following table shows RateIndex and Rate |
| |
| RateIndex Data rate |
| 0 1 Mbps |
| 1 2 Mbps |
| 2 5.5 Mbps |
| 3 11 Mbps |
| 4 Reserved |
| 5 6 Mbps |
| 6 9 Mbps |
| 7 12 Mbps |
| 8 18 Mbps |
| 9 24 Mbps |
| 10 36 Mbps |
| 11 48 Mbps |
| 12 54 Mbps |
| 13-15 Reserved |
| |
| bcninterval |
| This command is used to sets beacon interval in adhoc mode when an argument is given, and gets current adhoc |
| beacon interval when no argument is given. The valid beacon interval is between 20 - 1000, |
| default beacon interval is 100. |
| |
| Usage: |
| iwpriv ethX bcninterval 100 (set adhoc beacon interval to 100) |
| iwpriv ethX bcninterval (get adhoc beacon interval) |
| |
| fwt_add |
| This command is used to insert an entry into the FWT table. The list of |
| parameters must follow the following structure: |
| |
| iwpriv ethX fwt_add da ra [metric dir ssn dsn hopcount ttl expiration sleepmode snr] |
| |
| The parameters between brackets are optional, but they must appear in |
| the order specified. For example, if you want to specify the metric, |
| you must also specify the dir, ssn, and dsn but you need not specify the |
| hopcount, expiration, sleepmode, or snr. Any unspecified parameters |
| will be assigned the defaults specified below. |
| |
| The different parameters are:- |
| da -- DA MAC address in the form 00:11:22:33:44:55 |
| ra -- RA MAC address in the form 00:11:22:33:44:55 |
| metric -- route metric (cost: smaller-metric routes are |
| preferred, default is 0) |
| dir -- direction (1 for direct, 0 for reverse, |
| default is 1) |
| ssn -- Source Sequence Number (time at the RA for |
| reverse routes. Default is 0) |
| dsn -- Destination Sequence Number (time at the DA |
| for direct routes. Default is 0) |
| hopcount -- hop count (currently unused, default is 0) |
| ttl -- TTL (Only used in reverse entries) |
| expiration -- entry expiration (in ticks, where a tick is |
| 1024us, or ~ 1ms. Use 0 for an indefinite |
| entry, default is 0) |
| sleepmode -- RA's sleep mode (currently unused, default is |
| 0) |
| snr -- SNR in the link to RA (currently unused, |
| default is 0) |
| |
| The command does not return anything. |
| |
| fwt_del |
| This command is used to remove an entry to the FWT table. The list of |
| parameters must follow the following structure: |
| |
| iwpriv ethX fwt_del da ra [dir] |
| |
| where the different parameters are:- |
| da -- DA MAC address (in the form "00:11:22:33:44:55") |
| ra -- RA MAC address (in the form "00:11:22:33:44:55") |
| dir -- direction (1 for direct, 0 for reverse, |
| default is 1) |
| |
| The command does not return anything. |
| |
| fwt_lookup |
| This command is used to get the best route in the FWT table to a given |
| host. The only parameter is the MAC address of the host that is being |
| looked for. |
| |
| iwpriv ethX fwt_lookup da |
| |
| where:- |
| da -- DA MAC address (in the form "00:11:22:33:44:55") |
| |
| The command returns an output string identical to the one returned by |
| fwt_list described below. |
| |
| |
| fwt_list |
| This command is used to list a route from the FWT table. The only |
| parameter is the index into the table. If you want to list all the |
| routes in a table, start with index=0, and keep listing until you get a |
| "(null)" string. Note that the indicies may change as the fwt is |
| updated. It is expected that most users will not use fwt_list directly, |
| but that a utility similar to the traditional route command will be used |
| to invoke fwt_list over and over. |
| |
| iwpriv ethX fwt_list index |
| |
| The output is a string of the following form: |
| |
| da ra metric dir ssn dsn hopcount ttl expiration sleepmode snr |
| |
| where the different fields are:- |
| da -- DA MAC address (in the form "00:11:22:33:44:55") |
| ra -- RA MAC address (in the form "00:11:22:33:44:55") |
| metric -- route metric (cost: smaller-metric routes are preferred) |
| dir -- direction (1 for direct, 0 for reverse) |
| ssn -- Source Sequence Number (time at the RA for reverse routes) |
| dsn -- Destination Sequence Number (time at the DA for direct routes) |
| hopcount -- hop count (currently unused) |
| ttl -- TTL (only used in reverse entries) |
| expiration -- entry expiration (in ticks, where a tick is 1024us, or ~ 1ms. Use 0 for an indefinite entry) |
| sleepmode -- RA's sleep mode (currently unused) |
| snr -- SNR in the link to RA (currently unused) |
| |
| fwt_list_route |
| This command is used to list a route from the FWT table. The only |
| parameter is the route ID. If you want to list all the routes in a |
| table, start with rid=0, and keep incrementing rid until you get a |
| "(null)" string. This function is similar to fwt_list. The only |
| difference is the output format. Also note that this command is meant |
| for debugging. It is expected that users will use fwt_lookup and |
| fwt_list. One important reason for this is that the route id may change |
| as the route table is altered. |
| |
| iwpriv ethX fwt_list_route rid |
| |
| The output is a string of the following form: |
| |
| da metric dir nid ssn dsn hopcount ttl expiration |
| |
| where the different fields are:- |
| da -- DA MAC address (in the form "00:11:22:33:44:55") |
| metric -- route metric (cost: smaller-metric routes are preferred) |
| dir -- direction (1 for direct, 0 for reverse) |
| nid -- Next-hop (neighbor) host ID (nid) |
| ssn -- Source Sequence Number (time at the RA for reverse routes) |
| dsn -- Destination Sequence Number (time at the DA for direct routes) |
| hopcount -- hop count (currently unused) |
| ttl -- TTL count (only used in reverse entries) |
| expiration -- entry expiration (in ticks, where a tick is 1024us, or ~ 1ms. Use 0 for an indefinite entry) |
| |
| fwt_list_neigh |
| This command is used to list a neighbor from the FWT table. The only |
| parameter is the neighbor ID. If you want to list all the neighbors in a |
| table, start with nid=0, and keep incrementing nid until you get a |
| "(null)" string. Note that the nid from a fwt_list_route command can be |
| used as an input to this command. Also note that this command is meant |
| mostly for debugging. It is expected that users will use fwt_lookup. |
| One important reason for this is that the neighbor id may change as the |
| neighbor table is altered. |
| |
| iwpriv ethX fwt_list_neigh nid |
| |
| The output is a string of the following form: |
| |
| ra sleepmode snr references |
| |
| where the different fields are:- |
| ra -- RA MAC address (in the form "00:11:22:33:44:55") |
| sleepmode -- RA's sleep mode (currently unused) |
| snr -- SNR in the link to RA (currently unused) |
| references -- RA's reference counter |
| |
| fwt_reset |
| This command is used to reset the FWT table, getting rid of all the |
| entries. There are no input parameters. |
| |
| iwpriv ethX fwt_reset |
| |
| The command does not return anything. |
| |
| fwt_cleanup |
| This command is used to perform user-based garbage recollection. The |
| FWT table is checked, and all the entries that are expired or invalid |
| are cleaned. Note that this is exported to the driver for debugging |
| purposes, as garbage collection is also fired by the firmware when in |
| space problems. There are no input parameters. |
| |
| iwpriv ethX fwt_cleanup |
| |
| The command does returns the number of invalid/expired routes deleted. |
| |
| fwt_time |
| This command returns a card's internal time representation. It is this |
| time that is used to represent the expiration times of FWT entries. The |
| number is not consistent from card to card; it is simply a timer count. |
| The fwt_time command is used to inspect the timer so that expiration |
| times reported by fwt_list can be properly interpreted. |
| |
| iwpriv ethX fwt_time |
| |
| mesh_get_ttl |
| |
| The mesh ttl is the number of hops a mesh packet can traverse before it |
| is dropped. This parameter is used to prevent infinite loops in the |
| mesh network. The value returned by this function is the ttl assigned |
| to all mesh packets. Currently there is no way to control the ttl on a |
| per packet or per socket basis. |
| |
| iwpriv ethX mesh_get_ttl |
| |
| mesh_set_ttl ttl |
| |
| Set the ttl. The argument must be between 0 and 255. |
| |
| iwpriv ethX mesh_set_ttl <ttl> |
| |
| ========================= |
| ETHTOOL |
| ========================= |
| |
| |
| Use the -i option to retrieve version information from the driver. |
| |
| # ethtool -i eth0 |
| driver: libertas |
| version: COMM-USB8388-318.p4 |
| firmware-version: 5.110.7 |
| bus-info: |
| |
| Use the -e option to read the EEPROM contents of the card. |
| |
| Usage: |
| ethtool -e ethX [raw on|off] [offset N] [length N] |
| |
| -e retrieves and prints an EEPROM dump for the specified ethernet |
| device. When raw is enabled, then it dumps the raw EEPROM data |
| to stdout. The length and offset parameters allow dumping cer- |
| tain portions of the EEPROM. Default is to dump the entire EEP- |
| ROM. |
| |
| # ethtool -e eth0 offset 0 length 16 |
| Offset Values |
| ------ ------ |
| 0x0000 38 33 30 58 00 00 34 f4 00 00 10 00 00 c4 17 00 |
| |
| ======================== |
| DEBUGFS COMMANDS |
| ======================== |
| |
| those commands are used via debugfs interface |
| |
| =========== |
| rdmac |
| rdbbp |
| rdrf |
| These commands are used to read the MAC, BBP and RF registers from the |
| card. These commands take one parameter that specifies the offset |
| location that is to be read. This parameter must be specified in |
| hexadecimal (its possible to preceed preceding the number with a "0x"). |
| |
| Path: /debugfs/libertas_wireless/ethX/registers/ |
| |
| Usage: |
| echo "0xa123" > rdmac ; cat rdmac |
| echo "0xa123" > rdbbp ; cat rdbbp |
| echo "0xa123" > rdrf ; cat rdrf |
| wrmac |
| wrbbp |
| wrrf |
| These commands are used to write the MAC, BBP and RF registers in the |
| card. These commands take two parameters that specify the offset |
| location and the value that is to be written. This parameters must |
| be specified in hexadecimal (its possible to preceed the number |
| with a "0x"). |
| |
| Usage: |
| echo "0xa123 0xaa" > wrmac |
| echo "0xa123 0xaa" > wrbbp |
| echo "0xa123 0xaa" > wrrf |
| |
| sleepparams |
| This command is used to set the sleepclock configurations |
| |
| Path: /debugfs/libertas_wireless/ethX/ |
| |
| Usage: |
| cat sleepparams: reads the current sleepclock configuration |
| |
| echo "p1 p2 p3 p4 p5 p6" > sleepparams: writes the sleepclock configuration. |
| |
| 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) |
| |
| subscribed_events |
| |
| The subscribed_events directory contains the interface for the |
| subscribed events API. |
| |
| Path: /debugfs/libertas_wireless/ethX/subscribed_events/ |
| |
| Each event is represented by a filename. Each filename consists of the |
| following three fields: |
| Value Frequency Subscribed |
| |
| To read the current values for a given event, do: |
| cat event |
| To set the current values, do: |
| echo "60 2 1" > event |
| |
| Frequency field specifies the reporting frequency for this event. |
| If it is set to 0, then the event is reported only once, and then |
| automatically unsubscribed. If it is set to 1, then the event is |
| reported every time it occurs. If it is set to N, then the event is |
| reported every Nth time it occurs. |
| |
| beacon_missed |
| Value field specifies the number of consecutive missing beacons which |
| triggers the LINK_LOSS event. This event is generated only once after |
| which the firmware resets its state. At initialization, the LINK_LOSS |
| event is subscribed by default. The default value of MissedBeacons is |
| 60. |
| |
| failure_count |
| Value field specifies the consecutive failure count threshold which |
| triggers the generation of the MAX_FAIL event. Once this event is |
| generated, the consecutive failure count is reset to 0. |
| At initialization, the MAX_FAIL event is NOT subscribed by |
| default. |
| |
| high_rssi |
| This event is generated when the average received RSSI in beacons goes |
| above a threshold, specified by Value. |
| |
| low_rssi |
| This event is generated when the average received RSSI in beacons goes |
| below a threshold, specified by Value. |
| |
| high_snr |
| This event is generated when the average received SNR in beacons goes |
| above a threshold, specified by Value. |
| |
| low_snr |
| This event is generated when the average received SNR in beacons goes |
| below a threshold, specified by Value. |
| |
| extscan |
| This command is used to do a specific scan. |
| |
| Path: /debugfs/libertas_wireless/ethX/ |
| |
| Usage: echo "SSID" > extscan |
| |
| Example: |
| echo "LINKSYS-AP" > extscan |
| |
| To see the results of use getscantable command. |
| |
| getscantable |
| |
| Display the current contents of the driver scan table (ie. get the |
| scan results). |
| |
| Path: /debugfs/libertas_wireless/ethX/ |
| |
| Usage: |
| cat getscantable |
| |
| setuserscan |
| Initiate a customized scan and retrieve the results |
| |
| |
| Path: /debugfs/libertas_wireless/ethX/ |
| |
| Usage: |
| echo "[ARGS]" > setuserscan |
| |
| where [ARGS]: |
| |
| chan=[chan#][band][mode] where band is [a,b,g] and mode is |
| blank for active or 'p' for passive |
| bssid=xx:xx:xx:xx:xx:xx specify a BSSID filter for the scan |
| ssid="[SSID]" specify a SSID filter for the scan |
| 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 |
| 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 |
| the 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: |
| echo "chan=1g,6g,11g" > setuserscan |
| |
| 2) Perform a passive scan on channel 11 for 20 ms: |
| echo "chan=11gp dur=20" > setuserscan |
| |
| 3) Perform an active scan on channels 1, 6, and 11; and a passive scan on |
| channel 36 in the 'a' band: |
| |
| echo "chan=1g,6g,11g,36ap" > setuserscan |
| |
| 4) Perform an active scan on channel 6 and 36 for a specific SSID: |
| echo "chan=6g,36a ssid="TestAP"" > setuserscan |
| |
| 5) Scan all available channels (B/G, A bands) for a specific BSSID, keep |
| the current scan table intact, update existing or append new scan data: |
| echo "bssid=00:50:43:20:12:82 keep=1" > setuserscan |
| |
| 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: |
| echo "chan=6g type=1 probes=2 keep=1" > setuserscan |
| |
| 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. |
| |
| ============================================================================== |