如何防止我的 wifi 驱动程序出现紧张?

Fli*_*mzy 6 linux wifi

我正在使用带有Intel(R) Centrino(R) Ultimate-N 6300无线芯片组的联想 T430s 。在某些无线网络上,我经常遇到 wifi 锁定,这需要我重新加载无线模块:

modprobe -r iwlwifi
modprobe iwlwifi
Run Code Online (Sandbox Code Playgroud)

除了失去连接之外,我需要这样做的主要线索是 dmesg 显示:

[ 9351.591170] iwlwifi 0000:03:00.0: Queue 11 stuck for 2000 ms.
[ 9351.591178] iwlwifi 0000:03:00.0: Current read_ptr 153 write_ptr 161
[ 9351.591182] iwlwifi 0000:03:00.0: On demand firmware reload
[ 9351.592001] ieee80211 phy0: Hardware restart was requested
[ 9351.592149] iwlwifi 0000:03:00.0: L1 Enabled; Disabling L0S
[ 9351.599072] iwlwifi 0000:03:00.0: Radio type=0x0-0x3-0x1
Run Code Online (Sandbox Code Playgroud)
  1. 这是什么原因造成的?
  2. 有什么办法可以防止这种情况吗?

我正在使用来自 Debian wheezy 的 Linux 内核 3.2.0-4-amd64。

Fli*_*mzy 7

我找到了两种可能的解决方案。我不确定哪一个是“最好的”。

添加wd_disable=1到模块命令行似乎有效,正如11n_disable=1上面评论中链接的@slm 的答案所建议的那样。

简而言之,编辑/etc/modprobe.d/iwlwifi.conf并添加:

options iwlwifi 11n_disable=1
Run Code Online (Sandbox Code Playgroud)

或者

optoins iwlwifi wd_disable=1
Run Code Online (Sandbox Code Playgroud)

FWIW,我目前正在使用前者,因为我知道我不想使用 Wireless-N,并且禁用队列看门狗似乎不是一个好主意。