1================================================================================ 2 README for Libertas 3 4 (c) Copyright © 2003-2006, Marvell International Ltd. 5 All Rights Reserved 6 7 This software file (the "File") is distributed by Marvell International 8 Ltd. under the terms of the GNU General Public License Version 2, June 1991 9 (the "License"). You may use, redistribute and/or modify this File in 10 accordance with the terms and conditions of the License, a copy of which 11 is available along with the File in the license.txt file or on the worldwide 12 web at http://www.gnu.org/licenses/gpl.txt. 13 14 THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE 15 IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE 16 ARE EXPRESSLY DISCLAIMED. The License provides additional details about 17 this warranty disclaimer. 18================================================================================ 19 20===================== 21DRIVER LOADING 22===================== 23 24 o. Copy the firmware image (e.g. usb8388.bin) to /lib/firmware/ 25 26 o. Load driver by using the following command: 27 28 insmod usb8388.ko [fw_name=usb8388.bin] 29 30========================= 31ETHTOOL 32========================= 33 34 35Use the -i option to retrieve version information from the driver. 36 37# ethtool -i eth0 38driver: libertas 39version: COMM-USB8388-318.p4 40firmware-version: 5.110.7 41bus-info: 42 43Use the -e option to read the EEPROM contents of the card. 44 45 Usage: 46 ethtool -e ethX [raw on|off] [offset N] [length N] 47 48 -e retrieves and prints an EEPROM dump for the specified ethernet 49 device. When raw is enabled, then it dumps the raw EEPROM data 50 to stdout. The length and offset parameters allow dumping cer- 51 tain portions of the EEPROM. Default is to dump the entire EEP- 52 ROM. 53 54# ethtool -e eth0 offset 0 length 16 55Offset Values 56------ ------ 570x0000 38 33 30 58 00 00 34 f4 00 00 10 00 00 c4 17 00 58 59======================== 60DEBUGFS COMMANDS 61======================== 62 63those commands are used via debugfs interface 64 65=========== 66rdmac 67rdbbp 68rdrf 69 These commands are used to read the MAC, BBP and RF registers from the 70 card. These commands take one parameter that specifies the offset 71 location that is to be read. This parameter must be specified in 72 hexadecimal (its possible to precede preceding the number with a "0x"). 73 74 Path: /sys/kernel/debug/libertas_wireless/ethX/registers/ 75 76 Usage: 77 echo "0xa123" > rdmac ; cat rdmac 78 echo "0xa123" > rdbbp ; cat rdbbp 79 echo "0xa123" > rdrf ; cat rdrf 80wrmac 81wrbbp 82wrrf 83 These commands are used to write the MAC, BBP and RF registers in the 84 card. These commands take two parameters that specify the offset 85 location and the value that is to be written. This parameters must 86 be specified in hexadecimal (its possible to precede the number 87 with a "0x"). 88 89 Usage: 90 echo "0xa123 0xaa" > wrmac 91 echo "0xa123 0xaa" > wrbbp 92 echo "0xa123 0xaa" > wrrf 93 94sleepparams 95 This command is used to set the sleepclock configurations 96 97 Path: /sys/kernel/debug/libertas_wireless/ethX/ 98 99 Usage: 100 cat sleepparams: reads the current sleepclock configuration 101 102 echo "p1 p2 p3 p4 p5 p6" > sleepparams: writes the sleepclock configuration. 103 104 where: 105 p1 is Sleep clock error in ppm (0-65535) 106 p2 is Wakeup offset in usec (0-65535) 107 p3 is Clock stabilization time in usec (0-65535) 108 p4 is Control periodic calibration (0-2) 109 p5 is Control the use of external sleep clock (0-2) 110 p6 is reserved for debug (0-65535) 111 112subscribed_events 113 114 The subscribed_events directory contains the interface for the 115 subscribed events API. 116 117 Path: /sys/kernel/debug/libertas_wireless/ethX/subscribed_events/ 118 119 Each event is represented by a filename. Each filename consists of the 120 following three fields: 121 Value Frequency Subscribed 122 123 To read the current values for a given event, do: 124 cat event 125 To set the current values, do: 126 echo "60 2 1" > event 127 128 Frequency field specifies the reporting frequency for this event. 129 If it is set to 0, then the event is reported only once, and then 130 automatically unsubscribed. If it is set to 1, then the event is 131 reported every time it occurs. If it is set to N, then the event is 132 reported every Nth time it occurs. 133 134 beacon_missed 135 Value field specifies the number of consecutive missing beacons which 136 triggers the LINK_LOSS event. This event is generated only once after 137 which the firmware resets its state. At initialization, the LINK_LOSS 138 event is subscribed by default. The default value of MissedBeacons is 139 60. 140 141 failure_count 142 Value field specifies the consecutive failure count threshold which 143 triggers the generation of the MAX_FAIL event. Once this event is 144 generated, the consecutive failure count is reset to 0. 145 At initialization, the MAX_FAIL event is NOT subscribed by 146 default. 147 148 high_rssi 149 This event is generated when the average received RSSI in beacons goes 150 above a threshold, specified by Value. 151 152 low_rssi 153 This event is generated when the average received RSSI in beacons goes 154 below a threshold, specified by Value. 155 156 high_snr 157 This event is generated when the average received SNR in beacons goes 158 above a threshold, specified by Value. 159 160 low_snr 161 This event is generated when the average received SNR in beacons goes 162 below a threshold, specified by Value. 163 164extscan 165 This command is used to do a specific scan. 166 167 Path: /sys/kernel/debug/libertas_wireless/ethX/ 168 169 Usage: echo "SSID" > extscan 170 171 Example: 172 echo "LINKSYS-AP" > extscan 173 174 To see the results of use getscantable command. 175 176getscantable 177 178 Display the current contents of the driver scan table (ie. get the 179 scan results). 180 181 Path: /sys/kernel/debug/libertas_wireless/ethX/ 182 183 Usage: 184 cat getscantable 185 186setuserscan 187 Initiate a customized scan and retrieve the results 188 189 190 Path: /sys/kernel/debug/libertas_wireless/ethX/ 191 192 Usage: 193 echo "[ARGS]" > setuserscan 194 195 where [ARGS]: 196 197 bssid=xx:xx:xx:xx:xx:xx specify a BSSID filter for the scan 198 ssid="[SSID]" specify a SSID filter for the scan 199 keep=[0 or 1] keep the previous scan results (1), discard (0) 200 dur=[scan time] time to scan for each channel in milliseconds 201 type=[1,2,3] BSS type: 1 (Infra), 2(Adhoc), 3(Any) 202 203 Any combination of the above arguments can be supplied on the command 204 line. If dur tokens are absent, the driver default setting will be used. 205 The bssid and ssid fields, if blank, will produce an unfiltered scan. 206 The type field will default to 3 (Any) and the keep field will default 207 to 0 (Discard). 208 209 Examples: 210 1) Perform a passive scan on all channels for 20 ms per channel: 211 echo "dur=20" > setuserscan 212 213 2) Perform an active scan for a specific SSID: 214 echo "ssid="TestAP"" > setuserscan 215 216 3) Scan all available channels (B/G, A bands) for a specific BSSID, keep 217 the current scan table intact, update existing or append new scan data: 218 echo "bssid=00:50:43:20:12:82 keep=1" > setuserscan 219 220 4) Scan for all infrastructure networks. 221 Keep the previous scan table intact. Update any duplicate BSSID/SSID 222 matches with the new scan data: 223 echo "type=1 keep=1" > setuserscan 224 225 All entries in the scan table (not just the new scan data when keep=1) 226 will be displayed upon completion by use of the getscantable ioctl. 227 228hostsleep 229 This command is used to enable/disable host sleep. 230 Note: Host sleep parameters should be configured using 231 "ethtool -s ethX wol X" command before enabling host sleep. 232 233 Path: /sys/kernel/debug/libertas_wireless/ethX/ 234 235 Usage: 236 cat hostsleep: reads the current hostsleep state 237 echo "1" > hostsleep : enable host sleep. 238 echo "0" > hostsleep : disable host sleep 239 240