diff options
author | Marcelo Tosatti <marcelo@kvack.org> | 2007-02-10 09:25:27 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-04-28 11:00:54 -0400 |
commit | 876c9d3aeb989cf1961f2c228d309ba5dcfb1172 (patch) | |
tree | 239e9db92d13abc799c1ffc5304d8ec1503dbc61 /drivers/net/wireless/libertas/README | |
parent | 35c3404efa7407811b706453f83d39b2539dcbd0 (diff) |
[PATCH] Marvell Libertas 8388 802.11b/g USB driver
Add the Marvell Libertas 8388 802.11 USB driver.
Signed-off-by: Marcelo Tosatti <marcelo@kvack.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/README')
-rw-r--r-- | drivers/net/wireless/libertas/README | 1044 |
1 files changed, 1044 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/README b/drivers/net/wireless/libertas/README new file mode 100644 index 000000000000..688da4c784b1 --- /dev/null +++ b/drivers/net/wireless/libertas/README | |||
@@ -0,0 +1,1044 @@ | |||
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 | IWPRIV COMMAND | ||
33 | ===================== | ||
34 | |||
35 | NAME | ||
36 | This manual describes the usage of private commands used in Marvell WLAN | ||
37 | Linux Driver. All the commands available in Wlanconfig will not be available | ||
38 | in the iwpriv. | ||
39 | |||
40 | SYNOPSIS | ||
41 | iwpriv <ethX> <command> [sub-command] ... | ||
42 | |||
43 | iwpriv ethX version | ||
44 | iwpriv ethX scantype [sub-command] | ||
45 | iwpriv ethX getSNR <n> | ||
46 | iwpriv ethX getNF <n> | ||
47 | iwpriv ethX getRSSI <n> | ||
48 | iwpriv ethX setrxant <n> | ||
49 | iwpriv ethX getrxant | ||
50 | iwpriv ethX settxant <n> | ||
51 | iwpriv ethX gettxant | ||
52 | iwpriv ethX authalgs <n> | ||
53 | iwpriv ethX pre-TBTT <n> | ||
54 | iwpriv ethX 8021xauthalgs <n> | ||
55 | iwpriv ethX encryptionmode <n> | ||
56 | iwpriv ethX setregioncode <n> | ||
57 | iwpriv ethX getregioncode | ||
58 | iwpriv ethX setbcnavg <n> | ||
59 | iwpriv ethX getbcnavg | ||
60 | iwpriv ethX setdataavg <n> | ||
61 | iwpriv ethX setlisteninter <n> | ||
62 | iwpriv ethX getlisteninter | ||
63 | iwpriv ethX setmultipledtim <n> | ||
64 | iwpriv ethX getmultipledtim | ||
65 | iwpriv ethX atimwindow <n> | ||
66 | iwpriv ethX deauth | ||
67 | iwpriv ethX adhocstop | ||
68 | iwpriv ethX radioon | ||
69 | iwpriv ethX radiooff | ||
70 | iwpriv ethX reasso-on | ||
71 | iwpriv ethX reasso-off | ||
72 | iwpriv ethX scanmode [sub-command] | ||
73 | iwpriv ethX setwpaie <n> | ||
74 | iwpriv ethX wlanidle-off | ||
75 | iwpriv ethX wlanidle-on | ||
76 | iwpriv ethX getcis | ||
77 | iwpriv ethX getlog | ||
78 | iwpriv ethX getadhocstatus | ||
79 | iwpriv ethX adhocgrate <n> | ||
80 | |||
81 | Version 4 Command: | ||
82 | iwpriv ethX inactvityto <n> | ||
83 | iwpriv ethX sleeppd <n> | ||
84 | iwpriv ethX enable11d <n> | ||
85 | iwpriv ethX tpccfg <n> | ||
86 | iwpriv ethX powercfg <n> | ||
87 | iwpriv ethX setafc <n> | ||
88 | iwpriv ethX getafc | ||
89 | |||
90 | Version 5 Command: | ||
91 | iwpriv ethX ledgpio <n> | ||
92 | iwpriv ethX scanprobes <n> | ||
93 | iwpriv ethX lolisteninter <n> | ||
94 | iwpriv ethX rateadapt <n> <m> | ||
95 | iwpriv ethX txcontrol <n> | ||
96 | iwpriv ethX psnullinterval <n> | ||
97 | iwpriv ethX prescan <n> | ||
98 | iwpriv ethX getrxinfo | ||
99 | iwpriv ethX gettxrate | ||
100 | iwpriv ethX beaconinterval | ||
101 | |||
102 | BT Commands: | ||
103 | The blinding table (BT) contains a list of mac addresses that should be | ||
104 | ignored by the firmware. It is primarily used for debugging and | ||
105 | testing networks. It can be edited and inspected with the following | ||
106 | commands: | ||
107 | |||
108 | iwpriv ethX bt_reset | ||
109 | iwpriv ethX bt_add <mac_address> | ||
110 | iwpriv ethX bt_del <mac_address> | ||
111 | iwpriv ethX bt_list <id> | ||
112 | |||
113 | FWT Commands: | ||
114 | The forwarding table (FWT) is a feature used to manage mesh network | ||
115 | routing in the firmware. The FWT is essentially a routing table that | ||
116 | associates a destination mac address (da) with a next hop receiver | ||
117 | address (ra). The FWT can be inspected and edited with the following | ||
118 | iwpriv commands, which are described in greater detail below. | ||
119 | Eventually, the table will be automatically maintained by a custom | ||
120 | routing protocol. | ||
121 | |||
122 | NOTE: FWT commands replace the previous DFT commands. What were the DFT | ||
123 | commands?, you might ask. They were an earlier API to the firmware that | ||
124 | implemented a simple MAC-layer forwarding mechanism. In the unlikely | ||
125 | event that you were using these commands, you must migrate to the new | ||
126 | FWT commands which can be used to achieve the same functionality. | ||
127 | |||
128 | iwpriv ethX fwt_add [parameters] | ||
129 | iwpriv ethX fwt_del [parameters] | ||
130 | iwpriv ethX fwt_lookup [parameters] | ||
131 | iwpriv ethX fwt_list [parameters] | ||
132 | iwpriv ethX fwt_list_route [parameters] | ||
133 | iwpriv ethX fwt_list_neigh [parameters] | ||
134 | iwpriv ethX fwt_reset [parameters] | ||
135 | iwpriv ethX fwt_cleanup | ||
136 | iwpriv ethX fwt_time | ||
137 | |||
138 | MESH Commands: | ||
139 | |||
140 | The MESH commands are used to configure various features of the mesh | ||
141 | routing protocol. The following commands are supported: | ||
142 | |||
143 | iwpriv ethX mesh_get_ttl | ||
144 | iwpriv ethX mesh_set_ttl ttl | ||
145 | |||
146 | DESCRIPTION | ||
147 | Those commands are used to send additional commands to the Marvell WLAN | ||
148 | card via the Linux device driver. | ||
149 | |||
150 | The ethX parameter specifies the network device that is to be used to | ||
151 | perform this command on. it could be eth0, eth1 etc. | ||
152 | |||
153 | version | ||
154 | This is used to get the current version of the driver and the firmware. | ||
155 | |||
156 | scantype | ||
157 | This command is used to set the scan type to be used by the driver in | ||
158 | the scan command. This setting will not be used while performing a scan | ||
159 | for a specific SSID, as it is always done with scan type being active. | ||
160 | |||
161 | where the sub-commands are: - | ||
162 | active -- to set the scan type to active | ||
163 | passive -- to set the scan type to passive | ||
164 | get -- to get the scan type set in the driver | ||
165 | |||
166 | getSNR | ||
167 | This command gets the average and non average value of Signal to Noise | ||
168 | Ratio of Beacon and Data. | ||
169 | |||
170 | where value is:- | ||
171 | 0 -- Beacon non-average. | ||
172 | 1 -- Beacon average. | ||
173 | 2 -- Data non-average. | ||
174 | 3 -- Data average. | ||
175 | |||
176 | If no value is given, all four values are returned in the order mentioned | ||
177 | above. | ||
178 | |||
179 | Note: This command is available only when STA is connected. | ||
180 | |||
181 | getRSSI | ||
182 | This command gets the average and non average value os Receive Signal | ||
183 | Strength of Beacon and Data. | ||
184 | |||
185 | where value is:- | ||
186 | 0 -- Beacon non-average. | ||
187 | 1 -- Beacon average. | ||
188 | 2 -- Data non-average. | ||
189 | 3 -- Data average. | ||
190 | |||
191 | Note: This command is available only when STA is connected. | ||
192 | |||
193 | getNF | ||
194 | This command gets the average and non average value of Noise Floor of | ||
195 | Beacon and Data. | ||
196 | |||
197 | where value is:- | ||
198 | 0 -- Beacon non-average. | ||
199 | 1 -- Beacon average. | ||
200 | 2 -- Data non-average. | ||
201 | 3 -- Data average. | ||
202 | |||
203 | Note: This command is available only when STA is connected. | ||
204 | |||
205 | setrxant | ||
206 | This command is used to set the mode for Rx antenna. | ||
207 | |||
208 | The options that can be sent are:- | ||
209 | 1 -- Antenna 1. | ||
210 | 2 -- Antenna 2. | ||
211 | 0xFFFF -- Diversity. | ||
212 | |||
213 | Usage: | ||
214 | iwpriv ethX setrxant 0x01: select Antenna 1. | ||
215 | |||
216 | getrxant | ||
217 | This command is used to get the mode for Rx antenna. | ||
218 | |||
219 | |||
220 | settxant | ||
221 | This command is used to set the mode for Tx antenna. | ||
222 | The options that can be sent are:- | ||
223 | 1 -- Antenna 1. | ||
224 | 2 -- Antenna 2. | ||
225 | 0xFFFF -- Diversity. | ||
226 | Usage: | ||
227 | iwpriv ethX settxant 0x01: select Antenna 1. | ||
228 | |||
229 | gettxant | ||
230 | This command is used to get the mode for Tx antenna. | ||
231 | |||
232 | authalgs | ||
233 | This command is used by the WPA supplicant to set the authentication | ||
234 | algorithms in the station. | ||
235 | |||
236 | 8021xauthalgs | ||
237 | This command is used by the WPA supplicant to set the 8021.x authentication algorithm type | ||
238 | station. | ||
239 | |||
240 | where values can be:- | ||
241 | 1 -- None | ||
242 | 2 -- LEAP | ||
243 | 4 -- TLS | ||
244 | 8 -- TTLs | ||
245 | 16 -- MD5 | ||
246 | |||
247 | |||
248 | encryptionmode | ||
249 | This command is used by the WPA supplicant to set the encryption algorithm. | ||
250 | |||
251 | where values can be:- | ||
252 | 0 -- NONE | ||
253 | 1 -- WEP40 | ||
254 | 2 -- TKIP | ||
255 | 3 -- CCMP | ||
256 | 4 -- WEP104 | ||
257 | |||
258 | pre-TBTT | ||
259 | This command is used to set pre-TBTT time period where value is in microseconds. | ||
260 | |||
261 | setregioncode | ||
262 | This command is used to set the region code in the station. | ||
263 | where value is 'region code' for various regions like | ||
264 | USA FCC, Canada IC, Spain, France, Europe ETSI, Japan ... | ||
265 | |||
266 | Usage: | ||
267 | iwpriv ethX setregioncode 0x10: set region code to USA (0x10). | ||
268 | |||
269 | getregioncode | ||
270 | This command is used to get the region code information set in the | ||
271 | station. | ||
272 | |||
273 | setbcnavg | ||
274 | Set the weighting factor for calculating RSSI. | ||
275 | |||
276 | getbcnavg | ||
277 | Get weighting factor for calculating RSSI. | ||
278 | |||
279 | setdataavg | ||
280 | Set the weighting factor for calculating SNR. | ||
281 | |||
282 | setlisteninter | ||
283 | This command is used to set the listen interval in the | ||
284 | station. | ||
285 | |||
286 | where the value ranges between 1 - 255 | ||
287 | |||
288 | getlisteninter | ||
289 | This command is used to get the listen interval value set in the | ||
290 | station. | ||
291 | |||
292 | setmultipledtim | ||
293 | This command is used to set the multiple dtim value in the | ||
294 | station. | ||
295 | where the value is 1,2,3,4,5,0xfffe | ||
296 | 0xfffe means the firmware will use listen interval in association | ||
297 | command for waking up | ||
298 | |||
299 | getmultipledtim | ||
300 | This command is used to get the multiple dtim value set in the station. | ||
301 | |||
302 | atimwindow | ||
303 | This command is used to set the atim value in the | ||
304 | station. | ||
305 | |||
306 | where the value ranges between 0 - 50 | ||
307 | |||
308 | deauth | ||
309 | This command is used to send the de-authentication to the AP with which | ||
310 | the station is associated. This command is valid only when | ||
311 | station is in Infrastructure mode. | ||
312 | |||
313 | Note: This command is available only when STA is connected. | ||
314 | |||
315 | adhocstop | ||
316 | This command is used to stop beacon transmission from the station and | ||
317 | go into idle state in ad-hoc mode. | ||
318 | |||
319 | Note: This command is available only when STA is connected. | ||
320 | |||
321 | radioon | ||
322 | This command is used to turn on the RF antenna. | ||
323 | |||
324 | radiooff | ||
325 | This command is sued to turn off the RF antenna. | ||
326 | |||
327 | scanmode | ||
328 | This command is used to set the station to scan for either IBSS | ||
329 | networks or BSS networks or both BSS and IBSS networks. This | ||
330 | command can be used with sub commands, | ||
331 | |||
332 | where the value for | ||
333 | bss -- Scan All the BSS networks. | ||
334 | ibss -- Scan All the IBSS networks. | ||
335 | any -- Scan both BSS and IBSS networks. | ||
336 | |||
337 | |||
338 | |||
339 | setwpaie | ||
340 | This command is used by WPA supplicant to send the WPA-IE to the driver. | ||
341 | |||
342 | wlanidle-off | ||
343 | This command is used to get into idle state. | ||
344 | |||
345 | Note: This command is available only when STA is connected. | ||
346 | |||
347 | wlanidle-on | ||
348 | This command is used to get off the idle state. | ||
349 | |||
350 | Note: This command is available only when STA is connected. | ||
351 | |||
352 | |||
353 | getlog | ||
354 | This command is used to get the 802.11 statistics available in the | ||
355 | station. | ||
356 | |||
357 | Note: This command is available only when STA is connected. | ||
358 | |||
359 | getadhocstatus | ||
360 | This command is used to get the ad-hoc Network Status. | ||
361 | |||
362 | The various status codes are: | ||
363 | AdhocStarted | ||
364 | AdhocJoined | ||
365 | AdhocIdle | ||
366 | InfraMode | ||
367 | AutoUnknownMode | ||
368 | |||
369 | Note: This command is available only when STA is connected. | ||
370 | |||
371 | adhocgrate | ||
372 | This command is used to enable(1) g_rate, Disable(0) g_rate | ||
373 | and request(2) the status which g_rate is disabled/enabled, | ||
374 | for Ad-hoc creator. | ||
375 | |||
376 | where value is:- | ||
377 | 0 -- Disabled | ||
378 | 1 -- Enabled | ||
379 | 2 -- Get | ||
380 | |||
381 | ledgpio | ||
382 | This command is used to set/get LEDs. | ||
383 | |||
384 | iwpriv ethX ledgpio <LEDs> | ||
385 | will set the corresponding LED for the GPIO Line. | ||
386 | |||
387 | iwpriv ethX ledgpio | ||
388 | will give u which LEDs are Enabled. | ||
389 | |||
390 | Usage: | ||
391 | iwpriv eth1 ledgpio 1 0 2 1 3 4 | ||
392 | will enable | ||
393 | LED 1 -> GPIO 0 | ||
394 | LED 2 -> GPIO 1 | ||
395 | LED 3 -> GPIO 4 | ||
396 | |||
397 | iwpriv eth1 ledgpio | ||
398 | shows LED information in the format as mentioned above. | ||
399 | |||
400 | Note: LED0 is invalid | ||
401 | Note: Maximum Number of LEDs are 16. | ||
402 | |||
403 | inactivityto | ||
404 | This command is used by the host to set/get the inactivity timeout value, | ||
405 | which specifies when WLAN device is put to sleep. | ||
406 | |||
407 | Usage: | ||
408 | iwpriv ethX inactivityto [<timeout>] | ||
409 | |||
410 | where the parameter are: | ||
411 | timeout: timeout value in milliseconds. | ||
412 | |||
413 | Example: | ||
414 | iwpriv eth1 inactivityto | ||
415 | "get the timeout value" | ||
416 | |||
417 | iwpriv eth1 inactivityto X | ||
418 | "set timeout value to X ms" | ||
419 | |||
420 | |||
421 | sleeppd | ||
422 | This command is used to configure the sleep period of the WLAN device. | ||
423 | |||
424 | Usage: | ||
425 | iwpriv ethX sleeppd [<sleep period>] | ||
426 | |||
427 | where the parameter are: | ||
428 | Period: sleep period in milliseconds. Range 10~60. | ||
429 | |||
430 | Example: | ||
431 | iwpriv eth1 sleeppd 10 | ||
432 | "set period as 10 ms" | ||
433 | iwpriv eth1 sleeppd | ||
434 | "get the sleep period configuration" | ||
435 | |||
436 | enable11d | ||
437 | This command is used to control 11d | ||
438 | where value is:- | ||
439 | 1 -- Enabled | ||
440 | 0 -- Disabled | ||
441 | 2 -- Get | ||
442 | |||
443 | |||
444 | |||
445 | |||
446 | tpccfg | ||
447 | Enables or disables automatic transmit power control. | ||
448 | |||
449 | The first parameter turns this feature on (1) or off (0). When turning | ||
450 | on, the user must also supply four more parameters in the following | ||
451 | order: | ||
452 | -UseSNR (Use SNR (in addition to PER) for TPC algorithm), | ||
453 | -P0 (P0 power level for TPC), | ||
454 | -P1 (P1 power level for TPC), | ||
455 | -P2 (P2 power level for TPC). | ||
456 | |||
457 | Usage: | ||
458 | iwpriv ethX tpccfg: Get current configuration | ||
459 | iwpriv ethX tpccfg 0: disable auto TPC | ||
460 | iwpriv ethX tpccfg 0x01 0x00 0x05 0x0a 0x0d: enable auto TPC; do not use SNR; | ||
461 | P0=0x05; P1=0x0a; P2=0x0d; | ||
462 | iwpriv ethX tpccfg 0x01 0x01 0x05 0x0a 0x0d: enable auto TPC; use SNR; | ||
463 | P0=0x05; P1=0x0a; P2=0x0d. | ||
464 | |||
465 | powercfg | ||
466 | Enables or disables power adaptation. | ||
467 | |||
468 | The first parameter turns this feature on (1) or off (0). When turning | ||
469 | on, the user must also supply three more parameters in the following | ||
470 | order: | ||
471 | -P0 (P0 power level for Power Adaptation), | ||
472 | -P1 (P1 power level for Power Adaptation), | ||
473 | -P2 (P2 power level for Power Adaptation). | ||
474 | |||
475 | Usage: | ||
476 | iwpriv ethX powercfg: Get current configuration | ||
477 | iwpriv ethX powercfg 0: disable power adaptation | ||
478 | iwpriv ethX powercfg 1 0x0d 0x0f 0x12: enable power adaptation; | ||
479 | P0=0x0d; P1=0x0f; P2=0x12. | ||
480 | |||
481 | getafc | ||
482 | This command returns automatic frequency control parameters. It returns | ||
483 | three integers: | ||
484 | -P0: automatic is on (1), or off (0), | ||
485 | -P1: current timing offset in PPM (part per million), and | ||
486 | -P2: current frequency offset in PPM. | ||
487 | |||
488 | setafc | ||
489 | Set automatic frequency control options. | ||
490 | |||
491 | The first parameter turns automatic on (1) or off (0). | ||
492 | The user must supply two more parameters in either case, in the following | ||
493 | order: | ||
494 | |||
495 | When auto is on: | ||
496 | |||
497 | -P0 (automatic adjustment frequency threshold in PPM), | ||
498 | -P1 (automatic adjustment period in beacon period), | ||
499 | |||
500 | When auto is off: | ||
501 | |||
502 | -P0 (manual adjustment timing offset in PPM), and | ||
503 | -P1 (manual adjustment frequency offset in PPM). | ||
504 | |||
505 | Usage: | ||
506 | iwpriv ethX setafc 0 10 10: manual adjustment, both timing and frequcncy | ||
507 | offset are 10 PPM. | ||
508 | |||
509 | iwpriv ethX setafc 1 10 10 enable afc, automatic adjustment, | ||
510 | frequency threshold 10 PPM, for every 10 beacon periods. | ||
511 | |||
512 | |||
513 | |||
514 | scanprobes | ||
515 | This command sets number of probe requests per channel. | ||
516 | |||
517 | Usage: | ||
518 | iwpriv ethX scanprobes 3 (set scan probes to 3) | ||
519 | iwpriv ethX scanprobes (get scan probes) | ||
520 | |||
521 | lolisteninter | ||
522 | This command sets the value of listen interval. | ||
523 | |||
524 | Usage: | ||
525 | iwpriv ethX lolisteninter 234 (set the lolisteninter to 234) | ||
526 | iwpriv ethX lolisteninter (get the lolisteninter value) | ||
527 | |||
528 | rateadapt | ||
529 | This command sets the data rates bitmap. | ||
530 | Where <n> | ||
531 | 0: Disable auto rate adapt | ||
532 | 1: Enable auto rate adapt | ||
533 | |||
534 | <m> | ||
535 | data rate bitmap | ||
536 | Bit Data rate | ||
537 | 0 1 Mbps | ||
538 | 1 2 Mbps | ||
539 | 2 5.5 Mbps | ||
540 | 3 11 Mbps | ||
541 | 4 Reserved | ||
542 | 5 6 Mbps | ||
543 | 6 9 Mbps | ||
544 | 7 12 Mbps | ||
545 | 8 18 Mbps | ||
546 | 9 24 Mbps | ||
547 | 10 36 Mbps | ||
548 | 11 48 Mbps | ||
549 | 12 54 Mbps | ||
550 | 12-15 Reserved | ||
551 | |||
552 | Usage: | ||
553 | iwpriv ethX rateadapt | ||
554 | read the currect data rate setting | ||
555 | iwpriv ethX rateadapt 1 0x07 | ||
556 | enable auto data rate adapt and | ||
557 | data rates are 1Mbps, 2Mbsp and 5.5Mbps | ||
558 | |||
559 | |||
560 | txcontrol | ||
561 | This command is used to set the Tx rate, ack policy, and retry limit on a per packet basis. | ||
562 | |||
563 | Where value <n> is: | ||
564 | if bit[4] == 1: | ||
565 | bit[3:0] -- 0 1 2 3 4 5 6 7 8 9 10 11 12 13-16 | ||
566 | Data Rate(Mbps) -- 1 2 5.5 11 Rsv 6 9 12 18 24 36 48 54 Rsv | ||
567 | |||
568 | bit[12:8] | ||
569 | if bit[12] == 1, bit[11:8] specifies the Tx retry limit. | ||
570 | |||
571 | bit[14:13] specifies per packet ack policy: | ||
572 | bit[14:13] | ||
573 | 1 0 use immediate ack policy for this packet | ||
574 | 1 1 use no ack policy for this packet | ||
575 | 0 x use the per-packet ack policy setting | ||
576 | |||
577 | Usage: | ||
578 | iwpriv ethX txcontrol 0x7513 | ||
579 | Use no-ack policy, 5 retires for Tx, 11Mbps rate | ||
580 | |||
581 | |||
582 | |||
583 | psnullinterval | ||
584 | This command is used to set/request NULL package interval for Power Save | ||
585 | under infrastructure mode. | ||
586 | |||
587 | where value is:- | ||
588 | -1 -- Disabled | ||
589 | n>0 -- Set interval as n (seconds) | ||
590 | |||
591 | prescan | ||
592 | This command is used to enable (1)/disable(0) auto prescan before assoicate to the ap | ||
593 | |||
594 | where value is:- | ||
595 | 0 -- Disabled | ||
596 | 1 -- Enabled | ||
597 | 2 -- Get | ||
598 | |||
599 | getrxinfo | ||
600 | This command gets non average value of Signal to Noise Ratio of Data and rate index. | ||
601 | |||
602 | The following table shows RateIndex and Rate | ||
603 | |||
604 | RateIndex Data rate | ||
605 | 0 1 Mbps | ||
606 | 1 2 Mbps | ||
607 | 2 5.5 Mbps | ||
608 | 3 11 Mbps | ||
609 | 4 Reserved | ||
610 | 5 6 Mbps | ||
611 | 6 9 Mbps | ||
612 | 7 12 Mbps | ||
613 | 8 18 Mbps | ||
614 | 9 24 Mbps | ||
615 | 10 36 Mbps | ||
616 | 11 48 Mbps | ||
617 | 12 54 Mbps | ||
618 | 13-15 Reserved | ||
619 | |||
620 | gettxrate | ||
621 | This command gets current Tx rate index of the first packet associated with Rate Adaptation. | ||
622 | |||
623 | The following table shows RateIndex and Rate | ||
624 | |||
625 | RateIndex Data rate | ||
626 | 0 1 Mbps | ||
627 | 1 2 Mbps | ||
628 | 2 5.5 Mbps | ||
629 | 3 11 Mbps | ||
630 | 4 Reserved | ||
631 | 5 6 Mbps | ||
632 | 6 9 Mbps | ||
633 | 7 12 Mbps | ||
634 | 8 18 Mbps | ||
635 | 9 24 Mbps | ||
636 | 10 36 Mbps | ||
637 | 11 48 Mbps | ||
638 | 12 54 Mbps | ||
639 | 13-15 Reserved | ||
640 | |||
641 | bcninterval | ||
642 | This command is used to sets beacon interval in adhoc mode when an argument is given, and gets current adhoc | ||
643 | beacon interval when no argument is given. The valid beacon interval is between 20 - 1000, | ||
644 | default beacon interval is 100. | ||
645 | |||
646 | Usage: | ||
647 | iwpriv ethX bcninterval 100 (set adhoc beacon interval to 100) | ||
648 | iwpriv ethX bcninterval (get adhoc beacon interval) | ||
649 | |||
650 | fwt_add | ||
651 | This command is used to insert an entry into the FWT table. The list of | ||
652 | parameters must follow the following structure: | ||
653 | |||
654 | iwpriv ethX fwt_add da ra [metric dir ssn dsn hopcount ttl expiration sleepmode snr] | ||
655 | |||
656 | The parameters between brackets are optional, but they must appear in | ||
657 | the order specified. For example, if you want to specify the metric, | ||
658 | you must also specify the dir, ssn, and dsn but you need not specify the | ||
659 | hopcount, expiration, sleepmode, or snr. Any unspecified parameters | ||
660 | will be assigned the defaults specified below. | ||
661 | |||
662 | The different parameters are:- | ||
663 | da -- DA MAC address in the form 00:11:22:33:44:55 | ||
664 | ra -- RA MAC address in the form 00:11:22:33:44:55 | ||
665 | metric -- route metric (cost: smaller-metric routes are | ||
666 | preferred, default is 0) | ||
667 | dir -- direction (1 for direct, 0 for reverse, | ||
668 | default is 1) | ||
669 | ssn -- Source Sequence Number (time at the RA for | ||
670 | reverse routes. Default is 0) | ||
671 | dsn -- Destination Sequence Number (time at the DA | ||
672 | for direct routes. Default is 0) | ||
673 | hopcount -- hop count (currently unused, default is 0) | ||
674 | ttl -- TTL (Only used in reverse entries) | ||
675 | expiration -- entry expiration (in ticks, where a tick is | ||
676 | 1024us, or ~ 1ms. Use 0 for an indefinite | ||
677 | entry, default is 0) | ||
678 | sleepmode -- RA's sleep mode (currently unused, default is | ||
679 | 0) | ||
680 | snr -- SNR in the link to RA (currently unused, | ||
681 | default is 0) | ||
682 | |||
683 | The command does not return anything. | ||
684 | |||
685 | fwt_del | ||
686 | This command is used to remove an entry to the FWT table. The list of | ||
687 | parameters must follow the following structure: | ||
688 | |||
689 | iwpriv ethX fwt_del da ra [dir] | ||
690 | |||
691 | where the different parameters are:- | ||
692 | da -- DA MAC address (in the form "00:11:22:33:44:55") | ||
693 | ra -- RA MAC address (in the form "00:11:22:33:44:55") | ||
694 | dir -- direction (1 for direct, 0 for reverse, | ||
695 | default is 1) | ||
696 | |||
697 | The command does not return anything. | ||
698 | |||
699 | fwt_lookup | ||
700 | This command is used to get the best route in the FWT table to a given | ||
701 | host. The only parameter is the MAC address of the host that is being | ||
702 | looked for. | ||
703 | |||
704 | iwpriv ethX fwt_lookup da | ||
705 | |||
706 | where:- | ||
707 | da -- DA MAC address (in the form "00:11:22:33:44:55") | ||
708 | |||
709 | The command returns an output string identical to the one returned by | ||
710 | fwt_list described below. | ||
711 | |||
712 | |||
713 | fwt_list | ||
714 | This command is used to list a route from the FWT table. The only | ||
715 | parameter is the index into the table. If you want to list all the | ||
716 | routes in a table, start with index=0, and keep listing until you get a | ||
717 | "(null)" string. Note that the indicies may change as the fwt is | ||
718 | updated. It is expected that most users will not use fwt_list directly, | ||
719 | but that a utility similar to the traditional route command will be used | ||
720 | to invoke fwt_list over and over. | ||
721 | |||
722 | iwpriv ethX fwt_list index | ||
723 | |||
724 | The output is a string of the following form: | ||
725 | |||
726 | da ra metric dir ssn dsn hopcount ttl expiration sleepmode snr | ||
727 | |||
728 | where the different fields are:- | ||
729 | da -- DA MAC address (in the form "00:11:22:33:44:55") | ||
730 | ra -- RA MAC address (in the form "00:11:22:33:44:55") | ||
731 | metric -- route metric (cost: smaller-metric routes are preferred) | ||
732 | dir -- direction (1 for direct, 0 for reverse) | ||
733 | ssn -- Source Sequence Number (time at the RA for reverse routes) | ||
734 | dsn -- Destination Sequence Number (time at the DA for direct routes) | ||
735 | hopcount -- hop count (currently unused) | ||
736 | ttl -- TTL (only used in reverse entries) | ||
737 | expiration -- entry expiration (in ticks, where a tick is 1024us, or ~ 1ms. Use 0 for an indefinite entry) | ||
738 | sleepmode -- RA's sleep mode (currently unused) | ||
739 | snr -- SNR in the link to RA (currently unused) | ||
740 | |||
741 | fwt_list_route | ||
742 | This command is used to list a route from the FWT table. The only | ||
743 | parameter is the route ID. If you want to list all the routes in a | ||
744 | table, start with rid=0, and keep incrementing rid until you get a | ||
745 | "(null)" string. This function is similar to fwt_list. The only | ||
746 | difference is the output format. Also note that this command is meant | ||
747 | for debugging. It is expected that users will use fwt_lookup and | ||
748 | fwt_list. One important reason for this is that the route id may change | ||
749 | as the route table is altered. | ||
750 | |||
751 | iwpriv ethX fwt_list_route rid | ||
752 | |||
753 | The output is a string of the following form: | ||
754 | |||
755 | da metric dir nid ssn dsn hopcount ttl expiration | ||
756 | |||
757 | where the different fields are:- | ||
758 | da -- DA MAC address (in the form "00:11:22:33:44:55") | ||
759 | metric -- route metric (cost: smaller-metric routes are preferred) | ||
760 | dir -- direction (1 for direct, 0 for reverse) | ||
761 | nid -- Next-hop (neighbor) host ID (nid) | ||
762 | ssn -- Source Sequence Number (time at the RA for reverse routes) | ||
763 | dsn -- Destination Sequence Number (time at the DA for direct routes) | ||
764 | hopcount -- hop count (currently unused) | ||
765 | ttl -- TTL count (only used in reverse entries) | ||
766 | expiration -- entry expiration (in ticks, where a tick is 1024us, or ~ 1ms. Use 0 for an indefinite entry) | ||
767 | |||
768 | fwt_list_neigh | ||
769 | This command is used to list a neighbor from the FWT table. The only | ||
770 | parameter is the neighbor ID. If you want to list all the neighbors in a | ||
771 | table, start with nid=0, and keep incrementing nid until you get a | ||
772 | "(null)" string. Note that the nid from a fwt_list_route command can be | ||
773 | used as an input to this command. Also note that this command is meant | ||
774 | mostly for debugging. It is expected that users will use fwt_lookup. | ||
775 | One important reason for this is that the neighbor id may change as the | ||
776 | neighbor table is altered. | ||
777 | |||
778 | iwpriv ethX fwt_list_neigh nid | ||
779 | |||
780 | The output is a string of the following form: | ||
781 | |||
782 | ra sleepmode snr references | ||
783 | |||
784 | where the different fields are:- | ||
785 | ra -- RA MAC address (in the form "00:11:22:33:44:55") | ||
786 | sleepmode -- RA's sleep mode (currently unused) | ||
787 | snr -- SNR in the link to RA (currently unused) | ||
788 | references -- RA's reference counter | ||
789 | |||
790 | fwt_reset | ||
791 | This command is used to reset the FWT table, getting rid of all the | ||
792 | entries. There are no input parameters. | ||
793 | |||
794 | iwpriv ethX fwt_reset | ||
795 | |||
796 | The command does not return anything. | ||
797 | |||
798 | fwt_cleanup | ||
799 | This command is used to perform user-based garbage recollection. The | ||
800 | FWT table is checked, and all the entries that are expired or invalid | ||
801 | are cleaned. Note that this is exported to the driver for debugging | ||
802 | purposes, as garbage collection is also fired by the firmware when in | ||
803 | space problems. There are no input parameters. | ||
804 | |||
805 | iwpriv ethX fwt_cleanup | ||
806 | |||
807 | The command does returns the number of invalid/expired routes deleted. | ||
808 | |||
809 | fwt_time | ||
810 | This command returns a card's internal time representation. It is this | ||
811 | time that is used to represent the expiration times of FWT entries. The | ||
812 | number is not consistent from card to card; it is simply a timer count. | ||
813 | The fwt_time command is used to inspect the timer so that expiration | ||
814 | times reported by fwt_list can be properly interpreted. | ||
815 | |||
816 | iwpriv ethX fwt_time | ||
817 | |||
818 | mesh_get_ttl | ||
819 | |||
820 | The mesh ttl is the number of hops a mesh packet can traverse before it | ||
821 | is dropped. This parameter is used to prevent infinite loops in the | ||
822 | mesh network. The value returned by this function is the ttl assigned | ||
823 | to all mesh packets. Currently there is no way to control the ttl on a | ||
824 | per packet or per socket basis. | ||
825 | |||
826 | iwpriv ethX mesh_get_ttl | ||
827 | |||
828 | mesh_set_ttl ttl | ||
829 | |||
830 | Set the ttl. The argument must be between 0 and 255. | ||
831 | |||
832 | iwpriv ethX mesh_set_ttl <ttl> | ||
833 | |||
834 | ========================= | ||
835 | ETHTOOL | ||
836 | ========================= | ||
837 | |||
838 | |||
839 | Use the -i option to retrieve version information from the driver. | ||
840 | |||
841 | # ethtool -i eth0 | ||
842 | driver: libertas | ||
843 | version: COMM-USB8388-318.p4 | ||
844 | firmware-version: 5.110.7 | ||
845 | bus-info: | ||
846 | |||
847 | Use the -e option to read the EEPROM contents of the card. | ||
848 | |||
849 | Usage: | ||
850 | ethtool -e ethX [raw on|off] [offset N] [length N] | ||
851 | |||
852 | -e retrieves and prints an EEPROM dump for the specified ethernet | ||
853 | device. When raw is enabled, then it dumps the raw EEPROM data | ||
854 | to stdout. The length and offset parameters allow dumping cer- | ||
855 | tain portions of the EEPROM. Default is to dump the entire EEP- | ||
856 | ROM. | ||
857 | |||
858 | # ethtool -e eth0 offset 0 length 16 | ||
859 | Offset Values | ||
860 | ------ ------ | ||
861 | 0x0000 38 33 30 58 00 00 34 f4 00 00 10 00 00 c4 17 00 | ||
862 | |||
863 | ======================== | ||
864 | DEBUGFS COMMANDS | ||
865 | ======================== | ||
866 | |||
867 | those commands are used via debugfs interface | ||
868 | |||
869 | =========== | ||
870 | rdmac | ||
871 | rdbbp | ||
872 | rdrf | ||
873 | These commands are used to read the MAC, BBP and RF registers from the | ||
874 | card. These commands take one parameter that specifies the offset | ||
875 | location that is to be read. This parameter must be specified in | ||
876 | hexadecimal (its possible to preceed preceding the number with a "0x"). | ||
877 | |||
878 | Path: /debugfs/libertas_wireless/ethX/registers/ | ||
879 | |||
880 | Usage: | ||
881 | echo "0xa123" > rdmac ; cat rdmac | ||
882 | echo "0xa123" > rdbbp ; cat rdbbp | ||
883 | echo "0xa123" > rdrf ; cat rdrf | ||
884 | wrmac | ||
885 | wrbbp | ||
886 | wrrf | ||
887 | These commands are used to write the MAC, BBP and RF registers in the | ||
888 | card. These commands take two parameters that specify the offset | ||
889 | location and the value that is to be written. This parameters must | ||
890 | be specified in hexadecimal (its possible to preceed the number | ||
891 | with a "0x"). | ||
892 | |||
893 | Usage: | ||
894 | echo "0xa123 0xaa" > wrmac | ||
895 | echo "0xa123 0xaa" > wrbbp | ||
896 | echo "0xa123 0xaa" > wrrf | ||
897 | |||
898 | sleepparams | ||
899 | This command is used to set the sleepclock configurations | ||
900 | |||
901 | Path: /debugfs/libertas_wireless/ethX/ | ||
902 | |||
903 | Usage: | ||
904 | cat sleepparams: reads the current sleepclock configuration | ||
905 | |||
906 | echo "p1 p2 p3 p4 p5 p6" > sleepparams: writes the sleepclock configuration. | ||
907 | |||
908 | where: | ||
909 | p1 is Sleep clock error in ppm (0-65535) | ||
910 | p2 is Wakeup offset in usec (0-65535) | ||
911 | p3 is Clock stabilization time in usec (0-65535) | ||
912 | p4 is Control periodic calibration (0-2) | ||
913 | p5 is Control the use of external sleep clock (0-2) | ||
914 | p6 is reserved for debug (0-65535) | ||
915 | |||
916 | subscribed_events | ||
917 | |||
918 | The subscribed_events directory contains the interface for the | ||
919 | subscribed events API. | ||
920 | |||
921 | Path: /debugfs/libertas_wireless/ethX/subscribed_events/ | ||
922 | |||
923 | Each event is represented by a filename. Each filename consists of the | ||
924 | following three fields: | ||
925 | Value Frequency Subscribed | ||
926 | |||
927 | To read the current values for a given event, do: | ||
928 | cat event | ||
929 | To set the current values, do: | ||
930 | echo "60 2 1" > event | ||
931 | |||
932 | Frequency field specifies the reporting frequency for this event. | ||
933 | If it is set to 0, then the event is reported only once, and then | ||
934 | automatically unsubscribed. If it is set to 1, then the event is | ||
935 | reported every time it occurs. If it is set to N, then the event is | ||
936 | reported every Nth time it occurs. | ||
937 | |||
938 | beacon_missed | ||
939 | Value field specifies the number of consecutive missing beacons which | ||
940 | triggers the LINK_LOSS event. This event is generated only once after | ||
941 | which the firmware resets its state. At initialization, the LINK_LOSS | ||
942 | event is subscribed by default. The default value of MissedBeacons is | ||
943 | 60. | ||
944 | |||
945 | failure_count | ||
946 | Value field specifies the consecutive failure count threshold which | ||
947 | triggers the generation of the MAX_FAIL event. Once this event is | ||
948 | generated, the consecutive failure count is reset to 0. | ||
949 | At initialization, the MAX_FAIL event is NOT subscribed by | ||
950 | default. | ||
951 | |||
952 | high_rssi | ||
953 | This event is generated when the average received RSSI in beacons goes | ||
954 | above a threshold, specified by Value. | ||
955 | |||
956 | low_rssi | ||
957 | This event is generated when the average received RSSI in beacons goes | ||
958 | below a threshold, specified by Value. | ||
959 | |||
960 | high_snr | ||
961 | This event is generated when the average received SNR in beacons goes | ||
962 | above a threshold, specified by Value. | ||
963 | |||
964 | low_snr | ||
965 | This event is generated when the average received SNR in beacons goes | ||
966 | below a threshold, specified by Value. | ||
967 | |||
968 | extscan | ||
969 | This command is used to do a specific scan. | ||
970 | |||
971 | Path: /debugfs/libertas_wireless/ethX/ | ||
972 | |||
973 | Usage: echo "SSID" > extscan | ||
974 | |||
975 | Example: | ||
976 | echo "LINKSYS-AP" > extscan | ||
977 | |||
978 | To see the results of use getscantable command. | ||
979 | |||
980 | getscantable | ||
981 | |||
982 | Display the current contents of the driver scan table (ie. get the | ||
983 | scan results). | ||
984 | |||
985 | Path: /debugfs/libertas_wireless/ethX/ | ||
986 | |||
987 | Usage: | ||
988 | cat getscantable | ||
989 | |||
990 | setuserscan | ||
991 | Initiate a customized scan and retrieve the results | ||
992 | |||
993 | |||
994 | Path: /debugfs/libertas_wireless/ethX/ | ||
995 | |||
996 | Usage: | ||
997 | echo "[ARGS]" > setuserscan | ||
998 | |||
999 | where [ARGS]: | ||
1000 | |||
1001 | chan=[chan#][band][mode] where band is [a,b,g] and mode is | ||
1002 | blank for active or 'p' for passive | ||
1003 | bssid=xx:xx:xx:xx:xx:xx specify a BSSID filter for the scan | ||
1004 | ssid="[SSID]" specify a SSID filter for the scan | ||
1005 | keep=[0 or 1] keep the previous scan results (1), discard (0) | ||
1006 | dur=[scan time] time to scan for each channel in milliseconds | ||
1007 | probes=[#] number of probe requests to send on each chan | ||
1008 | type=[1,2,3] BSS type: 1 (Infra), 2(Adhoc), 3(Any) | ||
1009 | |||
1010 | Any combination of the above arguments can be supplied on the command line. | ||
1011 | If the chan token is absent, a full channel scan will be completed by | ||
1012 | the driver. If the dur or probes tokens are absent, the driver default | ||
1013 | setting will be used. The bssid and ssid fields, if blank, | ||
1014 | will produce an unfiltered scan. The type field will default to 3 (Any) | ||
1015 | and the keep field will default to 0 (Discard). | ||
1016 | |||
1017 | Examples: | ||
1018 | 1) Perform an active scan on channels 1, 6, and 11 in the 'g' band: | ||
1019 | echo "chan=1g,6g,11g" > setuserscan | ||
1020 | |||
1021 | 2) Perform a passive scan on channel 11 for 20 ms: | ||
1022 | echo "chan=11gp dur=20" > setuserscan | ||
1023 | |||
1024 | 3) Perform an active scan on channels 1, 6, and 11; and a passive scan on | ||
1025 | channel 36 in the 'a' band: | ||
1026 | |||
1027 | echo "chan=1g,6g,11g,36ap" > setuserscan | ||
1028 | |||
1029 | 4) Perform an active scan on channel 6 and 36 for a specific SSID: | ||
1030 | echo "chan=6g,36a ssid="TestAP"" > setuserscan | ||
1031 | |||
1032 | 5) Scan all available channels (B/G, A bands) for a specific BSSID, keep | ||
1033 | the current scan table intact, update existing or append new scan data: | ||
1034 | echo "bssid=00:50:43:20:12:82 keep=1" > setuserscan | ||
1035 | |||
1036 | 6) Scan channel 6, for all infrastructure networks, sending two probe | ||
1037 | requests. Keep the previous scan table intact. Update any duplicate | ||
1038 | BSSID/SSID matches with the new scan data: | ||
1039 | echo "chan=6g type=1 probes=2 keep=1" > setuserscan | ||
1040 | |||
1041 | All entries in the scan table (not just the new scan data when keep=1) | ||
1042 | will be displayed upon completion by use of the getscantable ioctl. | ||
1043 | |||
1044 | ============================================================================== | ||