| 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 | |