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