Installing Centrino 2200BG WiFi in SuSE 10.1


Objective.

Install the software necessary to enable the integral wireless chipset on a Fujitsu Siemens S7010 (or any other computer using the Intel Centrino 2200BG chipset).

Tasks.
Reconfigure default kernel options and rebuild.
Replace outdated networking stack.
Install latest driver.
Install latest firmware.

Recommendations.
Despite being detected by YaST2 during installation, some extra work is required to enable this chipset for use (at least with SuSE 10.1 and at the time of writing). Kernel recompilation will be required and is covered in a separate section on this website. This topic is a project in its own right and has its own page at http://ipw2200.sourceforge.net which should be reviewed before installation is attempted.
As with any installation on any computing platform, it is good practice to ensure important data is backed up in case unforeseen difficulties arise.
Review all installation instructions on this page before you begin.

Page dependencies (ensure you have access to everything you need before you begin).
Commands issued at the command prompt in this section are done so as superuser or root unless otherwise specified.
Kernel editing will be required and is covered under the kernel optimisation page which is subject to its own dependencies.
This information is provided for SuSE 10.1 users. The driver used requires Linux with a 2.6.8+ kernel (SuSE 10.1 ships with kernel 2.6.16). If you are not using SuSE 10.1 please check your kernel version before attempting installation (use either cat /proc/version or uname -r from the command line or find the version from your GUI).
Download the latest stable driver from Intel at http://support.intel.com/support/notebook/sb/CS-006408.htm
Download the latest stable firmware from http://ipw2200.sourceforge.net/firmware.php Note, the above driver download may also contain the latest stable firmware download.
Wireless extensions and tools are required (included with SuSE 10.1 by default). If necessary, download these from:
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
Download the latest stable ieee80211 networking stack from http://ieee80211.sf.net/
YaST2 installations will require access to installation sources (CD, DVD, network or Internet archives).

Text file editing from the command line.
This guide uses the Nano application for text editing because of its simplicity. Alternative text editors are available. Basic Nano key combinations to remember are CTRL-O to save and CTRL-X to exit.

Page format.
Text in this format indicates command line entry by the user.
Text in this format indicates an error returned by the system.
Text in this format indicates a normal return from the system.
Beware of similar characters such as 1(one), l(lowercase L), 0(zero), O(uppercase 'o'), | (pipe – Shift ' ' usually).
Text enclosed in [square brackets] indicates a build-specific variable such as a version number or user name.

Conditions.
This page was written for SuSE 10.1 and may contain content or instructions that are not relevant to other distributions.
This information is provided for guidance only. Use of these instructions is deemed to be at your own risk.
R3UK Limited welcomes comment on this information but cannot guarantee a reply and provides no technical support. Please use one of the many dedicated Linux forums or IRC channels if you require assistance.
Text colours and fonts used in the formatting of this page relating to command input and output are used for illustration purposes only. Actual command line colours and fonts will vary according to individual system preferences.
GUI instructions were written for the KDE desktop environment and may differ for other desktop environments.

Procedure.
I installed SuSE 10.1 with a Linksys WPC11 PCMCIA wireless card fitted and had no problem configuring it for my wireless LAN settings during the installation. Unfortunately the integral Intel 2200BG chipset, although seen by the OS, refused to do anything useful.

Fortunately this page exists on sourceforge specifically for this subject. Before preceding, download and extract all the parts required (as listed in Page Dependencies above).

According to the driver instructions, the kernel must be configured to provide the capabilities required by the ieee80211 and ipw2200 drivers. Also, kernel versions 2.6.14 and later have old versions of the ieee80211 and ipw2200 drivers which must be removed before installation.

Enter menuconfig as per the instructions listed on our kernel optimisation page and check/set the following entries as below...

Cryptographic Options/ARC4 cipher algorithm
Set to ' * ' (includes)

Cryptographic Options/CRC32c CRC Algorithm
Set to ' * ' (includes)

Cryptographic Options/Michael MIC keyed digest algorithm
Set to ' * ' (includes)

Cryptographic Options/AES cipher algorithm (i586)
Set to ' * ' (includes)

Networking/Generic ieee802.11 networking stack
Set to ' M ' (Modular)

The following entries should be DISABLED...

Device Drivers/Network Device Support/Wireless LAN (non-hamradio)/Intel Pro Wireless 2200BG and 2915ABG Network Connection Set to ' n' (excludes)

Device Drivers/Network Device Support/Wireless LAN (non-hamradio)/Intel Pro Wireless 2100 Network Connection Set to ' n' (excludes)

Save your configuration and rebuild your kernel as per the instructions on our kernel optimisation page. Reboot the computer into the new kernel once built and open a new terminal window as root or superuser.

Next, check you have an entry in your /etc/fstab file for mounting sysfs. It should be there by default in a SuSE 10.1 installation but you can check from the command prompt by typing less /etc/fstab to display the contents of fstab. Look for a line that reads:
sysfs /sys sysfs noauto 0 0

If it isn't there then create a /sys directory and edit your /etc/fstab with a text editor such as Nano to show it. Check sysfs has been mounted by using the mount command.

Now we need to remove the old ieee80211 subsystem and replace it with the latest stable version. First, remove the ieee80211.h file.
rm /usr/src/linux/include/net/ieee80211.h

Download the ieee802.11 networking stack (see page dependencies above). At the time of writing there isn’t a stable version listed so I have used version 1.2.15. Download to your desktop and then copy the downloaded archive to /usr/src and decompress.
mkdir /usr/src/ieee80211
cd /home/[username]/Desktop
cp ieee80211[version] /usr/src/ieee80211
cd /usr/src/ieee80211
tar –xvzf ieee80211{version].tar

You should now have a directory named ieee80211-[version] which contains the uncompressed files. Change to this directory and run the ‘remove-old’ script to clear out other unwanted components of the old 802.11 subsystem. Answer Yes to any questions the script asks.
cd ieee80211[version]
. remove-old

Next use the ‘make’ command to compile the source code for the new ieee80211 stack. If the make command returns errors then check there are no copies of ieee80211.h still lurking around. Assuming there are no errors, use ‘make install’ to install the new ieee80211 stack.
make
make install

We will be installing the driver next. Download the driver to your desktop (see page dependencies above). Once you have downloaded the packed driver archive, move it to a new directory under /usr/src and unpack it.
mkdir /usr/src/driver
cd /home/[username]/Desktop
cp ipw2200_linux_[version].tgz /usr/src/driver
cd /usr/src/driver
tar –xvzf ipw2200_linux[version].tgz

This will create a new directory under /usr/src/driver called intel_ipw2200_[version]. Within this directory will be another archive. Unpack this archive.
cd intel_ipw2200_[version]
tar –xvzf ipw2200-[version].tgz

This will create yet another directory, this time called ipw2200-[version]. Change to this directory and issue a ‘make’ command to compile the driver. Assuming no errors, use ‘make install’ to install the driver.
cd ipw2200-[version]
make
make install

Download the latest stable firmware for your chipset from the link Page dependencies (note, the latest firmware may have been included with your driver download in the last section. Check for a firmware or ‘FW’ archive or download a separate copy). We will copy this downloaded archive into a new directory in /usr/src before extracting the contents to where they should be. The commands below assume the firmware has been downloaded to the desktop separately to the driver.
mkdir /usr/src/firmware
cd /home/[username]/Desktop
cp ipw2200-fw-[version].gz /usr/src/firmware
tar –xvzf ipw2200-[version].tgz
cp ipw-2* /lib/firmware

The above instructions will extract the contents of the ipw2200-fw archive and place the extracted files in /lib/firmware.

Finally, reboot the computer. Once back up, you should (hopefully) find your wireless is working. The easiest way to check is to use knetwork manager to scan for and configure the wireless connection. The following commands, as superuser or root, will help with faultfinding if you have problems.

iwconfig
Similar to ifconfig for wired interfaces, this command will display information on the wireless interfaces on your system. Use iwconfig –help or man iwconfig for the full list of options. Assuming your wireless chipset is now operational, you should be able to connect to a wireless network from the command line assuming you know the SSID and security key. The dhclient command will attempt to obtain an IP address for your interface. There are various options for iwconfig but an example of how to connect is below....
iwconfig eth1 essid R3WIFI key b456-7e3e-21
dhclient [interface]

In the above example eth1 is the interface name, R3WIFI is the site ID (SSID), and key shows a 64 bit WEP key.

dmesg | grep ipw2200
This command will display any errors encountered when driver loading was attempted. If you see something like the error below then check you have put the firmware files in the correct place. The likely location for firmware files is /lib/firmware or /usr/lib/hotplug/firmware.
ipw2200: ipw-2.4-boot.fw load failed: Reason -2
ipw2200: Unable to load firmware: 0Xfffffffe
ipw2200: probe of 0000:00:0b.0 failed with error -5

iwlist
Will list information on your wireless network depending on the options entered. For example, iwlist key will show what keys and encryption methods are in use/available (note, WEP is not listed although may be available). iwlist scan will scan for available networks. These commands will be applied to all network interfaces unless a particular interface is specified, e.g. iwlist eth1 scan or iwlist wlan0 key (etc.) The iwconfig command will show the interface name associated with your hardware. If none is shown, your hardware is not configured properly.


Did the information on this page help you? If so, please help to fund this site by clicking one of our sponsored ads...