个人工具

UbuntuHelp:WifiDocs/Driver/iwlwifi Intel 3945 4965/gutsy

来自Ubuntu中文

Wikibot讨论 | 贡献2010年5月20日 (四) 00:56的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航, 搜索

Background

If you've been using an Intel 3945 ABG or 4965 AGN adapter in gutsy and previous releases, you have probably been using the ipw3945 driver. According to the project page, this driver is now deprecated in favor of the Intel® Wireless WiFi Link drivers for Linux, or iwlwifi driver. The full transition to the new driver will occur in the Hardy Heron release. The Debian Wiki has a wiki page for using the iwlwifi driver, and this page reflects the necessary changes that may be different for Ubuntu systems.

Migrating from ipw to iwlwifi

Delete the following 2 lines from /etc/udev/rules.d/70-persistent-net.rules :

# PCI device 0x8086:0x4222 (ipw3945)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1b:77:19:62:9a", NAME="eth1"

Then add the following to /etc/modprobe.d/blacklist :

# disable ipw3945 old intel3945 driver
blacklist ipw3945
blacklist ieee80211
blacklist ieee80211_crypt

Add the following to /etc/modules :

# new intel3945 iwlwifi driver
iwlwifi_mac80211
iwl3945

After editing the above files, issue these commands at the command line :

sudo modprobe -r ipw3945
sudo modprobe -r ieee80211
sudo modprobe -r ieee80211_crypt_tkip
sudo modprobe -r ieee80211_crypt_ccmp
sudo modprobe -r ieee80211_crypt_wep
sudo modprobe -r ieee80211_crypt
sudo modprobe -r mac80211
sudo modprobe iwlwifi_mac80211
sudo modprobe iwl3945

Your wireless interface should now appear as wlan0. You should also see an interface called wmaster0. If you don't see them or you get errors when you run the modprobe commands, try rebooting. When you're able to see these two new interfaces, Network Manager should recognize the wlan0 interface and allow you to connect to your wireless network.

Common problems and errors

Interface is named "wlan0_rename"

When you issue ifconfig -a you see an interface named wlan0_rename and you don't see and interface named wmaster0. This generally means that the udev rules are not set up correctly. You may also see something like this in /var/log/syslog :

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)

Resolution

Make sure you deleted the lines from /etc/udev/rules.d/70-persistent-net.rules. If you still have problems, try adding these lines to the same file :

# PCI device 0x8086:0x4222 (iwl3945)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1b:77:19:62:9a", ATTRS{type}=="1", NAME="wlan0"

Then run these commands :

sudo modprobe -r iwl3945
sudo modprobe iwl3945

You may also try rebooting. For other problems, please refer to the Debian Wiki page. -- Geeksmith <<DateTime(2008-02-13T23:46:08Z)>>