使用英特尔3945ABG卡,无线连接不断下降

从11.04更新到11.10后,我的无线连接时常不断下降。

现在,当我使用10.04时,我已经遇到了这个问题(当时的解决方法是用wicd替换NetworkManager。但问题是我不是wicd的粉丝,并且看到问题似乎已在以前的版本中得到修复,我认为我可以尝试类似的解决方案。

这是我系统的更多细节

$ sudo lshw -C network *-network description: Wireless interface product: PRO/Wireless 3945ABG [Golan] Network Connection vendor: Intel Corporation physical id: 0 bus info: pci@0000:03:00.0 logical name: wlan0 version: 02 serial: 00:19:d2:ad:20:4d width: 32 bits clock: 33MHz capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless configuration: broadcast=yes driver=iwl3945 driverversion=3.0.0-12-generic firmware=15.32.2.9 ip=192.168.1.3 latency=0 link=yes multicast=yes wireless=IEEE 802.11abg resources: irq:44 memory:84100000-84100fff $ sudo lsmod | grep iwl iwl3945 73329 0 iwl_legacy 71499 1 iwl3945 mac80211 272785 2 iwl3945,iwl_legacy cfg80211 172392 3 iwl3945,iwl_legacy,mac80211 $ dmesg [43972.920056] wlan0: no IPv6 routers present [44533.245630] wlan0: deauthenticating from 94:0c:6d:c0:51:ca by local choice (reason=3) [44533.260462] cfg80211: All devices are disconnected, going to restore regulatory settings [44533.260472] cfg80211: Restoring regulatory settings [44533.260488] cfg80211: Calling CRDA to update world regulatory domain [44533.273177] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain [44533.273181] cfg80211: World regulatory domain updated: [44533.273184] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) [44533.273188] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [44533.273191] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [44533.273195] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [44533.273198] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [44533.273202] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [44534.078574] ADDRCONF(NETDEV_UP): wlan0: link is not ready [44539.626843] wlan0: authenticate with 94:0c:6d:c0:51:ca (try 1) [44539.628827] wlan0: authenticated [44539.629214] wlan0: associate with 94:0c:6d:c0:51:ca (try 1) [44539.631514] wlan0: RX AssocResp from 94:0c:6d:c0:51:ca (capab=0x411 status=0 aid=1) [44539.631522] wlan0: associated [44539.633667] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [44551.104169] wlan0: no IPv6 routers present [44987.241475] wlan0: deauthenticating from 94:0c:6d:c0:51:ca by local choice (reason=3) [44987.288269] cfg80211: All devices are disconnected, going to restore regulatory settings [44987.288279] cfg80211: Restoring regulatory settings [44987.288294] cfg80211: Calling CRDA to update world regulatory domain [44987.309376] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain [44987.309383] cfg80211: World regulatory domain updated: [44987.309385] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) [44987.309389] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [44987.309393] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [44987.309396] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [44987.309400] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [44987.309403] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [44988.074180] ADDRCONF(NETDEV_UP): wlan0: link is not ready [44993.648439] wlan0: authenticate with 94:0c:6d:c0:51:ca (try 1) [44993.651354] wlan0: authenticated [44993.651651] wlan0: associate with 94:0c:6d:c0:51:ca (try 1) [44993.653990] wlan0: RX AssocResp from 94:0c:6d:c0:51:ca (capab=0x411 status=0 aid=1) [44993.653995] wlan0: associated [44993.655984] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [45005.400035] wlan0: no IPv6 routers present 

谢谢,

不得不说对不起 那时在这里发布的代码http://ubuntuforums.org/showpost.php?p=11356188&postcount=35似乎已经有效但却没有。

我在启动options iwl3945 disable_hw_scan=0找到了一个似乎有效的解决方案 – /etc/modprobe.d/iwl3945.conf options iwl3945 disable_hw_scan=0 。 它甚至在系统重启后也能正常工作。 干杯!

从您的日志中,问题出现在这里:

 [44987.241475] wlan0: deauthenticating from 94:0c:6d:c0:51:ca by local choice (reason=3) 

我建议做一些关于’通过本地选择原因= 3取消validation’的研究,但是最接近你的问题似乎是这个错误报告: https : //bugs.launchpad.net/ubuntu/+source/linux/+bug/548992

在错误报告中,问题的根本原因是电源管理。 试试跑步:

 sudo iwconfig wlan0 power off 

这将永久禁用无线适配器的电源管理( 在重新启动之间保留)并防止频繁的连接丢失。

虽然这些建议确实对我有所帮助,但我使用的是基于英特尔的不同的wifi适配器,我的问题解决方案确实似乎根植于适配器的电源管理。 这是我找到永久关闭电源管理的答案:

http://syntaxionist.rogerhub.com/intel-centrino-wireless-n-2200-ubuntu-1mbps-workaround.html

虽然看起来它会起作用,但只需要调用:

 sudo iwconfig wlan0 power off 

应该有效,似乎没有效果。 然而,上面的链接在重新启动计算机后确实有效。

老问题,为了其他人在搜索时寻找解决方案的新答案,这个答案在搜索结果中出现了类似问题。

这解决了我的问题! 是的,终于!

我在启动板上找到了一个似乎有效的解决方案 –

打开/etc/modprobe.d/iwl3945.conf文件并设置iwl3945 disable_hw_scan=0

它甚至在系统重启后也能正常工作。 干杯!