Introduction
The
iwlwifi
driver has been developed by Intel for their
Intel® Wireless WiFi Link 4965AGN and Intel® PRO/Wireless 3945ABG
wireless networking chipsets that are widely used in laptops.
This driver replaces the older ipw3945
driver that
also required a binary-only regulatory daemon, as described
elsewhere.
This guide is a Debian-specific guide based on the instructions provided by the developers of the module.
Preparation
To double check that you have the right hardware, you may need to update your PCI IDs. (And while you're at it, you may as well update the USB IDs.)
update-pciids update-usbids
This guide assumes that you are running a kernel version of 2.6.22 or later.
If you are running
Debian etch,
then the 2.6.22 kernel is available from the
etch-backports repository.
A sample line for your /etc/apt/sources.list
is as follows
and at the time of writing, the package name is
linux-image-2.6.22-2-686
(or -amd64
).
deb http://www.backports.org/debian etch-backports main contrib non-free
If you have edited your /etc/apt/sources.list
you will need to run aptitude update
. If you have
installed a new kernel, you may as well reboot into that kernel
before proceeding as the use of uname
below
assumes that you are running the kernel for which you want
to compile the module.
Installation
This guide assumes that you have set the variable $KVER
to contain the current version of your kernel (e.g. 2.6.22). This
can be done as follows:
KVER=$(uname -r | sed 's,-.*,,g')
Now, obtain the kernel source and headers (both appear to be necessary at this stage) along with the firmware and make sure you have the necessary compilation tools installed:
aptitude install linux-headers-$(uname -r) linux-source-$KVER \ firmware-iwlwifi build-essential wireless-tools
Note that the firmware-iwlwifi
package is only
available in lenny/sid and that you need to either add them to
your /etc/apt/sources.list
too, or manually download
that .deb
and install it using dpkg -i
.
The kernel source needs to be unpacked and a symlink put in place so that the module compiles correctly:
cd /usr/src tar jxf linux-source-$KVER.tar.bz2 ln -s /usr/src/linux-source-$KVER /lib/modules/$(uname -r)/source
Now, obtain the latest module source code. At the time of writing, it was version 1.1.18 which is known to work with 2.6.22. You can check on the iwlwifi pages for the current module status.
wget http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-1.1.18.tgz tar zxf iwlwifi-1.1.18.tgz
You may now compile the driver. Note that you may be required to run
make
twice; follow the instructions that it prints out for you.
cd iwlwifi-1.1.18 make make install
To make the module visible to your running kernel, you may like to run
depmod -a
.
Usage
To load the module into the kernel:
modprobe iwl4965
You should see in dmesg
a message that the module was
successfully loaded. You will probably need to turn off the radio
kill switch before anything happens. This is either a keystroke
(like Fn+F2) or a physical switch that you need to toggle to turn
the radio on. When the kill switch is on, the radio is off
and your network card won't work.
Once the module is loaded and the kill switch is off, you will see
two new devices in the output of ifconfig -a
that
will most likely be called wlan0
and wmaster0
.
For the remainder of this guide, we'll assume that your wireless
device is called wlan0
.
Configuration of the device for your network is beyond the scope of this HOWTO and there are plenty of other good resources available. A very general overview follows which will give you the ideas required to search for more information.
To configure the wireless, use the usual tools:
iwlist wlan0 scan
(to list the networks the device can see),
iwconfig wlan0 essid your_essid
(to associate with a given network),
iwconfig wlan0 key your_key
(to provide the key for that network), etc.
Once associated, you can run dhclient wlan0
to get an IP address
if your network provides a DHCP server.
Once all this works from the command line, you can then put these settings
into /etc/network/interfaces
(see man 5 interfaces
and man 7 wireless
for the syntax) using wpa_supplicant
(Debian package wpasupplicant
) if needed.
Alternatively, the iwlwifi drivers work well with NetworkManager thus providing you with a convenient user-configuration interface. To use NetworkManager:
aptitude install network-manager network-manager-kde
or use network-manager-gnome
if you are a GNOME user.
You should also make sure you are in the netdev
group
(type groups
in a terminal to check and, as root, give the
command adduser your_username netdev
to add your user
to the group if needed; you will need to log out and log in again for
that change to take effect). As your user, run the program
knetworkmanager
(or nm-applet
) to start the
interface from where you can configure the wireless device and
associate with your wireless network.
See Also
troubleshooting guide for the conversion from ipw3945 to iwl3945
Last edited: Monday March 31, 2008
Copyright © 1996-2014 Stuart Prescott