Intel® PRO/Wireless 2100 Driver for Linux
an open source 802.11b driver for the ipw2100 - main | validation | firmware | downloads | GIT | news | faq
SourceForge.net Logo

This project was created by Intel to enable support for the Intel PRO/Wireless 2100 Network Connection mini PCI adapter. This project (IPW2100) is intended to be a community effort as much as is possible given some working constraints (mainly, no HW documentation is available)

If you are an end user looking for a driver to use, please use stable versions (versions ending in a 0). You can always find the latest tested stable release from Intel's Laptop Products page.

If you are looking to help develop or test, please see this notice before using one of the unstable / untested snapshots.

As always, in both cases (users or developers/testers) please send feedback, bug reports, feature requests and any fixes you come up with. Please let us know which distrubition you use this with, and any problems you encounter.

You can submit bugs to the Bugzilla repository available at BugHost.

Other Intel wireless project pages:
Intel PRO/Wireless 2200BG Network Connection
Intel PRO/Wireless 2915ABG Network Connection
Intel PRO/Wireless 3945ABG Network Connection

In order to use the IPW2100 driver you will need the following:

  1. Linux (of course) with a 2.6.8+* kernel [link]. See README.ipw2100 for information on specific options required to be enabled in the kernel.
  2. Wireless Extensions (v17) and Tools (v28) [link]
  3. The IPW2100 driver. You can obtain the latest development snapshot below.
  4. The IPW2100 binary firmware image. The firmware can be obtained here.
For instructions on how to build and use the driver, please see the INSTALL document.

We have put up a development mailing list to help in development.

You can frequently find people on IRC channel #ipw2100 on irc.freenode.org.

The following are links to projects, archives, and other sites that may be of use to IPW2x00 users:

Packages (not maintained by ipw2x00 project):

If you know of other distribution packages, please let us know (contact info at the bottom of the page).

Feb 01 2007 Changes in 1.2.2
  • Fix ESSID last byte bogus character problem caused by WE-21
  • Compatibility update for 2.6.19 above kernel workqueue API change
  • Fix external module compiling symbols not found warning
  • Fix dropping small fragmented packets bug

Feb 22 2006 Changes in 1.2.1
  • Add radiotap headers to packtes captured in monitor mode support (thanks to Stefan Rompf)

Feb 16 2006 Changes in 1.2.0
  • Fix debug option cannot enable problem (thanks to Henrik Brix Andersen)
  • Add support for WEXT-18 enc_capa v3 (thanks to Dan Williams)

Jan 09 2006 Changes in 1.1.4
  • Add LEAP authentication algorithm suport
  • Make iwconfig txpower setting consistent with user input
  • Add generic geo information to be compatible with ieee80211-1.1.7

Oct 17 2005 Changes in 1.1.3
NOTE: Tested to work against ieee80211-1.1.5. If you experience problems building or running this version, please try using ieee80211-1.1.5 from http://ieee80211.sf.net.
  • Fixed problem with ipw2100 not compiling against ieee80211-1.0.3 due to removed ieee80211_header_data.
  • Updated documentation
  • Ran scripts/Lindent on source files
  • Ported upstream patches that had previously been incorporated

[ more ]

A quick blurb about the release version numbers use:

The version numbers used for the snapshots indicate whether a release is a tested and stable release, or an unstable development release. A version where the last number is a 0 indicates a stable release. Versions ending in anything other than 0 are unstable.

For example, 1.0.0 is stable, 1.0.1 is a development snapshot/release.

Stable versions require a more extensive validation pass to be executed and will not be made available as frequently as the development snapshots.

Only fully tested and verified drivers should be used and deployed by end users. The development and unstable snapshots are intended only for development and testing. For more information, please see this notice.

Date Download md5sum Comments
2007-Feb-01 ipw2100-1.2.2.tgz ce77c41f2718aa8d70579351b475cd80 distros/ipw2100-1.2.2.tgz
2006-Feb-21 ipw2100-1.2.1.tgz 9db50b836c63dc3a7e56653d2009717a distros/ipw2100-1.2.1.tgz
2006-Feb-16 ipw2100-1.2.0.tgz dfb43e438e026729c81f20ada7f1d36a distros/ipw2100-1.2.0.tgz Stable
2006-Jan-27 ipw2100-1.1.5.tgz a84ead2c280260de4105904f9d19437d distros/ipw2100-1.1.5.tgz
2006-Jan-09 ipw2100-1.1.4.tgz 4f762f0f65d9f45c763f8efb0fdbf2bb distros/ipw2100-1.1.4.tgz
2005-Oct-17 ipw2100-1.1.3.tgz 97403ca85730eb7f2d06d9dcbb653228 distros/ipw2100-1.1.3.tgz
2005-Jul-13 ipw2100-1.1.2.tgz 604d44b15a0e0653897ca323310253dc distros/ipw2100-1.1.2.tgz
2005-Jul-11 ipw2100-1.1.1.tgz dc0e0c48cc1974a706e921421e5442db distros/ipw2100-1.1.1.tgz
2005-Mar-14 ipw2100-1.1.0.tgz d185a19e73895a4f4e8401b536f6d6ef Stable
2005-Feb-08 ipw2100-1.0.5.tgz 26f96a9a20eed00d8e4e6c963ed41d37
[ more ]

Firmware files fail to load even if installed
In some kernel configurations (users have most frequently reported the problem only with 2.6.9), the default timeout value for the hotplug subsystem is too low. You may have this problem if you see the following in your kernel log (via dmesg or /var/log/messages):
ipw2100: Copyright(c) 2003-2004 Intel Corporation
ipw2100: Detected Intel PRO/Wireless 2100 Network Connection
ipw2100: eth1: Firmware 'ipw2100-1.3.fw' not available or load failed.
ipw2100: eth1: ipw2100_get_firmware failed: -2
ipw2100: eth1: Failed to power on the adapter.
ipw2100: eth1: Failed to start the firmware.
ipw2100Error calling regiser_netdev.
ipw2100: probe of 0000:02:02.0 failed with error -5

To work around this, you can increase the default timeout value:

	echo 100 > /sys/class/firmware/timeout
and then reload the ipw2100 module. If this corrects your problem, you may wish to add the above line to your system startup scripts prior to the point at which the driver module would be loaded.

The other most common reason for getting the above error is that the firmware files are not installed in the correct location. Please see the INSTALL document for information on installing the firmware files.

PCI latency error if C3 enabled
There is a problem experienced by some when C3 is enabled that results in frequent firmware restarts due to a PCI latency problem. If you see this problem, you can remedy it by upgrading to 0.61 and patching your ACPI core with the cstate patch available here.

After applying the ACPI core patch you will need to recompile and install the new kernel image, and reboot into it.

You can then rebuild the ipw2100 driver (0.61 or later) against that kernel version. If a PCI latency error is detected, the driver will reactively disable C3 through the ACPI core. C3 will be reenabled when the driver is unloaded or the radio is turned off via the rf_kill sysfs entry (see README.ipw2100 for more information on this sysfs entry)

My wireless settings keep being changed!
If you are trying to manually set wireless configuration settings, you may find yourself fighting for control with your specific distribution. If you aren't familiar with how your distribution works, or what might be reconfiguring the wireless tools, you can try the following:
% IWPATH=`dirname \`which iwconfig\``
% mv ${IWPATH}/iwconfig ${IWPATH}/iwconfig.bin
% echo "#\!/bin/sh
date >> /tmp/iwconfig.log
ps --forest >> /tmp/iwconfig.log
echo \"iwconfig $*\" >> /tmp/iwconfig.log
${IWPATH}/iwconfig.bin $1 $2 $3 $4 $5 $6 $7 $8 $9" > ${IWPATH}/iwconfig
% chmod +x ${IWPATH}/iwconfig
NOTE: You must be root to perform the above. You can test that the above is working:
% iwconfig
% cat /tmp/iwconfig.log
Tue Oct  5 14:04:51 CDT 2004
  PID TTY         TIME CMD
16409 pts/1   00:00:00 su
16410 pts/1   00:00:00  \_ bash
24762 pts/1   00:00:00      \_ iwconfig
24764 pts/1   00:00:00          \_ ps
Now, the next time you experience your distribution changing your wireless configuration, check the contents of /tmp/iwconfig.log. It will tell you when iwconfig was last executed, what the arguments were, and what the processes are that were executing at that time. From this you can typically determine which scripts on your system are involved in managing your wireless devices. To restore your system to the way it was:
% IWPATH=`dirname \`which iwconfig\``
% mv ${IWPATH}/iwconfig.bin ${IWPATH}/iwconfig

No packets! - RF kill switch
If the module loads, but no packets are transferred you may have a SW based radio kill switch. All laptops have some capability to disable the radio via a button or switch. On some laptops that switch is physically tied to the IPW2100; simply toggling the switch should enable the radio.

On other laptops, the switch is a button that when pressed requires some software driver to send some hardware command to some other piece of hardware on the laptop, that then controls the radio.

To know if the radio is being disabled via the RF switch, perform the following:

% cat /sys/bus/pci/drivers/ipw2100/*/rf_kill

The reported values mean:

  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)

The ipw2100 driver can not control the state of the HW based RF switches.

For the latest progress on supporting various laptops, please go to the RF Switch Project. You can check the Laptop Matrix.

Problems building 1.2.1 with ieee80211-1.2.15 and above: patch
This patch fixes the building problem for ipw2100-1.2.1 on ieee80211-1.2.15 and aboves.

Problems building 1.1.4 on old kernels (<= 2.6.13): patch
This patch fixes the building problem for ipw2100-1.1.4 on <= 2.6.13 kernels. You need also install the ieee80211-1.1.8 to work with this version of the driver.

Problems building 1.1.0 on newer kernels.: patch
If you are experiencing problems building ipw2100-1.1.0 on newer kernels, try the attached patch to add kernel compatibility code to the driver.

ipw2100-1.1.2 won't compile with ieee80211-1.0.3: patch
This patch fixes an API compatibility problem with ieee80211-1.0.3

ipw2100-1.1.1 make indicates it will remove ipw.ko: patch
The portion of the Makefile that checks for old versions of the ipw2100 module on the system will incorrectly list ipw.ko as a module target for deletion. This patch corrects that behavior.

ipw2100-1.1.1 problem with WEP: patch

New versions of wpa_supplicant do not work with 1.1.0: patch
If you are using ipw2100 and want to use the newer versions of wpa_supplicant, you need to apply this patch. It changes the interface used for passing data between wpa_supplicant and the driver to be compatible with the new code in wpa_supplicant.

If you have any questions, concerns, etc. please email Zhu Yi.
Last Updated: Feb 01 2007