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=====================
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