我的 wifi 出现了不稳定问题,显然它使用了 iwlwifi 驱动程序,人们对此有很多问题。查看 的输出modinfo iwlwifi
,我看到(除其他内容外)以下列表:
filename: /lib/modules/4.2.0-34-generic/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko
license: GPL
author: Copyright(c) 2003- 2015 Intel Corporation <[email protected]>
description: Intel(R) Wireless WiFi driver for Linux
firmware: iwlwifi-100-5.ucode
firmware: iwlwifi-1000-5.ucode
firmware: iwlwifi-135-6.ucode
firmware: iwlwifi-105-6.ucode
firmware: iwlwifi-2030-6.ucode
firmware: iwlwifi-2000-6.ucode
firmware: iwlwifi-5150-2.ucode
firmware: iwlwifi-5000-5.ucode
firmware: iwlwifi-6000g2b-6.ucode
firmware: iwlwifi-6000g2a-5.ucode
firmware: iwlwifi-6050-5.ucode
firmware: iwlwifi-6000-4.ucode
firmware: iwlwifi-7265D-12.ucode
firmware: iwlwifi-7265-12.ucode
firmware: iwlwifi-3160-12.ucode
firmware: iwlwifi-7260-12.ucode
firmware: iwlwifi-8000-12.ucode
但是,我下载了英特尔的固件,我记得它是iwlwifi-7260-13.u代码我没有在列表中看到它。
那么,我猜想这个固件未被使用。我该如何验证这一点,以及如何让它被使用?
编辑
添加更多信息。输出ls /lib/firmware/iwlwifi-7260*
/lib/firmware/iwlwifi-7260-10.ucode
/lib/firmware/iwlwifi-7260-7.ucode /lib/firmware/iwlwifi-7260-12.ucode
/lib/firmware/iwlwifi-7260-8.ucode /lib/firmware/iwlwifi-7260-13.ucode
/lib/firmware/iwlwifi-7260-9.ucode
输出dmesg | grep iwlwifi
:
[ 3.022242] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7260-15.ucode failed with error -2
[ 3.022266] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7260-14.ucode failed with error -2
[ 3.027457] iwlwifi 0000:01:00.0: loaded firmware version 25.30.13.0 op_mode iwlmvm
[ 3.054662] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless N 7260, REV=0x144
[ 3.054768] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
[ 3.055031] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
[ 3.564903] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
[ 3.565165] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
[ 3.756290] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
[ 3.756555] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
编辑:
虽然这不是一个完美的解决方案,因为 wifi 有时仍会断线,但已接受答案的评论中建议使用固件 v 14,确实改善了 wifi 连接!现在,每当它失败时,我只需使用它sudo service network-manager restart
,一切就会恢复正常!
答案1
您的固件已成功加载。您可以在此处查看
[ 3.027457] iwlwifi 0000:01:00.0: loaded firmware version 25.30.13.0 op_mode iwlmvm
由于某种原因它没有显示出来,modinfo
但这不会影响任何事情。可能modinfo
需要更新二进制文件。
我使用的是 Ubuntu 16.04,它显示为13
。您的版本较旧,显示为12
。
看看我的输出:
pilot6@X200MA:~$ modinfo iwlwifi | grep firmware
firmware: iwlwifi-100-5.ucode
firmware: iwlwifi-1000-5.ucode
firmware: iwlwifi-135-6.ucode
firmware: iwlwifi-105-6.ucode
firmware: iwlwifi-2030-6.ucode
firmware: iwlwifi-2000-6.ucode
firmware: iwlwifi-5150-2.ucode
firmware: iwlwifi-5000-5.ucode
firmware: iwlwifi-6000g2b-6.ucode
firmware: iwlwifi-6000g2a-5.ucode
firmware: iwlwifi-6050-5.ucode
firmware: iwlwifi-6000-4.ucode
firmware: iwlwifi-7265D-13.ucode
firmware: iwlwifi-7265-13.ucode
firmware: iwlwifi-3160-13.ucode
firmware: iwlwifi-7260-13.ucode
firmware: iwlwifi-8000-13.ucode
[ 11.883068] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7260-17.ucode failed with error -2
[ 11.949453] iwlwifi 0000:02:00.0: loaded firmware version 16.242414.0 op_mode iwlmvm
[ 12.173196] iwlwifi 0000:02:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0x144
答案2
对于那些使用 Intel 7260 固件时经常遇到 wifi 断开连接的情况,下面是我采取的步骤,以使断开连接的情况不那么频繁:
如上所述,固件版本 14 似乎是最稳定的。您可以从以下位置获取此文件这里。
我实际上做了git clone
如下固件:git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git
这个 repo 并不像我想象的那么大。在 linux-firmware 目录根目录中,有 7260 的所有当前版本。从克隆的 repo linux-firmware 目录(或您下载文件的位置),您可以将固件复制到本地固件库中,如下所示:
sudo cp iwlwifi-7260-14.ucode /lib/firmware/iwlwifi-7260-14.ucode
将把固件版本 14 复制到您的固件目录。
你可以重启你的 wifi 以使用版本 14 的固件,或者执行以下操作它也可以用来重启你有问题的无线适配器:
su
(sudo
不起作用。你需要su
)- 找出您的无线设备 #
dmesg | grep iwlwifi
输出将如下所示。我们感兴趣的是设备 #,在我的情况下是:0000:08:00.0
[3775.484091] iwlwifi 0000:08:00.0: Direct firmware load for iwlwifi-7260-17.ucode failed with error -2
运行
echo 1 > /sys/bus/pci/devices/0000:08:00.0/remove
但是替换你的设备#我有 0000:08:00.0重要的执行此操作将会终止您的 wifi 连接。
执行
echo 1 > /sys/bus/pci/rescan
此操作将强制您的系统查找任何可能已损坏的 PCI 设备(例如我们在步骤 3 中杀死的设备)。killall wpa_supplicant
这可能不是必要的,但就我而言是必要的。使用系统的小程序或进程重新连接无线适配器。您可能需要在命令之间等待 10 秒左右才能使其生效。
以前,当无线网络出现故障时,我必须重启才能恢复 wifi。这些步骤非常麻烦。但总比等待重启要好。