This page describe how to use iwl-wifi ([http://www.intellinuxwireless.org/ Intel Wireless WiFi Link driver]) with an iwl3945 or iwl4965.
?TableOfContents(2)
Installation
1) Install linux image 2.6.23 or above 2.6.24 The iwl* modules requires the new kernel's IEEE 802.11 subsystem (mac80211). both modules are available in linux-image-2.6.24 (currently in DebianUnstable).
2) Install firmware-iwlwifi
It's assumed you know how to install both!?
Loading the iwl3945 / iwl4965 modules
- The module should be loaded automatically by udev when the system starts.
Using IwlWifi
use network-manager to use the interface !
Interfaces
Once the module is loaded, ip a should show two interfaces (wlan0 is the "main" one).
3: wmaster0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc ieee80211 qlen 1000 link/ieee802.11 00:13:e8:70:69:fb brd ff:ff:ff:ff:ff:ff 4: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:13:e8:70:69:fb brd ff:ff:ff:ff:ff:ff
Switching from ipw3945 to iwl3945
- Install as explained above.
- Check for the line generated by udev for ipw3945 in /etc/udev/rules.d/z25_persistent-net.rules. If it is there, remove it (more explanation in "Common problems and errors" below).
- Optionally, change the configuration in /etc/network/interfaces by replacing eth2 (or whatever the old name for wireless interface is) with wlan0.
- Reboot into the new kernel.
- Verify that wireless networking is functional.
- Remove the ipw3945-modules-* and ipw3945d packages.
Common problems and errors
Interfaces is named "wlan0_rename" (sysfs_create_symlink failed)
Another symptom is that Network-manager don't handle the wireless card.
/var/log/syslog may show :
kernel: iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, 0.1.15ks kernel: iwl3945: Copyright(c) 2003-2007 Intel Corporation kernel: ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 17 (level, low) -> IRQ 22 kernel: PCI: Setting latency timer of device 0000:03:00.0 to 64 kernel: iwl3945: Detected Intel PRO/Wireless 3945ABG Network Connection kernel: iwl3945: Tunable channels: 13 802.11bg, 23 802.11a channels kernel: wmaster0: Selected rate control algorithm 'iwl-3945-rs' kernel: net eth2: device_rename: sysfs_create_symlink failed (-17) kernel: udev: renamed network interface wmaster0 to eth2 kernel: net wlan0_rename: device_rename: sysfs_create_symlink failed (-17)
This may occur if you had used ipw3945 module before.
Resolution
in /etc/udev/rules.d/z25_persistent-net.rules remove the line like
# PCI device 0x8086:0x4227 (ipw3945) SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:13:02:4c:12:12", NAME="eth2"
then remove the module and re-insert it.
rmmod iwl3945 modprobe iwl3945
in /etc/udev/rules.d/z25_persistent-net.rules you should now have a line like :
# PCI device 0x8086:0x4227 (iwl3945) SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:13:02:4c:12:12", ATTR{type}=="1", NAME="wlan0"
Identify wireless card
Running lspci -nn should list one of :
03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4222] (rev 02)
or
03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4227]
or
03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 4965 AG or AGN Network Connection [8086:4229]
or
03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 4965 AG or AGN Network Connection [8086:4230]
See also:
* [http://nanonanonano.net/linux/debian/iwlwifi How to use iwlwifi with etch and an older kernel]