libertas: move under marvell vendor directory
[cascardo/linux.git] / drivers / net / wireless / marvell / libertas / README
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 =====================
21 DRIVER 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 =========================
31 ETHTOOL
32 =========================
33
34
35 Use the -i option to retrieve version information from the driver.
36
37 # ethtool -i eth0
38 driver: libertas
39 version: COMM-USB8388-318.p4
40 firmware-version: 5.110.7
41 bus-info:
42
43 Use 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
55 Offset          Values
56 ------          ------
57 0x0000          38 33 30 58 00 00 34 f4 00 00 10 00 00 c4 17 00
58
59 ========================
60 DEBUGFS COMMANDS
61 ========================
62
63 those commands are used via debugfs interface
64
65 ===========
66 rdmac
67 rdbbp
68 rdrf
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
80 wrmac
81 wrbbp
82 wrrf
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
94 sleepparams
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
112 subscribed_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
164 extscan
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
176 getscantable
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
186 setuserscan
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
228 hostsleep
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