|
Size: 8609
Comment: Remove most Etch references, device usage is in WiFi/HowToUse, amendments and formatting.
|
Size: 9794
Comment: Add Squeeze procedure, amend supported devices.
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 7: | Line 7: |
| <<TableOfContents(2)>> | <<TableOfContents(3)>> |
| Line 9: | Line 9: |
| iwl3945 and iwl4965 are modules produced by the iwlwifi driver, supporting Intel 3945ABG and 4965AGN wireless LAN devices. This is an open-source driver supported by Intel, replacing the out-of-tree ipw3945 driver which required a userspace daemon.<<FootNote(ipw3945-vs-iwl3945: The Intel code in ipw3945 implements a number of non-free algorithms which are not realized in iwl3945, including automatic calibration of the radio power based on temperature variations, and dynamic tuning of the radio sensitivity based on received signal strength. These may extend the operating range of the adapter, improve throughput in various environmental conditions, and reduce power consumption, but they are kept secret by Intel.)>> [[#supported|Supported devices]] are listed at the end of this page. | iwl3945 and iwl4965 (iwlagn as of [[DebianSqueeze|Squeeze]]) are modules produced by the iwlwifi driver, supporting Intel 3945ABG and 4965AGN wireless LAN devices. This is an open-source driver supported by Intel, replacing the out-of-tree ipw3945 driver which required a userspace daemon.<<FootNote(ipw3945-vs-iwl3945: The Intel code in ipw3945 implements a number of non-free algorithms which are not realized in iwl3945, including automatic calibration of the radio power based on temperature variations, and dynamic tuning of the radio sensitivity based on received signal strength. These may extend the operating range of the adapter, improve throughput in various environmental conditions, and reduce power consumption, but they are kept secret by Intel.)>> [[#supported|Supported devices]] are listed at the end of this page. |
| Line 17: | Line 17: |
<<Anchor(squeeze)>> === Squeeze === 1. Add a "non-free" component to {{{/etc/apt/sources.list}}}, for example: {{{ # Debian Squeeze/6.0 deb http://ftp.us.debian.org/debian squeeze main contrib non-free }}} 1. Update the list of available packages. Install the DebianPkg:firmware-iwlwifi and DebianPkg:wireless-tools packages: {{{ # aptitude update # aptitude install firmware-iwlwifi wireless-tools }}} 1. The necessary kernel module should be [[Modules|automatically loaded]]. If necessary, it can be manually loaded via either: {{{ # modprobe iwl3945 }}} ''or'' {{{ # modprobe iwlagn }}} 1. Verify your device has an available interface: {{{ # iwconfig }}} 1. Raise the interface to activate the radio, for example: {{{ # ifconfig wlan0 up }}} 1. [[WiFi/HowToUse|Configure]] your wireless interface as appropriate. <<Anchor(lenny)>> === Lenny === |
|
| Line 138: | Line 165: |
| The following list is based on the ''alias'' fields of {{{modinfo iwl3945}}} and {{{modinfo iwl4965}}} in Debian 2.6.26 (2.6.26-25lenny1) kernel images. | === iwl3945 === The following list is based on the ''alias'' fields of {{{modinfo iwl3945}}} and in Debian 2.6.32 (2.6.32-30) kernel images. |
| Line 143: | Line 171: |
| }}} -~ | |
| Line 144: | Line 173: |
| === iwlagn === The following list is based on the ''alias'' fields of {{{modinfo iwlagn}}} in Debian 2.6.32 (2.6.32-30) kernel images, with non-4965 devices removed. ## list generated with: http://www.klabs.be/~fpiat/linux/hardware/modinfo-devnames/ ~- {{{ |
Translation(s): none
Intel PRO/Wireless 3945 and WiFi Link 4965 devices (iwlwifi)
This page describes how to enable support for WiFi devices based on Intel 3945 and 4965 chipsets on Debian systems.
Contents
iwl3945 and iwl4965 (iwlagn as of Squeeze) are modules produced by the iwlwifi driver, supporting Intel 3945ABG and 4965AGN wireless LAN devices. This is an open-source driver supported by Intel, replacing the out-of-tree ipw3945 driver which required a userspace daemon.1 Supported devices are listed at the end of this page.
Non-free firmware is required, which can be provided by the firmware-iwlwifi package. Firmware must be installed prior to device operation.
For support of the Intel Wireless WiFi Link 5000, 6000 and 1000 series of devices, see iwlagn.
Installation
Squeeze
Add a "non-free" component to /etc/apt/sources.list, for example:
# Debian Squeeze/6.0 deb http://ftp.us.debian.org/debian squeeze main contrib non-free
Update the list of available packages. Install the firmware-iwlwifi and wireless-tools packages:
# aptitude update # aptitude install firmware-iwlwifi wireless-tools
The necessary kernel module should be automatically loaded. If necessary, it can be manually loaded via either:
# modprobe iwl3945
or
# modprobe iwlagn
Verify your device has an available interface:
# iwconfig
Raise the interface to activate the radio, for example:
# ifconfig wlan0 up
Configure your wireless interface as appropriate.
Lenny
Add a "non-free" component to /etc/apt/sources.list, for example:
# Debian Lenny/5.0 deb http://ftp.us.debian.org/debian lenny main contrib non-free
Update the list of available packages. Install the firmware-iwlwifi and wireless-tools packages:
# aptitude update # aptitude install firmware-iwlwifi wireless-tools
The necessary kernel module should be automatically loaded. If necessary, it can be manually loaded via either:
# modprobe iwl3945
or
# modprobe iwl4965
Verify your device has an available interface:
# iwconfig
If listed, wmaster0 is an internal interface representing the physical device. It should not be used for configuration.
Raise the interface to activate the radio, for example:
# ifconfig wlan0 up
Configure your wireless interface as appropriate.
Switching from ipw3945 to iwl3945
This section only applies to users upgrading from Debian Etch.
- Install device firmware as described above.
Check for the line generated by udev for ipw3945 in /etc/udev/rules.d/70-persistent-net.rules. If present, remove it. See troubleshooting below.
Optionally, change the configuration in /etc/network/interfaces by replacing eth2 (or whatever the old name for wireless interface is) with wlan0.
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 are using shorewall, change all occurrences of eth2 in the files in /etc/shorewall to wlan0.
- Remove the ipw3945-modules-* and ipw3945d packages.
Troubleshooting
Most laptops have a radio kill switch or function key combination to physically disable the radio (e.g. when inside an airplane). Make sure to enable the radio.
Interface is named "wlan0_rename" (sysfs_create_symlink failed)
NetworkManager may not handle the wireless device. /var/log/syslog may show output similar to:
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 the /etc/udev/rules.d/70-persistent-net.rules file, remove the line similar to:
# 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:
# modprobe -r iwl3945 ; modprobe iwl3945
You should now have a line similar to the following in /etc/udev/rules.d/70-persistent-net.rules:
# PCI device 0x8086:0x4227 (iwl3945) SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:13:02:4c:12:12", ATTR{type}=="1", NAME="wlan0"
Does not associate to access point
If a SSID is defined but the device does not associate to the access point, even when no encryption is required, the interface may first need to be raised before defining the SSID:
# ip link set wlan0 up # iwconfig wlan0 essid YourESSID
If the device still does not associate, even with a SSID and encryption key(s) set, try:
# iwconfig wlan0 ap any
You might want to try different values for wpa-scan-ssid and wpa-ap-scan if defined in /etc/network/interfaces. 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 wireless LAN devices but send repeated disassociations. Try something like the following and insert an arbitrary retry value:
# iwconfig wlan0 retry <value>
It may take a few tries with dhclient to get an IP address.
Cannot see any network
If NetworkManager can use the device but not detect any wireless network, firmware may not be installed:
ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 17 (level, low) -> IRQ 17 kernel: PM: Writing back config space on device 0000:03:00.0 at offset 1 (was 100102, writing 40100106) kernel: firmware: requesting iwlwifi-4965-1.ucode kernel: iwl4965: iwlwifi-4965-1.ucode firmware file req failed: Reason -2 kernel: iwl4965: Could not read microcode: -2
Install device firmware as described in Installation to resolve.
Association successful, cannot send or receive
Your firewall might be blocking traffic. This will mostly happen if you switch from ipw3945 to iwlwifi, as the interface name changes from eth2 to wlan0. Check your firewall configuration. For example, if you are using shorewall, check the files in /etc/shorewall/ and change the interface name to wlan0.
Supported Devices
The page HowToIdentifyADevice/PCI explains how to identify a PCI device.
iwl3945
The following list is based on the alias fields of modinfo iwl3945 and in Debian 2.6.32 (2.6.32-30) kernel images.
PCI: 8086:4222 Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection PCI: 8086:4227 Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection
iwlagn
The following list is based on the alias fields of modinfo iwlagn in Debian 2.6.32 (2.6.32-30) kernel images, with non-4965 devices removed.
PCI: 8086:4229 Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection PCI: 8086:4230 Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection
See Also
ipw2200 - Intel PRO/Wireless 2100, 2200 and 2915 devices
iwlagn - Intel Wireless WiFi Link 4965, 5100, 5300, 5350, 5150, 1000, 6000, 6250 devices
External Links
http://www.intellinuxwireless.org/ - Intel Wireless WiFi Link drivers for Linux
ipw3945-vs-iwl3945: The Intel code in ipw3945 implements a number of non-free algorithms which are not realized in iwl3945, including automatic calibration of the radio power based on temperature variations, and dynamic tuning of the radio sensitivity based on received signal strength. These may extend the operating range of the adapter, improve throughput in various environmental conditions, and reduce power consumption, but they are kept secret by Intel. (1)
