Skip to content

Commit 43f66a6

Browse files
James Ketrenosjgarzik
authored andcommitted
Add ipw2200 wireless driver.
1 parent 2c86c27 commit 43f66a6

File tree

5 files changed

+9472
-0
lines changed

5 files changed

+9472
-0
lines changed
Lines changed: 300 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,300 @@
1+
2+
Intel(R) PRO/Wireless 2915ABG Driver for Linux in support of:
3+
4+
Intel(R) PRO/Wireless 2200BG Network Connection
5+
Intel(R) PRO/Wireless 2915ABG Network Connection
6+
7+
Note: The Intel(R) PRO/Wireless 2915ABG Driver for Linux and Intel(R)
8+
PRO/Wireless 2200BG Driver for Linux is a unified driver that works on
9+
both hardware adapters listed above. In this document the Intel(R)
10+
PRO/Wireless 2915ABG Driver for Linux will be used to reference the
11+
unified driver.
12+
13+
Copyright (C) 2004-2005, Intel Corporation
14+
15+
README.ipw2200
16+
17+
Version: 1.0.0
18+
Date : January 31, 2005
19+
20+
21+
Index
22+
-----------------------------------------------
23+
1. Introduction
24+
1.1. Overview of features
25+
1.2. Module parameters
26+
1.3. Wireless Extension Private Methods
27+
1.4. Sysfs Helper Files
28+
2. About the Version Numbers
29+
3. Support
30+
4. License
31+
32+
33+
1. Introduction
34+
-----------------------------------------------
35+
The following sections attempt to provide a brief introduction to using
36+
the Intel(R) PRO/Wireless 2915ABG Driver for Linux.
37+
38+
This document is not meant to be a comprehensive manual on
39+
understanding or using wireless technologies, but should be sufficient
40+
to get you moving without wires on Linux.
41+
42+
For information on building and installing the driver, see the INSTALL
43+
file.
44+
45+
46+
1.1. Overview of Features
47+
-----------------------------------------------
48+
The current release (1.0.0) supports the following features:
49+
50+
+ BSS mode (Infrastructure, Managed)
51+
+ IBSS mode (Ad-Hoc)
52+
+ WEP (OPEN and SHARED KEY mode)
53+
+ 802.1x EAP via wpa_supplicant and xsupplicant
54+
+ Wireless Extension support
55+
+ Full B and G rate support (2200 and 2915)
56+
+ Full A rate support (2915 only)
57+
+ Transmit power control
58+
+ S state support (ACPI suspend/resume)
59+
+ long/short preamble support
60+
61+
62+
63+
1.2. Command Line Parameters
64+
-----------------------------------------------
65+
66+
Like many modules used in the Linux kernel, the Intel(R) PRO/Wireless
67+
2915ABG Driver for Linux allows certain configuration options to be
68+
provided as module parameters. The most common way to specify a module
69+
parameter is via the command line.
70+
71+
The general form is:
72+
73+
% modprobe ipw2200 parameter=value
74+
75+
Where the supported parameter are:
76+
77+
associate
78+
Set to 0 to disable the auto scan-and-associate functionality of the
79+
driver. If disabled, the driver will not attempt to scan
80+
for and associate to a network until it has been configured with
81+
one or more properties for the target network, for example configuring
82+
the network SSID. Default is 1 (auto-associate)
83+
84+
Example: % modprobe ipw2200 associate=0
85+
86+
auto_create
87+
Set to 0 to disable the auto creation of an Ad-Hoc network
88+
matching the channel and network name parameters provided.
89+
Default is 1.
90+
91+
channel
92+
channel number for association. The normal method for setting
93+
the channel would be to use the standard wireless tools
94+
(i.e. `iwconfig eth1 channel 10`), but it is useful sometimes
95+
to set this while debugging. Channel 0 means 'ANY'
96+
97+
debug
98+
If using a debug build, this is used to control the amount of debug
99+
info is logged. See the 'dval' and 'load' script for more info on
100+
how to use this (the dval and load scripts are provided as part
101+
of the ipw2200 development snapshot releases available from the
102+
SourceForge project at http://ipw2200.sf.net)
103+
104+
mode
105+
Can be used to set the default mode of the adapter.
106+
0 = Managed, 1 = Ad-Hoc
107+
108+
109+
1.3. Wireless Extension Private Methods
110+
-----------------------------------------------
111+
112+
As an interface designed to handle generic hardware, there are certain
113+
capabilities not exposed through the normal Wireless Tool interface. As
114+
such, a provision is provided for a driver to declare custom, or
115+
private, methods. The Intel(R) PRO/Wireless 2915ABG Driver for Linux
116+
defines several of these to configure various settings.
117+
118+
The general form of using the private wireless methods is:
119+
120+
% iwpriv $IFNAME method parameters
121+
122+
Where $IFNAME is the interface name the device is registered with
123+
(typically eth1, customized via one of the various network interface
124+
name managers, such as ifrename)
125+
126+
The supported private methods are:
127+
128+
get_mode
129+
Can be used to report out which IEEE mode the driver is
130+
configured to support. Example:
131+
132+
% iwpriv eth1 get_mode
133+
eth1 get_mode:802.11bg (6)
134+
135+
set_mode
136+
Can be used to configure which IEEE mode the driver will
137+
support.
138+
139+
Usage:
140+
% iwpriv eth1 set_mode {mode}
141+
Where {mode} is a number in the range 1-7:
142+
1 802.11a (2915 only)
143+
2 802.11b
144+
3 802.11ab (2915 only)
145+
4 802.11g
146+
5 802.11ag (2915 only)
147+
6 802.11bg
148+
7 802.11abg (2915 only)
149+
150+
get_preamble
151+
Can be used to report configuration of preamble length.
152+
153+
set_preamble
154+
Can be used to set the configuration of preamble length:
155+
156+
Usage:
157+
% iwpriv eth1 set_preamble {mode}
158+
Where {mode} is one of:
159+
1 Long preamble only
160+
0 Auto (long or short based on connection)
161+
162+
163+
1.4. Sysfs Helper Files:
164+
-----------------------------------------------
165+
166+
The Linux kernel provides a pseudo file system that can be used to
167+
access various components of the operating system. The Intel(R)
168+
PRO/Wireless 2915ABG Driver for Linux exposes several configuration
169+
parameters through this mechanism.
170+
171+
An entry in the sysfs can support reading and/or writing. You can
172+
typically query the contents of a sysfs entry through the use of cat,
173+
and can set the contents via echo. For example:
174+
175+
% cat /sys/bus/pci/drivers/ipw2200/debug_level
176+
177+
Will report the current debug level of the driver's logging subsystem
178+
(only available if CONFIG_IPW_DEBUG was configured when the driver was
179+
built).
180+
181+
You can set the debug level via:
182+
183+
% echo $VALUE > /sys/bus/pci/drivers/ipw2200/debug_level
184+
185+
Where $VALUE would be a number in the case of this sysfs entry. The
186+
input to sysfs files does not have to be a number. For example, the
187+
firmware loader used by hotplug utilizes sysfs entries for transferring
188+
the firmware image from user space into the driver.
189+
190+
The Intel(R) PRO/Wireless 2915ABG Driver for Linux exposes sysfs entries
191+
at two levels -- driver level, which apply to all instances of the
192+
driver (in the event that there are more than one device installed) and
193+
device level, which applies only to the single specific instance.
194+
195+
196+
1.4.1 Driver Level Sysfs Helper Files
197+
-----------------------------------------------
198+
199+
For the driver level files, look in /sys/bus/pci/drivers/ipw2200/
200+
201+
debug_level
202+
203+
This controls the same global as the 'debug' module parameter
204+
205+
206+
1.4.2 Device Level Sysfs Helper Files
207+
-----------------------------------------------
208+
209+
For the device level files, look in
210+
211+
/sys/bus/pci/drivers/ipw2200/{PCI-ID}/
212+
213+
For example:
214+
/sys/bus/pci/drivers/ipw2200/0000:02:01.0
215+
216+
For the device level files, see /sys/bus/pci/[drivers/ipw2200:
217+
218+
rf_kill
219+
read -
220+
0 = RF kill not enabled (radio on)
221+
1 = SW based RF kill active (radio off)
222+
2 = HW based RF kill active (radio off)
223+
3 = Both HW and SW RF kill active (radio off)
224+
write -
225+
0 = If SW based RF kill active, turn the radio back on
226+
1 = If radio is on, activate SW based RF kill
227+
228+
NOTE: If you enable the SW based RF kill and then toggle the HW
229+
based RF kill from ON -> OFF -> ON, the radio will NOT come back on
230+
231+
ucode
232+
read-only access to the ucode version number
233+
234+
235+
2. About the Version Numbers
236+
-----------------------------------------------
237+
238+
Due to the nature of open source development projects, there are
239+
frequently changes being incorporated that have not gone through
240+
a complete validation process. These changes are incorporated into
241+
development snapshot releases.
242+
243+
Releases are numbered with a three level scheme:
244+
245+
major.minor.development
246+
247+
Any version where the 'development' portion is 0 (for example
248+
1.0.0, 1.1.0, etc.) indicates a stable version that will be made
249+
available for kernel inclusion.
250+
251+
Any version where the 'development' portion is not a 0 (for
252+
example 1.0.1, 1.1.5, etc.) indicates a development version that is
253+
being made available for testing and cutting edge users. The stability
254+
and functionality of the development releases are not know. We make
255+
efforts to try and keep all snapshots reasonably stable, but due to the
256+
frequency of their release, and the desire to get those releases
257+
available as quickly as possible, unknown anomalies should be expected.
258+
259+
The major version number will be incremented when significant changes
260+
are made to the driver. Currently, there are no major changes planned.
261+
262+
263+
3. Support
264+
-----------------------------------------------
265+
266+
For installation support of the 1.0.0 version, you can contact
267+
http://supportmail.intel.com, or you can use the open source project
268+
support.
269+
270+
For general information and support, go to:
271+
272+
http://ipw2200.sf.net/
273+
274+
275+
4. License
276+
-----------------------------------------------
277+
278+
Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved.
279+
280+
This program is free software; you can redistribute it and/or modify it
281+
under the terms of the GNU General Public License version 2 as
282+
published by the Free Software Foundation.
283+
284+
This program is distributed in the hope that it will be useful, but WITHOUT
285+
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
286+
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
287+
more details.
288+
289+
You should have received a copy of the GNU General Public License along with
290+
this program; if not, write to the Free Software Foundation, Inc., 59
291+
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
292+
293+
The full GNU General Public License is included in this distribution in the
294+
file called LICENSE.
295+
296+
Contact Information:
297+
James P. Ketrenos <ipw2100-admin@linux.intel.com>
298+
Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
299+
300+

drivers/net/wireless/Kconfig

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,58 @@ config IPW_DEBUG
190190
If you are not trying to debug or develop the IPW2100 driver, you
191191
most likely want to say N here.
192192

193+
config IPW2200
194+
tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
195+
depends on NET_RADIO && PCI
196+
select FW_LOADER
197+
select IEEE80211
198+
---help---
199+
A driver for the Intel PRO/Wireless 2200BG and 2915ABG Network
200+
Connection adapters.
201+
202+
See <file:Documentation/networking/README.ipw2200> for
203+
information on the capabilities currently enabled in this
204+
driver and for tips for debugging issues and problems.
205+
206+
In order to use this driver, you will need a firmware image for it.
207+
You can obtain the firmware from
208+
<http://ipw2200.sf.net/>. See the above referenced README.ipw2200
209+
for information on where to install the firmare images.
210+
211+
You will also very likely need the Wireless Tools in order to
212+
configure your card:
213+
214+
<http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
215+
216+
If you want to compile the driver as a module ( = code which can be
217+
inserted in and remvoed from the running kernel whenever you want),
218+
say M here and read <file:Documentation/modules.txt>. The module
219+
will be called ipw2200.ko.
220+
221+
config IPW_DEBUG
222+
bool "Enable full debugging output in IPW2200 module."
223+
depends on IPW2200
224+
---help---
225+
This option will enable debug tracing output for the IPW2200.
226+
227+
This will result in the kernel module being ~100k larger. You can
228+
control which debug output is sent to the kernel log by setting the
229+
value in
230+
231+
/sys/bus/pci/drivers/ipw2200/debug_level
232+
233+
This entry will only exist if this option is enabled.
234+
235+
To set a value, simply echo an 8-byte hex value to the same file:
236+
237+
% echo 0x00000FFO > /sys/bus/pci/drivers/ipw2200/debug_level
238+
239+
You can find the list of debug mask values in
240+
drivers/net/wireless/ipw2200.h
241+
242+
If you are not trying to debug or develop the IPW2200 driver, you
243+
most likely want to say N here.
244+
193245
config AIRO
194246
tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards"
195247
depends on NET_RADIO && ISA && (PCI || BROKEN)

drivers/net/wireless/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
obj-$(CONFIG_IPW2100) += ipw2100.o
66

7+
obj-$(CONFIG_IPW2200) += ipw2200.o
8+
79
obj-$(CONFIG_STRIP) += strip.o
810
obj-$(CONFIG_ARLAN) += arlan.o
911

0 commit comments

Comments
 (0)