完美解决Linux下Intel 1000 BGN间断丢包的bug

我的Y460笔记本接入A哥的无线路由的时候,不到一会,就会出现完全丢包的现象。等几分钟之后,又好了,但是不到10多秒,又丢了。

这种现象一直困扰了我几年多,我以前曾经尝试过安装官方提供的网卡驱动或者固件,都无法解决这个问题。今晚好不容易想使用一下荣哥分享的校园网,这个问题重现,真的烦死了!

dmesg一下日志,如下:

[ 1764.737214] iwlagn 0000:05:00.0: Stopping AGG while state not ON or starting
[ 1764.773489] cfg80211: All devices are disconnected, going to restore regulatory settings
[ 1764.773502] cfg80211: Restoring regulatory settings
[ 1764.773510] cfg80211: Calling CRDA to update world regulatory domain
[ 1764.780704] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain
[ 1764.780714] cfg80211: World regulatory domain updated:
[ 1764.780718] cfg80211: (start_freq – end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 1764.780725] cfg80211: (2402000 KHz – 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 1764.780731] cfg80211: (2457000 KHz – 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 1764.780736] cfg80211: (2474000 KHz – 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 1764.780742] cfg80211: (5170000 KHz – 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 1764.780748] cfg80211: (5735000 KHz – 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 1765.262328] wlan0: authenticate with e0:05:c5:bf:f6:6a (try 1)
[ 1765.264704] wlan0: authenticated
[ 1765.264764] wlan0: associate with e0:05:c5:bf:f6:6a (try 1)
[ 1765.268975] wlan0: RX AssocResp from e0:05:c5:bf:f6:6a (capab=0x431 status=0 aid=1)
[ 1765.268982] wlan0: associated
[ 1769.690573] iwlagn 0000:05:00.0: Aggregation not enabled for tid 0 because load = 7
[ 1776.666405] iwlagn 0000:05:00.0: Aggregation not enabled for tid 0 because load = 3
[ 1783.612634] iwlagn 0000:05:00.0: Aggregation not enabled for tid 0 because load = 2
[ 1788.624807] iwlagn 0000:05:00.0: iwlagn_tx_agg_start on ra = e0:05:c5:bf:f6:6a tid = 0

貌似出现 iwlagn_tx_agg_start 之后,就开始丢包了。今晚把这个函数google了一下,找到了原因。有人说“The driver iwlagn is buggy in the N-mode”。并且提供了解决方案的网址。

只需要把iwlagn的N模式关闭就可以了,我尝试了一下,还真的好了!哈哈 😀 不知道关闭这个,对网络速度有没有多大影响呢!

echo “options iwlagn 11n_disable=1” | sudo tee /etc/modprobe.d/iwlagn.conf
sudo modprobe -rfv iwlagn
sudo modprobe -v iwlagn

参考网址:

http://ubuntuforums.org/showpost.php?p=11425909&postcount=2
http://ubuntuforums.org/archive/index.php/t-1875220.html

完美解决Linux下Intel 1000 BGN间断丢包的bug》有4个想法

回复 whitefirer 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据