Blame view

kernel/linux-rt-4.4.41/Documentation/networking/README.ipw2200 15.6 KB
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
  
  Intel(R) PRO/Wireless 2915ABG Driver for Linux in support of:
  
  Intel(R) PRO/Wireless 2200BG Network Connection
  Intel(R) PRO/Wireless 2915ABG Network Connection
  
  Note: The Intel(R) PRO/Wireless 2915ABG Driver for Linux and Intel(R)
  PRO/Wireless 2200BG Driver for Linux is a unified driver that works on
  both hardware adapters listed above. In this document the Intel(R)
  PRO/Wireless 2915ABG Driver for Linux will be used to reference the
  unified driver.
  
  Copyright (C) 2004-2006, Intel Corporation
  
  README.ipw2200
  
  Version: 1.1.2
  Date   : March 30, 2006
  
  
  Index
  -----------------------------------------------
  0.   IMPORTANT INFORMATION BEFORE USING THIS DRIVER
  1.   Introduction
  1.1. Overview of features
  1.2. Module parameters
  1.3. Wireless Extension Private Methods
  1.4. Sysfs Helper Files
  1.5. Supported channels
  2.   Ad-Hoc Networking
  3.   Interacting with Wireless Tools
  3.1. iwconfig mode
  3.2. iwconfig sens
  4.   About the Version Numbers
  5.   Firmware installation
  6.   Support
  7.   License
  
  
  0.   IMPORTANT INFORMATION BEFORE USING THIS DRIVER
  -----------------------------------------------
  
  Important Notice FOR ALL USERS OR DISTRIBUTORS!!!! 
  
  Intel wireless LAN adapters are engineered, manufactured, tested, and
  quality checked to ensure that they meet all necessary local and
  governmental regulatory agency requirements for the regions that they
  are designated and/or marked to ship into. Since wireless LANs are
  generally unlicensed devices that share spectrum with radars,
  satellites, and other licensed and unlicensed devices, it is sometimes
  necessary to dynamically detect, avoid, and limit usage to avoid
  interference with these devices. In many instances Intel is required to
  provide test data to prove regional and local compliance to regional and
  governmental regulations before certification or approval to use the
  product is granted. Intel's wireless LAN's EEPROM, firmware, and
  software driver are designed to carefully control parameters that affect
  radio operation and to ensure electromagnetic compliance (EMC). These
  parameters include, without limitation, RF power, spectrum usage,
  channel scanning, and human exposure. 
  
  For these reasons Intel cannot permit any manipulation by third parties
  of the software provided in binary format with the wireless WLAN
  adapters (e.g., the EEPROM and firmware). Furthermore, if you use any
  patches, utilities, or code with the Intel wireless LAN adapters that
  have been manipulated by an unauthorized party (i.e., patches,
  utilities, or code (including open source code modifications) which have
  not been validated by Intel), (i) you will be solely responsible for
  ensuring the regulatory compliance of the products, (ii) Intel will bear
  no liability, under any theory of liability for any issues associated
  with the modified products, including without limitation, claims under
  the warranty and/or issues arising from regulatory non-compliance, and
  (iii) Intel will not provide or be required to assist in providing
  support to any third parties for such modified products.  
  
  Note: Many regulatory agencies consider Wireless LAN adapters to be
  modules, and accordingly, condition system-level regulatory approval
  upon receipt and review of test data documenting that the antennas and
  system configuration do not cause the EMC and radio operation to be
  non-compliant.
  
  The drivers available for download from SourceForge are provided as a 
  part of a development project.  Conformance to local regulatory 
  requirements is the responsibility of the individual developer.  As 
  such, if you are interested in deploying or shipping a driver as part of 
  solution intended to be used for purposes other than development, please 
  obtain a tested driver from Intel Customer Support at:
  
  http://support.intel.com
  
  
  1.   Introduction
  -----------------------------------------------
  The following sections attempt to provide a brief introduction to using 
  the Intel(R) PRO/Wireless 2915ABG Driver for Linux.
  
  This document is not meant to be a comprehensive manual on 
  understanding or using wireless technologies, but should be sufficient 
  to get you moving without wires on Linux.
  
  For information on building and installing the driver, see the INSTALL
  file.
  
  
  1.1. Overview of Features
  -----------------------------------------------
  The current release (1.1.2) supports the following features:
  
  + BSS mode (Infrastructure, Managed)
  + IBSS mode (Ad-Hoc)
  + WEP (OPEN and SHARED KEY mode)
  + 802.1x EAP via wpa_supplicant and xsupplicant
  + Wireless Extension support 
  + Full B and G rate support (2200 and 2915)
  + Full A rate support (2915 only)
  + Transmit power control
  + S state support (ACPI suspend/resume)
  
  The following features are currently enabled, but not officially
  supported:
  
  + WPA
  + long/short preamble support
  + Monitor mode (aka RFMon)
  
  The distinction between officially supported and enabled is a reflection 
  on the amount of validation and interoperability testing that has been
  performed on a given feature. 
  
  
  
  1.2. Command Line Parameters
  -----------------------------------------------
  
  Like many modules used in the Linux kernel, the Intel(R) PRO/Wireless
  2915ABG Driver for Linux allows configuration options to be provided 
  as module parameters.  The most common way to specify a module parameter 
  is via the command line.  
  
  The general form is:
  
  % modprobe ipw2200 parameter=value
  
  Where the supported parameter are:
  
    associate
  	Set to 0 to disable the auto scan-and-associate functionality of the
  	driver.  If disabled, the driver will not attempt to scan 
  	for and associate to a network until it has been configured with 
  	one or more properties for the target network, for example configuring 
  	the network SSID.  Default is 0 (do not auto-associate)
  	
  	Example: % modprobe ipw2200 associate=0
  
    auto_create
  	Set to 0 to disable the auto creation of an Ad-Hoc network 
  	matching the channel and network name parameters provided.  
  	Default is 1.
  
    channel
  	channel number for association.  The normal method for setting
          the channel would be to use the standard wireless tools
          (i.e. `iwconfig eth1 channel 10`), but it is useful sometimes
  	to set this while debugging.  Channel 0 means 'ANY'
  
    debug
  	If using a debug build, this is used to control the amount of debug
  	info is logged.  See the 'dvals' and 'load' script for more info on
  	how to use this (the dvals and load scripts are provided as part 
  	of the ipw2200 development snapshot releases available from the 
  	SourceForge project at http://ipw2200.sf.net)
    
    led
  	Can be used to turn on experimental LED code.
  	0 = Off, 1 = On.  Default is 1.
  
    mode
  	Can be used to set the default mode of the adapter.  
  	0 = Managed, 1 = Ad-Hoc, 2 = Monitor
  
  
  1.3. Wireless Extension Private Methods
  -----------------------------------------------
  
  As an interface designed to handle generic hardware, there are certain 
  capabilities not exposed through the normal Wireless Tool interface.  As 
  such, a provision is provided for a driver to declare custom, or 
  private, methods.  The Intel(R) PRO/Wireless 2915ABG Driver for Linux 
  defines several of these to configure various settings.
  
  The general form of using the private wireless methods is:
  
  	% iwpriv $IFNAME method parameters
  
  Where $IFNAME is the interface name the device is registered with 
  (typically eth1, customized via one of the various network interface
  name managers, such as ifrename)
  
  The supported private methods are:
  
    get_mode
  	Can be used to report out which IEEE mode the driver is 
  	configured to support.  Example:
  	
  	% iwpriv eth1 get_mode
  	eth1	get_mode:802.11bg (6)
  
    set_mode
  	Can be used to configure which IEEE mode the driver will 
  	support.  
  
  	Usage:
  	% iwpriv eth1 set_mode {mode}
  	Where {mode} is a number in the range 1-7:
  	1	802.11a (2915 only)
  	2	802.11b
  	3	802.11ab (2915 only)
  	4	802.11g 
  	5	802.11ag (2915 only)
  	6	802.11bg
  	7	802.11abg (2915 only)
  
    get_preamble
  	Can be used to report configuration of preamble length.
  
    set_preamble
  	Can be used to set the configuration of preamble length:
  
  	Usage:
  	% iwpriv eth1 set_preamble {mode}
  	Where {mode} is one of:
  	1	Long preamble only
  	0	Auto (long or short based on connection)
  	
  
  1.4. Sysfs Helper Files:
  -----------------------------------------------
  
  The Linux kernel provides a pseudo file system that can be used to 
  access various components of the operating system.  The Intel(R)
  PRO/Wireless 2915ABG Driver for Linux exposes several configuration
  parameters through this mechanism.
  
  An entry in the sysfs can support reading and/or writing.  You can 
  typically query the contents of a sysfs entry through the use of cat, 
  and can set the contents via echo.  For example:
  
  % cat /sys/bus/pci/drivers/ipw2200/debug_level
  
  Will report the current debug level of the driver's logging subsystem 
  (only available if CONFIG_IPW2200_DEBUG was configured when the driver
  was built).
  
  You can set the debug level via:
  
  % echo $VALUE > /sys/bus/pci/drivers/ipw2200/debug_level
  
  Where $VALUE would be a number in the case of this sysfs entry.  The 
  input to sysfs files does not have to be a number.  For example, the 
  firmware loader used by hotplug utilizes sysfs entries for transferring 
  the firmware image from user space into the driver.
  
  The Intel(R) PRO/Wireless 2915ABG Driver for Linux exposes sysfs entries 
  at two levels -- driver level, which apply to all instances of the driver 
  (in the event that there are more than one device installed) and device 
  level, which applies only to the single specific instance.
  
  
  1.4.1 Driver Level Sysfs Helper Files
  -----------------------------------------------
  
  For the driver level files, look in /sys/bus/pci/drivers/ipw2200/
  
    debug_level  
  	
  	This controls the same global as the 'debug' module parameter
  
  
  
  1.4.2 Device Level Sysfs Helper Files
  -----------------------------------------------
  
  For the device level files, look in
  	
  	/sys/bus/pci/drivers/ipw2200/{PCI-ID}/
  
  For example:
  	/sys/bus/pci/drivers/ipw2200/0000:02:01.0
  
  For the device level files, see /sys/bus/pci/drivers/ipw2200:
  
    rf_kill
  	read - 
  	0 = RF kill not enabled (radio on)
  	1 = SW based RF kill active (radio off)
  	2 = HW based RF kill active (radio off)
  	3 = Both HW and SW RF kill active (radio off)
  	write -
  	0 = If SW based RF kill active, turn the radio back on
  	1 = If radio is on, activate SW based RF kill
  
  	NOTE: If you enable the SW based RF kill and then toggle the HW
    	based RF kill from ON -> OFF -> ON, the radio will NOT come back on
  	
    ucode 
  	read-only access to the ucode version number
  
    led
  	read -
  	0 = LED code disabled
  	1 = LED code enabled
  	write -
  	0 = Disable LED code
  	1 = Enable LED code
  
  	NOTE: The LED code has been reported to hang some systems when 
  	running ifconfig and is therefore disabled by default.
  
  
  1.5. Supported channels
  -----------------------------------------------
  
  Upon loading the Intel(R) PRO/Wireless 2915ABG Driver for Linux, a
  message stating the detected geography code and the number of 802.11
  channels supported by the card will be displayed in the log.
  
  The geography code corresponds to a regulatory domain as shown in the
  table below.
  
  					  Supported channels
  Code	Geography			802.11bg	802.11a
  
  ---	Restricted			11 	 	 0
  ZZF	Custom US/Canada		11	 	 8
  ZZD	Rest of World			13	 	 0
  ZZA	Custom USA & Europe & High	11		13
  ZZB	Custom NA & Europe    		11		13
  ZZC	Custom Japan			11	 	 4
  ZZM	Custom 				11	 	 0
  ZZE	Europe				13		19
  ZZJ	Custom Japan			14	 	 4
  ZZR	Rest of World			14	 	 0
  ZZH	High Band			13	 	 4
  ZZG	Custom Europe			13	 	 4
  ZZK	Europe 				13		24
  ZZL	Europe				11		13
  
  
  2.   Ad-Hoc Networking
  -----------------------------------------------
  
  When using a device in an Ad-Hoc network, it is useful to understand the 
  sequence and requirements for the driver to be able to create, join, or 
  merge networks.
  
  The following attempts to provide enough information so that you can 
  have a consistent experience while using the driver as a member of an 
  Ad-Hoc network.
  
  2.1. Joining an Ad-Hoc Network
  -----------------------------------------------
  
  The easiest way to get onto an Ad-Hoc network is to join one that 
  already exists.
  
  2.2. Creating an Ad-Hoc Network
  -----------------------------------------------
  
  An Ad-Hoc networks is created using the syntax of the Wireless tool.
  
  For Example:
  iwconfig eth1 mode ad-hoc essid testing channel 2
  
  2.3. Merging Ad-Hoc Networks
  -----------------------------------------------
  
  
  3.  Interaction with Wireless Tools
  -----------------------------------------------
  
  3.1 iwconfig mode
  -----------------------------------------------
  
  When configuring the mode of the adapter, all run-time configured parameters
  are reset to the value used when the module was loaded.  This includes
  channels, rates, ESSID, etc.
  
  3.2 iwconfig sens
  -----------------------------------------------
  
  The 'iwconfig ethX sens XX' command will not set the signal sensitivity
  threshold, as described in iwconfig documentation, but rather the number
  of consecutive missed beacons that will trigger handover, i.e. roaming
  to another access point. At the same time, it will set the disassociation
  threshold to 3 times the given value.
  
  
  4.   About the Version Numbers
  -----------------------------------------------
  
  Due to the nature of open source development projects, there are 
  frequently changes being incorporated that have not gone through 
  a complete validation process.  These changes are incorporated into 
  development snapshot releases.
  
  Releases are numbered with a three level scheme: 
  
  	major.minor.development
  
  Any version where the 'development' portion is 0 (for example
  1.0.0, 1.1.0, etc.) indicates a stable version that will be made 
  available for kernel inclusion.
  
  Any version where the 'development' portion is not a 0 (for
  example 1.0.1, 1.1.5, etc.) indicates a development version that is
  being made available for testing and cutting edge users.  The stability 
  and functionality of the development releases are not know.  We make
  efforts to try and keep all snapshots reasonably stable, but due to the
  frequency of their release, and the desire to get those releases 
  available as quickly as possible, unknown anomalies should be expected.
  
  The major version number will be incremented when significant changes
  are made to the driver.  Currently, there are no major changes planned.
  
  5.  Firmware installation
  ----------------------------------------------
  
  The driver requires a firmware image, download it and extract the
  files under /lib/firmware (or wherever your hotplug's firmware.agent
  will look for firmware files)
  
  The firmware can be downloaded from the following URL:
  
      http://ipw2200.sf.net/
  
  
  6.  Support
  -----------------------------------------------
  
  For direct support of the 1.0.0 version, you can contact 
  http://supportmail.intel.com, or you can use the open source project
  support.
  
  For general information and support, go to:
  	
      http://ipw2200.sf.net/
  
  
  7.  License
  -----------------------------------------------
  
    Copyright(c) 2003 - 2006 Intel Corporation. All rights reserved.
  
    This program is free software; you can redistribute it and/or modify it 
    under the terms of the GNU General Public License version 2 as 
    published by the Free Software Foundation.
    
    This program is distributed in the hope that it will be useful, but WITHOUT 
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
    more details.
    
    You should have received a copy of the GNU General Public License along with
    this program; if not, write to the Free Software Foundation, Inc., 59 
    Temple Place - Suite 330, Boston, MA  02111-1307, USA.
    
    The full GNU General Public License is included in this distribution in the
    file called LICENSE.
    
    Contact Information:
    James P. Ketrenos <ipw2100-admin@linux.intel.com>
    Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497