Add ipw2200 wireless driver.
This commit is contained in:
parent
2c86c27501
commit
43f66a6ce8
|
@ -0,0 +1,300 @@
|
||||||
|
|
||||||
|
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-2005, Intel Corporation
|
||||||
|
|
||||||
|
README.ipw2200
|
||||||
|
|
||||||
|
Version: 1.0.0
|
||||||
|
Date : January 31, 2005
|
||||||
|
|
||||||
|
|
||||||
|
Index
|
||||||
|
-----------------------------------------------
|
||||||
|
1. Introduction
|
||||||
|
1.1. Overview of features
|
||||||
|
1.2. Module parameters
|
||||||
|
1.3. Wireless Extension Private Methods
|
||||||
|
1.4. Sysfs Helper Files
|
||||||
|
2. About the Version Numbers
|
||||||
|
3. Support
|
||||||
|
4. License
|
||||||
|
|
||||||
|
|
||||||
|
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.0.0) 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)
|
||||||
|
+ long/short preamble support
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1.2. Command Line Parameters
|
||||||
|
-----------------------------------------------
|
||||||
|
|
||||||
|
Like many modules used in the Linux kernel, the Intel(R) PRO/Wireless
|
||||||
|
2915ABG Driver for Linux allows certain 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 1 (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 'dval' and 'load' script for more info on
|
||||||
|
how to use this (the dval and load scripts are provided as part
|
||||||
|
of the ipw2200 development snapshot releases available from the
|
||||||
|
SourceForge project at http://ipw2200.sf.net)
|
||||||
|
|
||||||
|
mode
|
||||||
|
Can be used to set the default mode of the adapter.
|
||||||
|
0 = Managed, 1 = Ad-Hoc
|
||||||
|
|
||||||
|
|
||||||
|
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_IPW_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
|
||||||
|
|
||||||
|
|
||||||
|
2. 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.
|
||||||
|
|
||||||
|
|
||||||
|
3. Support
|
||||||
|
-----------------------------------------------
|
||||||
|
|
||||||
|
For installation 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/
|
||||||
|
|
||||||
|
|
||||||
|
4. License
|
||||||
|
-----------------------------------------------
|
||||||
|
|
||||||
|
Copyright(c) 2003 - 2005 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
|
||||||
|
|
||||||
|
|
|
@ -190,6 +190,58 @@ config IPW_DEBUG
|
||||||
If you are not trying to debug or develop the IPW2100 driver, you
|
If you are not trying to debug or develop the IPW2100 driver, you
|
||||||
most likely want to say N here.
|
most likely want to say N here.
|
||||||
|
|
||||||
|
config IPW2200
|
||||||
|
tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
|
||||||
|
depends on NET_RADIO && PCI
|
||||||
|
select FW_LOADER
|
||||||
|
select IEEE80211
|
||||||
|
---help---
|
||||||
|
A driver for the Intel PRO/Wireless 2200BG and 2915ABG Network
|
||||||
|
Connection adapters.
|
||||||
|
|
||||||
|
See <file:Documentation/networking/README.ipw2200> for
|
||||||
|
information on the capabilities currently enabled in this
|
||||||
|
driver and for tips for debugging issues and problems.
|
||||||
|
|
||||||
|
In order to use this driver, you will need a firmware image for it.
|
||||||
|
You can obtain the firmware from
|
||||||
|
<http://ipw2200.sf.net/>. See the above referenced README.ipw2200
|
||||||
|
for information on where to install the firmare images.
|
||||||
|
|
||||||
|
You will also very likely need the Wireless Tools in order to
|
||||||
|
configure your card:
|
||||||
|
|
||||||
|
<http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
|
||||||
|
|
||||||
|
If you want to compile the driver as a module ( = code which can be
|
||||||
|
inserted in and remvoed from the running kernel whenever you want),
|
||||||
|
say M here and read <file:Documentation/modules.txt>. The module
|
||||||
|
will be called ipw2200.ko.
|
||||||
|
|
||||||
|
config IPW_DEBUG
|
||||||
|
bool "Enable full debugging output in IPW2200 module."
|
||||||
|
depends on IPW2200
|
||||||
|
---help---
|
||||||
|
This option will enable debug tracing output for the IPW2200.
|
||||||
|
|
||||||
|
This will result in the kernel module being ~100k larger. You can
|
||||||
|
control which debug output is sent to the kernel log by setting the
|
||||||
|
value in
|
||||||
|
|
||||||
|
/sys/bus/pci/drivers/ipw2200/debug_level
|
||||||
|
|
||||||
|
This entry will only exist if this option is enabled.
|
||||||
|
|
||||||
|
To set a value, simply echo an 8-byte hex value to the same file:
|
||||||
|
|
||||||
|
% echo 0x00000FFO > /sys/bus/pci/drivers/ipw2200/debug_level
|
||||||
|
|
||||||
|
You can find the list of debug mask values in
|
||||||
|
drivers/net/wireless/ipw2200.h
|
||||||
|
|
||||||
|
If you are not trying to debug or develop the IPW2200 driver, you
|
||||||
|
most likely want to say N here.
|
||||||
|
|
||||||
config AIRO
|
config AIRO
|
||||||
tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards"
|
tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards"
|
||||||
depends on NET_RADIO && ISA && (PCI || BROKEN)
|
depends on NET_RADIO && ISA && (PCI || BROKEN)
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
|
|
||||||
obj-$(CONFIG_IPW2100) += ipw2100.o
|
obj-$(CONFIG_IPW2100) += ipw2100.o
|
||||||
|
|
||||||
|
obj-$(CONFIG_IPW2200) += ipw2200.o
|
||||||
|
|
||||||
obj-$(CONFIG_STRIP) += strip.o
|
obj-$(CONFIG_STRIP) += strip.o
|
||||||
obj-$(CONFIG_ARLAN) += arlan.o
|
obj-$(CONFIG_ARLAN) += arlan.o
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue