<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ThinkPal</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ThinkPal"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/ThinkPal"/>
	<updated>2026-05-01T05:10:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ipw2200&amp;diff=27997</id>
		<title>Ipw2200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ipw2200&amp;diff=27997"/>
		<updated>2007-01-28T23:04:34Z</updated>

		<summary type="html">&lt;p&gt;ThinkPal: hints that would have helped myself&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
=== Intel PRO/Wireless 2200/2915 Driver for WiFi ===&lt;br /&gt;
Linux driver for the 802.11bg and 802.11abg NICs - miniPCI cards - found in Centrino laptops. This driver only works on 2.6.x kernels (2.6.4 or newer).&lt;br /&gt;
&lt;br /&gt;
Starting with kernels 2.6.14 the driver is included in kernel.&lt;br /&gt;
&lt;br /&gt;
The following adapters sold by IBM use these chips:&lt;br /&gt;
* [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]]&lt;br /&gt;
* [[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Make sure you have installed the firmware! The ipw2200 documentation will tell you where to find these firmware files and where to install those.}}&lt;br /&gt;
&lt;br /&gt;
=== Project Homepage / Availability ===&lt;br /&gt;
http://ipw2200.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
Included in mainline Linux kernels, tracking the SourceForge version with about 6 months delay.&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
*{{Fedora}} Packages(1): Fedora Core includes the ipw2200-drivers in FC3 (with updates) and FC4. You still need to grab the firmware from http://rpm.livna.org/&lt;br /&gt;
*{{Fedora}} Packages(2): http://www.atrpms.net/name/ipw2200/ &lt;br /&gt;
*{{Mandriva}}: The ipw2200 driver modules are included in the stock kernel package; the firmware is included in the commercial distribution or available from http://plf.zarb.org/.&lt;br /&gt;
*{{Gentoo}}: The driver is in the portage tree: emerge net-wireless/ipw2200 and net-wireless/ipw2200-firmware&lt;br /&gt;
*{{Debian}} Packages: http://packages.debian.org/ipw2200-source&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
In development, usable, WEP 128bit encryption works, WPA and WPA2 work with drivers &amp;gt;= 1.0.2 using [[wpa_supplicant]], monitor/rfmon is supported as with version &amp;gt;= 1.0.6. Generally works well, but some users experience problems (especially with firmware restarts and with WPA functionality using [[wpa_supplicant]]). Passing the &amp;lt;tt&amp;gt;hwcrypto=0&amp;lt;/tt&amp;gt; module parameter improves reliability for many users.&lt;br /&gt;
&lt;br /&gt;
The [[ipw2200]] driver up to version 1.0.6 (in combination with some newer kernels) had a problem getting DHCP leases (it turned out to be a bug in the broadcasting code). Version 1.0.7 seems to have fixed this.&lt;br /&gt;
&lt;br /&gt;
Older [[ipw2200]] driver versions shipped by many distributions have been reported to freeze a T43 after several minutes of intensive communication.  Installing version 1.1.2 of the driver solved the problem.&lt;br /&gt;
&lt;br /&gt;
Latest stable versions:&lt;br /&gt;
* ipw2200 driver: 1.2.0&lt;br /&gt;
* firmware: 3.0&lt;br /&gt;
* ieee80211 stack: 1.2.15&lt;br /&gt;
&lt;br /&gt;
Latest development versions:&lt;br /&gt;
* ipw2200 driver: 1.1.4&lt;br /&gt;
* firmware: 3.0&lt;br /&gt;
* ieee80211 stack: 1.2.15&lt;br /&gt;
&lt;br /&gt;
Mainline kernels contain older (but mostly functional) versions of ipw2200 and ieee80211, and still require the addition of the [http://ipw2200.sourceforge.net/firmware.php firmware] files. To get the latest versions you need to separately install the [http://ipw2200.sourceforge.net/downloads.php ipw2200] module and [http://ieee80211.sourceforge.net/downloads.php ieee80211] stack.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
=== Installation from sourcecode ===&lt;br /&gt;
Download the latest [http://ieee80211.sourceforge.net/downloads.php ieee80211] stack and install it:&lt;br /&gt;
:{{cmdroot|tar xzvf ieee80211-1.2.15.tgz}}&lt;br /&gt;
:{{cmdroot|cd ieee80211-1.2.15}}&lt;br /&gt;
:{{cmdroot|make}}&lt;br /&gt;
:{{cmdroot|make install}}&lt;br /&gt;
&lt;br /&gt;
Download the latest [http://ipw2200.sourceforge.net/downloads.php ipw2200] module and install it:&lt;br /&gt;
:{{cmdroot|tar xzvf ipw2200-1.2.0.tgz}}&lt;br /&gt;
:{{cmdroot|cd ipw2200-1.2.0}}&lt;br /&gt;
:{{cmdroot|make}}&lt;br /&gt;
:{{cmdroot|make install}}&lt;br /&gt;
&lt;br /&gt;
Download the matching [http://ipw2200.sourceforge.net/firmware.php firmware] and install it:&lt;br /&gt;
:{{cmdroot|tar xzvf ipw2200-fw-3.0.tgz -C /lib/firmware}}&lt;br /&gt;
&lt;br /&gt;
=== Installation on Debian ===&lt;br /&gt;
Install ieee80211-source:&lt;br /&gt;
:{{cmdroot|apt-get install ieee80211-source}}&lt;br /&gt;
:{{cmdroot|module-assistant -t build ieee80211-source}}&lt;br /&gt;
&lt;br /&gt;
Install ipw2200-source:&lt;br /&gt;
:{{cmdroot|apt-get install ipw2200-source}}&lt;br /&gt;
:{{cmdroot|module-assistant -t build ipw2200-source}}&lt;br /&gt;
&lt;br /&gt;
There is a bug in the {{Debian}} package (last checked: Dec 30th 2005) that prevents from linking to &amp;lt;tt&amp;gt;ieee80211&amp;lt;/tt&amp;gt; modules using module-assistant. In case it is not fixed in your version, fall back to the regular source installation procedure described above.&lt;br /&gt;
&lt;br /&gt;
The firmware is not distributed with debian due to licensing reasons, download the matching [http://ipw2200.sourceforge.net/firmware.php firmware] and install it:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|tar xzvf ipw2200-fw-2.4.tgz -C /usr/lib/hotplug/firmware}}&lt;br /&gt;
&lt;br /&gt;
see /etc/hotplug/firmware.agent for details on configured firmware locations&lt;br /&gt;
&lt;br /&gt;
In etch the firmware can also be placed in /lib/firmware. Make sure that your firmware files are not in a subdirectory (dmesg will give you warnings after any modprobe when firmware can't be loaded)&lt;br /&gt;
&lt;br /&gt;
=== Installation on Fedora Core ===&lt;br /&gt;
Installation on Fedora Core 5 works out of the box provided you install the ipw2200-firmware package. However, certain parts of the install process may not set up the wireless networking in a friendly manner using GNOME system tray icons and other tools. Bill Moss has written some excellent HowTo articles, including using VPNC to connect to a remote Cisco IPSec network.&lt;br /&gt;
&lt;br /&gt;
* [http://www.ces.clemson.edu/linux/fc2-ipw2200.shtml Fedora Core 5 and the IPW2200 Wireless Driver]&lt;br /&gt;
* [http://www.ces.clemson.edu/linux/nm.shtml Fedora Core 5 NetworkManager, NetworkManager-vpnc and Wireless Driver IPW2200]&lt;br /&gt;
&lt;br /&gt;
===Testing the driver ===&lt;br /&gt;
:{{cmdroot|modprobe ipw2200}}&lt;br /&gt;
:{{cmdroot|iwconfig}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dmesg}} output might look similar to this:&lt;br /&gt;
 ieee80211: 802.11 data/management/control stack, 1.1.6&lt;br /&gt;
 ieee80211: Copyright (C) 2004-2005 Intel Corporation &amp;lt;jketreno@linux.intel.com&amp;gt;&lt;br /&gt;
 ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.8&lt;br /&gt;
 ipw2200: Copyright(c) 2003-2005 Intel Corporation&lt;br /&gt;
 ipw2200: Detected Intel PRO/Wireless 2915ABG Network Connection&lt;br /&gt;
&lt;br /&gt;
NB: To make the wifi LED work on the thinkpad, pass the option {{bootparm|led|1}} to the kernel while loading the module. eg. {{cmdroot|1=modprobe ipw2200 led=1}}.  This can also be accomplished by adding that option to the file where your distribution looks for modprobe options so that it becomes automatic.&lt;br /&gt;
&lt;br /&gt;
In debian this can be done by putting a file named after the module in /etc/modutils with the options in it&lt;br /&gt;
&lt;br /&gt;
here we might run a cmd like this&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|1=echo options ipw2200 led=1 &amp;gt; /etc/modutils/ipw2200 }}&lt;br /&gt;
&lt;br /&gt;
then we must run update-modules to remake /etc/module.conf&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|update-modules}}&lt;br /&gt;
&lt;br /&gt;
== WPA support ==&lt;br /&gt;
&lt;br /&gt;
Use [[wpa_supplicant]] with the &amp;lt;tt&amp;gt;-Dwext&amp;lt;/tt&amp;gt; argument (not &amp;lt;tt&amp;gt;-Dipw&amp;lt;/tt&amp;gt;), and pass the &amp;lt;tt&amp;gt;hwcrypto=0&amp;lt;/tt&amp;gt; argument to the &amp;lt;tt&amp;gt;ipw2200&amp;lt;/tt&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
There are some very detailed instructions with working sample configurations on the following link:&lt;br /&gt;
[http://www.bughost.org/ipw/wpa_howto.txt ipw2200 WPA instruction]&lt;br /&gt;
&lt;br /&gt;
== Power Management ==&lt;br /&gt;
To enable power management, issue:&lt;br /&gt;
:{{cmdroot|iwpriv wlan0 set_power 7}}&lt;br /&gt;
where &amp;lt;tt&amp;gt;wlan0&amp;lt;/tt&amp;gt; is the name of your interface. This will reduce idle power consumption by several Watts compared to no power management.&lt;br /&gt;
&lt;br /&gt;
*To disable the radio (and further reduce power consumption) when the card is not in use, issue:&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /sys/bus/pci/drivers/ipw2200/*/rf_kill}}&lt;br /&gt;
*To enable the radio, issue:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/bus/pci/drivers/ipw2200/*/rf_kill}}&lt;br /&gt;
*To make the radio off by default after boot, add &lt;br /&gt;
 options ipw2200 disable=1&lt;br /&gt;
to your {{path|/etc/modprobe.conf}} or equivalent (on kubuntu 6.10 {{path|/etc/modprobe.d/options}}).&lt;br /&gt;
&lt;br /&gt;
See {{path|README.ipw2200}} in the &amp;lt;tt&amp;gt;ipw2200&amp;lt;/tt&amp;gt; package for details and other options.&lt;br /&gt;
&lt;br /&gt;
== Changing the enabled channels ==&lt;br /&gt;
Permitted WiFi channels vary with geography due to regulation. The EEPROM in this chip contains a country code (programmed by the hardware manufacturer), and the driver converts this to a channel list and enforces it.&lt;br /&gt;
&lt;br /&gt;
If you carry your laptop to a different regulatory region, you may need to change the list of permitted channels according to local regulations. There are two ways to accomplish this:&lt;br /&gt;
&lt;br /&gt;
===Patching the ipw2200 driver===&lt;br /&gt;
You can alter the ipw2200 driver sourcecode to hard-code the country code instead of reading it from EEPROM. For example, this will allow all 14 channels (perfect for those special occasions in international water):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--- ipw2200.c.orig&lt;br /&gt;
+++ ipw2200.c&lt;br /&gt;
@@ -11344,7 +11344,7 @@ static int ipw_up(struct ipw_priv *priv)&lt;br /&gt;
 		memcpy(priv-&amp;gt;net_dev-&amp;gt;dev_addr, priv-&amp;gt;mac_addr, ETH_ALEN);&lt;br /&gt;
 &lt;br /&gt;
 		for (j = 0; j &amp;lt; ARRAY_SIZE(ipw_geos); j++) {&lt;br /&gt;
-			if (!memcmp(&amp;amp;priv-&amp;gt;eeprom[EEPROM_COUNTRY_CODE],&lt;br /&gt;
+			if (!memcmp(&amp;quot;ZZR&amp;quot;,&lt;br /&gt;
 				    ipw_geos[j].name, 3))&lt;br /&gt;
 				break;&lt;br /&gt;
 		}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the list of codes and their meaning, see the &amp;quot;&amp;lt;tt&amp;gt;ipw_geos&amp;lt;/tt&amp;gt;&amp;quot; table in the [http://lxr.free-electrons.com/source/drivers/net/wireless/ipw2200.c#10382 ipw2200.c sourcecode].&lt;br /&gt;
&lt;br /&gt;
===Patching the EEPROM===&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can change the country code in the EEPROM once and for all, and then use the standard ipw2200 driver.&lt;br /&gt;
&lt;br /&gt;
See this guide:&lt;br /&gt;
* [http://saftware.de/#ipw2200 Patching the EEPROM].&lt;br /&gt;
&lt;br /&gt;
Instead of the &amp;lt;tt&amp;gt;hd&amp;lt;/tt&amp;gt; program mentioned there, you can use the more common &amp;lt;tt&amp;gt;od&amp;lt;/tt&amp;gt; program:&lt;br /&gt;
 echo -n ZZD | od -t x1&lt;br /&gt;
 0000000 5a 5a 44&lt;br /&gt;
 0000003&lt;br /&gt;
&lt;br /&gt;
{{WARN|If this procedure goes wrong, you may ruin your wireless card.}}&lt;br /&gt;
&lt;br /&gt;
== Additional Comments ==&lt;br /&gt;
Your kernel may include an old version of the ipw2200 driver. It is recommended to use the latest version.&lt;br /&gt;
&lt;br /&gt;
Make sure you also install the firmware version needed by the driver version you use. You can find the firmware [http://ipw2200.sourceforge.net/firmware.php here]. To install it, decompress the &amp;lt;tt&amp;gt;.tgz&amp;lt;/tt&amp;gt; file into {{path|/lib/firmware}}.&lt;br /&gt;
&lt;br /&gt;
The driver doesn't appear to support the MII interface, so any tools like automatic network configuration managers (i.e. whereami) that rely on mii-tool do not work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]]&lt;/div&gt;</summary>
		<author><name>ThinkPal</name></author>
		
	</entry>
</feed>