Commit | Line | Data |
---|---|---|
876c9d3a MT |
1 | ================================================================================ |
2 | README for USB8388 | |
3 | ||
0e8a5bd9 | 4 | (c) Copyright © 2003-2006, Marvell International Ltd. |
876c9d3a MT |
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 | ||
876c9d3a MT |
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 | ||
876c9d3a MT |
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 | |
876c9d3a MT |
202 | type=[1,2,3] BSS type: 1 (Infra), 2(Adhoc), 3(Any) |
203 | ||
dd1d12da | 204 | Any combination of the above arguments can be supplied on the command |
a7d0adae HS |
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). | |
876c9d3a MT |
209 | |
210 | Examples: | |
a7d0adae HS |
211 | 1) Perform a passive scan on all channels for 20 ms per channel: |
212 | echo "dur=20" > setuserscan | |
876c9d3a | 213 | |
a7d0adae HS |
214 | 2) Perform an active scan for a specific SSID: |
215 | echo "ssid="TestAP"" > setuserscan | |
876c9d3a | 216 | |
a7d0adae | 217 | 3) Scan all available channels (B/G, A bands) for a specific BSSID, keep |
876c9d3a MT |
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 | ||
a7d0adae | 221 | 4) Scan for all infrastructure networks. |
dd1d12da HS |
222 | Keep the previous scan table intact. Update any duplicate BSSID/SSID |
223 | matches with the new scan data: | |
a7d0adae | 224 | echo "type=1 keep=1" > setuserscan |
876c9d3a MT |
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 | ============================================================================== |