xref: /linux/drivers/net/wireless/marvell/libertas/README (revision 4b132aacb0768ac1e652cf517097ea6f237214b9)
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