我的 Intel 6205 无线网卡在休眠后无法工作。有时它也无法在启动时工作,以同样的方式失败。有时,连续使用约 10 分钟后它也会停止工作。
我尝试过以下组合:modprobe -r iwlwifi
冬眠之前和之后(或当问题发生时),然后是modprobe iwlwifi
;然后systemctl restart network-manager
然后systemctl restart NetworkManager
。这些解决方案是症状的所有搜索结果所关注的内容。
我还应该尝试什么?
配置:
- Debian 杰西
- 内核3.14.4-1
- 网络管理器0.9.8.10
- 英特尔 6205 修订版 96 (iwlwifi)
- 联想 ThinkPad X1 Carbon
$ dmesg wlan0: authenticate with 47:f2:2f:91:db:7b wlan0: Wrong control channel: center-freq: 5500 ht-cfreq: 5180 ht->primary_chan: 36 band: 1 - Disabling HT wlan0: direct probe to 47:f2:2f:91:db:7b (try 1/3) wlan0: direct probe to 47:f2:2f:91:db:7b (try 2/3) wlan0: direct probe to 47:f2:2f:91:db:7b (try 3/3) wlan0: authentication with 47:f2:2f:91:db:7b timed out wlan0: authenticate with 47:f2:2f:91:db:7b wlan0: send auth to 47:f2:2f:91:db:7b (try 1/3) wlan0: send auth to 47:f2:2f:91:db:7b (try 2/3) wlan0: send auth to 47:f2:2f:91:db:7b (try 3/3) wlan0: authentication with 47:f2:2f:91:db:7b timed out # the last 5 messages repeat indefinitely as connection is reattempted
答案1
查看此命令的输出以确认内核为您的给定硬件使用了哪些驱动程序/模块。
$ lshw -C network
...
*-network
description: Wireless interface
product: Centrino Wireless-N 1000 [Condor Peak]
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: wlp3s0
version: 00
serial: 00:26:c7:85:a7:20
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=3.14.4-100.fc19.x86_64 firmware=39.31.5.1 build 35138 ip=192.168.1.161 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn
resources: irq:42 memory:f2400000-f2401fff
驱动程序的名称列在`配置行中:
driver=iwlwifi
检查并查看该高级驱动程序可能正在使用哪些其他驱动程序:
$ lsmod | grep iwlwifi
iwlwifi 116346 1 iwldvm
cfg80211 513095 3 iwlwifi,mac80211,iwldvm
尝试卸载所有这些rmmod <name>
,然后重新加载它们:
$ sudo modprobe iwlwifi
这应该自动加载顶级驱动程序+任何较低级别的驱动程序。
禁用无线-N
我的大多数 Thinkpad 笔记本电脑都遇到过许多问题,其中无线功能不稳定。我发现唯一有效的解决方案是禁用iwlwifi
模块的 Wireless-N 功能。您可以像这样找到模块的该参数的名称/选项:
$ modinfo iwlwifi | grep dis
parm: 11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
parm: wd_disable:Disable stuck queue watchdog timer 0=system default, 1=disable, 2=enable (default: 0) (int)
parm: power_save:enable WiFi power management (default: disable) (bool)
因此,在删除模块后,当您准备好通过modprobe
包含选项重新加载它时11n_disable
。例如:
$ sudo modprobe iwlwifi 11n_disable=1
modprobe.d
您可以通过您的目录从启动到启动使其永久化。
答案2
以下步骤解决了该问题。
运行一次(重新启动机器):
echo "options iwlwifi 11n_disable=1" > /etc/modprobe.d/iwlwifi.conf
/usr/sbin/update-initramfs -u
reboot
那么下面的脚本必须是每次从休眠状态恢复或启动系统时重新运行。
/bin/systemctl stop network-manager
/sbin/modprobe -r iwldvm iwlwifi mac80211
/bin/systemctl start network-manager
/sbin/modprobe iwlwifi
重要的是网络管理器必须在加载内核驱动程序之前运行。
答案3
我最近在升级内核后使用 wifi 时遇到了这个问题6.1.1-zen1-1-zen
。
下面为我解决了问题:
- 关闭wifi接口:
ip link set <your_wifi_interface> down
- 停止网络管理器:
systemctl stop NetworkManager
- 移动与下面的界面同名的文件(比删除更安全)
/var/run/wpa_supplicant/
- 调出界面
ip link set <your_wifi_interface> up
- 启动网络管理器
systemctl start NetworkManager