Differences between revisions 39 and 40
Revision 39 as of 2008-06-24 12:45:56
Size: 7839
Editor: FranklinPiat
Comment: add anchors + reformating
Revision 40 as of 2008-07-16 08:43:55
Size: 8159
Editor: ?MinhHaDuong
Comment: Add a paragraph about the LED issue with iwl3945 fixed upstream
Deletions are marked like this. Additions are marked like this.
Line 31: Line 31:
[[Anchor(using)]]
Line 32: Line 33:
[[Anchor(using)]]
Line 44: Line 44:
''Alternatively,''
Line 45: Line 46:
''Alternatively,''
Line 55: Line 55:
Line 61: Line 62:
 {{{  . {{{
Line 67: Line 68:
[[Anchor(ipw3945d-to-iwl)]]
Line 68: Line 70:
[[Anchor(ipw3945d-to-iwl)]]
Line 76: Line 77:
Line 79: Line 79:
[[Anchor(wlan0_rename)]]
Line 80: Line 81:
[[Anchor(wlan0_rename)]]
Line 86: Line 86:
 {{{  . {{{
Line 99: Line 99:
Line 103: Line 102:
 {{{  . {{{
Line 109: Line 108:
 {{{  . {{{
Line 115: Line 114:
 {{{  . {{{
Line 119: Line 118:
Line 122: Line 120:
 {{{
 .
{{{
Line 126: Line 125:
 {{{
 .
{{{
Line 132: Line 132:
 {{{
 .
{{{
Line 138: Line 139:
 {{{
 .
{{{
Line 141: Line 143:
Line 145: Line 146:
== The LEDs don't work anymore, iwl3945 ==
Yes, sorry. But do not despair, it is only a LED issue and should not prevent connexion. This bug was
[http://git.kernel.org/?p=linux/kernel/git/iwlwifi/iwlwifi-2.6.git;a=commit;h=2f433d663d12728ac58a35c10088335ac1d85cab fixed upstream] on July 10th, 2008.
Line 149: Line 153:
 {{{
 .
{{{
Line 151: Line 156:
Line 153: Line 157:
Line 155: Line 158:
Line 158: Line 160:

This page describes how to use iwl-wifi ([http://www.intellinuxwireless.org/ Intel Wireless WiFi Link driver]) with an iwl3945 or iwl4965.

  • ?TableOfContents(2)

Introduction

The iwl-wifi drivers are open-source drivers supported by Intel, replacing the older Intel drivers which needed some non-free userspace daemon.

The iwlwifi driver (modules iwl3945 and iwl4965) is shipped by kernel 2.6.23 or higher.

Installation

  • Install the 2.6.24 kernel. It's available in :
  • Install Firmware. (You will need to add non-free repository to /etc/apt/source.list)
     aptitude install firmware-iwlwifi

Loading the iwl3945 / iwl4965 modules

  • The module should be loaded automatically by udev when the system starts.
  • Some Laptop have a "radio" switch (of function key combination). Make sure you enable it too.
  • If the module isn't loaded automatically, issue this command:

    iwl4965 :

    modprobe iwl4965

    iwl3945 :

    modprobe iwl3945

?Anchor(using)

Using iwlWifi

Gnome Network Manager

  • Gnome- Double click on Network Connection (If you don't have an icon click on add to panel, then Select "Network Monitor" and click add)
  • Name: Wlan0
  • Click on configure
  • Select Wireless connection
  • Properties
  • Pick a network, add a password, select dhcp and click ok
  • You should be connected.

Alternatively,

  • Those who prefer using ifup/ifdown from the command line, I used the following stanza in /etc/network/interfaces/:

    iface wlan0 inet dhcp
      pre-up ip link set wlan0 up
      wireless_essid MakeTeaNotWar

Note the magic pre-up line, which I needed to make the card associate with the access point. As a bonus, with this stanza the interface works after an S3 resume (i.e. suspend/resume to RAM)!

?Anchor(wpa)

Using wpa, wpa2

[:Manual-Howto#head-6fdd87d329e68a583e5fde32c6b21e460e5541a5:Using wpa_supplicant via wpa, wpa2]

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

?Anchor(ipw3945d-to-iwl)

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. If you can connect, but you cannot send/receive anything you might want to check your firewall configuration. For example, if you have configured your firewall using shorewall, you have to change all occurrences of eth2 in the files in /etc/shorewall with wlan0.
  • Remove the ipw3945-modules-* and ipw3945d packages.

Common problems and errors

?Anchor(wlan0_rename)

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"

Card does not associate to the access point

If the card accepts the essid, for example, by doing :

  • iwconfig wlan0 essid YourESSID

but does not associate to the access point even when no encryption is needed: The driver seems to need the interface to be in the up state when it gets the essid. So first do

  • ip link set wlan0 up

then set the essid as before.

If the card still does not associate to the access point even with essid and encryption keys set, try

  • iwconfig wlan0 ap any

If you configured you card in /etc/network/interfaces and you cannot associate to you access point, you might want to try different values for wpa-scan-ssid and wpa-ap-scan. The former accepts either 0 or 1, the latter 0, 1 or 2. Setting wpa-scan-ssid to 0 and wpa-ap-scan to 1 is a good first bet, but make sure to try other configurations if it doesn't work.

You may also find that setting a high retry value helps with WEP enabled access points that appear to work or that work with other cards but send repeated disassociates. Try something like this and insert an arbitrary retry value. It may take a few tries with dhclient to get an IP:

  • iwconfig wlan0 retry <value>

You are able to associate, but you cannot send nor receive anything on the interface

If this happens, your firewall might be blocking your traffic. This will mostly happen if you switch from ipw3945/ipw4945 to iwlwifi because the name of the interface changes from eth2 to wlan0. Check your firewall configuration, e.g. if you are using shorewall check the files in /etc/shorewall/ and change the name of the interface to wlan0.

The LEDs don't work anymore, iwl3945

Yes, sorry. But do not despair, it is only a LED issue and should not prevent connexion. This bug was [http://git.kernel.org/?p=linux/kernel/git/iwlwifi/iwlwifi-2.6.git;a=commit;h=2f433d663d12728ac58a35c10088335ac1d85cab fixed upstream] on July 10th, 2008.

Identify iwl wireless cards

Running  lspci -nn  should list one of :

  • 03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4222] (rev 02)
    03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4227] (rev 02)
    03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 4965 AG or AGN Network Connection [8086:4229]
    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]