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