| |
| 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/support/notebook/sb/CS-006408.htm |
| |
| |
| 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 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 '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 0. |
| |
| 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 transfering |
| 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 |
| |