Sunday, May 4, 2008

Installation of a IPW2100/IPW2200/IPW2915 wifi card on Intel Centrino laptops

This howto has been tested on a precompiled Debian kernel.

First make sure there are the "contrib" and "non-free" parts in your repositories, every address /etc/apt/sources.list should have this format:

$ su
[root password]
$ nano /etc/apt/sources.list
deb http://ftp.it.debian.org/debian stable main contrib non-free

So prepare the environment to compile the needed modules and load them in the kernel. So install these packages:

$ apt-get install gcc binutils build-essential kernel-headers-2.6.XX-X-XXX module-assistant

Then you can start module-assistant as root:
$ module-assistant


Select PREPARE to install the missing componens, and then SELECT to access the list of available modules.

Select, by pressing the spacebar, the modules ieee80211 and ipw2100 (or ipw2200, if your wireless is 802.11g)

Press OK and then GET to download the sources. Finally choose BUILD and go on compiling. After the compilation has finished it will prompt you to install these packages: by choosing yes module-assistent will automatically install the modules and load them into the kernel.

Now you need the card's firmware, go here for l'IPW2100 and here for l'IPW2200.

After the download copy this file into the firmware directory and uncompress it

$ cp ipw2X00-fw-X.X.tgz /usr/lib/hotplug/firmware/
$ cd /usr/lib/hotplug/firmware/
$ tar xvfz ipw2X00-fw-X.X.tgz

Reboot the computer to apply and enable all the settings.

At this point you can go on with the network configuration.

Since the operation has been done on a Intel Centrino-based computer, almost surely this is a laptop with a Ian network peripheral (probably a realtek 8139) which has been already recognized during the installation and added as eth0. As a consequence, the wireless peripheral yet installed will be named as eth1.
With the command

$ ifconfig -a

you can check if this is true. If the eth1 interface is present this means it has been recognized and added, now it's time to enable it.

If you use static IP addresses within your network (a suggested option for wireless connections) you can type commands as below, of course by adjusting the addresses.

$ ifconfig eth1 192.168.1.3 netmask 255.255.255.0 broadcast 192.168.1.255 up
$ route add default gw 192.168.1.100

In the case you are using the cable connection and you wish to disable it:

$ ifconfig eth0 down

You can also add, if needed, your provider's DNS, by editing /etc/resolv.conf and by adding a line like these below for each DNS server:

nameserver 212.216.112.112
nameserver 212.216.172.62

Now the wireless connection should be operative.


PS = the configuration reported here it's ok for a minimal Debian installation and for every distribution or window manager. If you have an operative desktop system, you can replace the configuration above with the graphical commands available on your window manager.

No comments: