0001 ================================================================================
0002 README for Libertas
0003
0004 (c) Copyright © 2003-2006, Marvell International Ltd.
0005 All Rights Reserved
0006
0007 This software file (the "File") is distributed by Marvell International
0008 Ltd. under the terms of the GNU General Public License Version 2, June 1991
0009 (the "License"). You may use, redistribute and/or modify this File in
0010 accordance with the terms and conditions of the License, a copy of which
0011 is available along with the File in the license.txt file or on the worldwide
0012 web at http://www.gnu.org/licenses/gpl.txt.
0013
0014 THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
0015 IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
0016 ARE EXPRESSLY DISCLAIMED. The License provides additional details about
0017 this warranty disclaimer.
0018 ================================================================================
0019
0020 =====================
0021 DRIVER LOADING
0022 =====================
0023
0024 o. Copy the firmware image (e.g. usb8388.bin) to /lib/firmware/
0025
0026 o. Load driver by using the following command:
0027
0028 insmod usb8388.ko [fw_name=usb8388.bin]
0029
0030 =========================
0031 ETHTOOL
0032 =========================
0033
0034
0035 Use the -i option to retrieve version information from the driver.
0036
0037 # ethtool -i eth0
0038 driver: libertas
0039 version: COMM-USB8388-318.p4
0040 firmware-version: 5.110.7
0041 bus-info:
0042
0043 Use the -e option to read the EEPROM contents of the card.
0044
0045 Usage:
0046 ethtool -e ethX [raw on|off] [offset N] [length N]
0047
0048 -e retrieves and prints an EEPROM dump for the specified ethernet
0049 device. When raw is enabled, then it dumps the raw EEPROM data
0050 to stdout. The length and offset parameters allow dumping cer-
0051 tain portions of the EEPROM. Default is to dump the entire EEP-
0052 ROM.
0053
0054 # ethtool -e eth0 offset 0 length 16
0055 Offset Values
0056 ------ ------
0057 0x0000 38 33 30 58 00 00 34 f4 00 00 10 00 00 c4 17 00
0058
0059 ========================
0060 DEBUGFS COMMANDS
0061 ========================
0062
0063 those commands are used via debugfs interface
0064
0065 ===========
0066 rdmac
0067 rdbbp
0068 rdrf
0069 These commands are used to read the MAC, BBP and RF registers from the
0070 card. These commands take one parameter that specifies the offset
0071 location that is to be read. This parameter must be specified in
0072 hexadecimal (its possible to precede preceding the number with a "0x").
0073
0074 Path: /sys/kernel/debug/libertas_wireless/ethX/registers/
0075
0076 Usage:
0077 echo "0xa123" > rdmac ; cat rdmac
0078 echo "0xa123" > rdbbp ; cat rdbbp
0079 echo "0xa123" > rdrf ; cat rdrf
0080 wrmac
0081 wrbbp
0082 wrrf
0083 These commands are used to write the MAC, BBP and RF registers in the
0084 card. These commands take two parameters that specify the offset
0085 location and the value that is to be written. This parameters must
0086 be specified in hexadecimal (its possible to precede the number
0087 with a "0x").
0088
0089 Usage:
0090 echo "0xa123 0xaa" > wrmac
0091 echo "0xa123 0xaa" > wrbbp
0092 echo "0xa123 0xaa" > wrrf
0093
0094 sleepparams
0095 This command is used to set the sleepclock configurations
0096
0097 Path: /sys/kernel/debug/libertas_wireless/ethX/
0098
0099 Usage:
0100 cat sleepparams: reads the current sleepclock configuration
0101
0102 echo "p1 p2 p3 p4 p5 p6" > sleepparams: writes the sleepclock configuration.
0103
0104 where:
0105 p1 is Sleep clock error in ppm (0-65535)
0106 p2 is Wakeup offset in usec (0-65535)
0107 p3 is Clock stabilization time in usec (0-65535)
0108 p4 is Control periodic calibration (0-2)
0109 p5 is Control the use of external sleep clock (0-2)
0110 p6 is reserved for debug (0-65535)
0111
0112 subscribed_events
0113
0114 The subscribed_events directory contains the interface for the
0115 subscribed events API.
0116
0117 Path: /sys/kernel/debug/libertas_wireless/ethX/subscribed_events/
0118
0119 Each event is represented by a filename. Each filename consists of the
0120 following three fields:
0121 Value Frequency Subscribed
0122
0123 To read the current values for a given event, do:
0124 cat event
0125 To set the current values, do:
0126 echo "60 2 1" > event
0127
0128 Frequency field specifies the reporting frequency for this event.
0129 If it is set to 0, then the event is reported only once, and then
0130 automatically unsubscribed. If it is set to 1, then the event is
0131 reported every time it occurs. If it is set to N, then the event is
0132 reported every Nth time it occurs.
0133
0134 beacon_missed
0135 Value field specifies the number of consecutive missing beacons which
0136 triggers the LINK_LOSS event. This event is generated only once after
0137 which the firmware resets its state. At initialization, the LINK_LOSS
0138 event is subscribed by default. The default value of MissedBeacons is
0139 60.
0140
0141 failure_count
0142 Value field specifies the consecutive failure count threshold which
0143 triggers the generation of the MAX_FAIL event. Once this event is
0144 generated, the consecutive failure count is reset to 0.
0145 At initialization, the MAX_FAIL event is NOT subscribed by
0146 default.
0147
0148 high_rssi
0149 This event is generated when the average received RSSI in beacons goes
0150 above a threshold, specified by Value.
0151
0152 low_rssi
0153 This event is generated when the average received RSSI in beacons goes
0154 below a threshold, specified by Value.
0155
0156 high_snr
0157 This event is generated when the average received SNR in beacons goes
0158 above a threshold, specified by Value.
0159
0160 low_snr
0161 This event is generated when the average received SNR in beacons goes
0162 below a threshold, specified by Value.
0163
0164 extscan
0165 This command is used to do a specific scan.
0166
0167 Path: /sys/kernel/debug/libertas_wireless/ethX/
0168
0169 Usage: echo "SSID" > extscan
0170
0171 Example:
0172 echo "LINKSYS-AP" > extscan
0173
0174 To see the results of use getscantable command.
0175
0176 getscantable
0177
0178 Display the current contents of the driver scan table (ie. get the
0179 scan results).
0180
0181 Path: /sys/kernel/debug/libertas_wireless/ethX/
0182
0183 Usage:
0184 cat getscantable
0185
0186 setuserscan
0187 Initiate a customized scan and retrieve the results
0188
0189
0190 Path: /sys/kernel/debug/libertas_wireless/ethX/
0191
0192 Usage:
0193 echo "[ARGS]" > setuserscan
0194
0195 where [ARGS]:
0196
0197 bssid=xx:xx:xx:xx:xx:xx specify a BSSID filter for the scan
0198 ssid="[SSID]" specify a SSID filter for the scan
0199 keep=[0 or 1] keep the previous scan results (1), discard (0)
0200 dur=[scan time] time to scan for each channel in milliseconds
0201 type=[1,2,3] BSS type: 1 (Infra), 2(Adhoc), 3(Any)
0202
0203 Any combination of the above arguments can be supplied on the command
0204 line. If dur tokens are absent, the driver default setting will be used.
0205 The bssid and ssid fields, if blank, will produce an unfiltered scan.
0206 The type field will default to 3 (Any) and the keep field will default
0207 to 0 (Discard).
0208
0209 Examples:
0210 1) Perform a passive scan on all channels for 20 ms per channel:
0211 echo "dur=20" > setuserscan
0212
0213 2) Perform an active scan for a specific SSID:
0214 echo "ssid="TestAP"" > setuserscan
0215
0216 3) Scan all available channels (B/G, A bands) for a specific BSSID, keep
0217 the current scan table intact, update existing or append new scan data:
0218 echo "bssid=00:50:43:20:12:82 keep=1" > setuserscan
0219
0220 4) Scan for all infrastructure networks.
0221 Keep the previous scan table intact. Update any duplicate BSSID/SSID
0222 matches with the new scan data:
0223 echo "type=1 keep=1" > setuserscan
0224
0225 All entries in the scan table (not just the new scan data when keep=1)
0226 will be displayed upon completion by use of the getscantable ioctl.
0227
0228 hostsleep
0229 This command is used to enable/disable host sleep.
0230 Note: Host sleep parameters should be configured using
0231 "ethtool -s ethX wol X" command before enabling host sleep.
0232
0233 Path: /sys/kernel/debug/libertas_wireless/ethX/
0234
0235 Usage:
0236 cat hostsleep: reads the current hostsleep state
0237 echo "1" > hostsleep : enable host sleep.
0238 echo "0" > hostsleep : disable host sleep
0239