由于 Wifi 连接非常不稳定,我认为将我的 Intel(R) Wireless N 7260 的固件从 7260-10 升级到 7260-14 可能会解决问题。
我偶然发现这个帖子,其中最佳回答者写道:
你有没有尝试过
sudo cp /lib/firmware/iwlwifi-7260-10.ucode /lib/firmware/iwlwifi-7260-10.ucode.bak sudo cp /lib/firmware/iwlwifi-7260-12.ucode /lib/firmware/iwlwifi-7260-10.ucode
然后重新启动,重命名文件有时有效
/driver/net/wireless/iwlwifi
您可以通过进入 backports 目录并编辑 第 72 行来编辑 backports 中的源代码,iwl-7000.c
如下所示#define IWL7260_UCODE_API_MAX 10
并将其更改为
#define IWL7260_UCODE_API_MAX 12
我尝试按照建议重命名文件,但没有成功(重新启动后,modinfo iwlwifi
并dmesg
表明版本保持不变)。
我想尝试第二种选择,如果我理解正确的话,我必须iwl-7000.c
按照说明重新编译源文件并重新安装反向移植,但我真的不知道该怎么做。而且iwl-7000.c
源文件目前不存在于我的系统中。
有人能向我解释一下该怎么做吗?
附言:我的内核版本是3.19.0-28-generic
。
答案1
iwlwifi-7260-10.ucode
第一个用with替换的解决方案iwlwifi-7260-12.ucode
对于内核来说是一种“欺骗”。
模块 iwl-7000.c
正在搜索iwlwifi-7260-10.ucode
并加载最高版本。当您替换文件时,它会加载新固件。
在这种情况下,您不需要编辑内核源代码。如果该解决方案不能改善您的无线连接,那么固件更新也无济于事。
第二个“选项”不是一个选项。它是iwl-7000.c
用于搜索iwlwifi-7260-12.ucode
而不是 的补丁iwlwifi-7260-10.ucode
。这不会改善任何事情,它只会加载原始固件文件而不重命名。
您将无法在系统中发现内核源代码。要修补源代码,您需要下载内核源代码,修补它,然后编译内核或模块iwlwifi
。
你可以找到很多指南如何在网上编译Linux内核,甚至一些特定的内核模块。但在这种情况下不值得研究,因为第一个“选项”为你做了同样的事情。
此外,在内核 3.19 中,该补丁已经存在,因此您无需重命名文件。这就是它不起作用的原因。
看iwl-7000.c在 Ubuntu 内核 3.19 中。
只需保留原始的iwlwifi-7260-12.ucode文件名。
附言您找到了一个旧解决方案。现在最新的固件已经发布iwlwifi-7260-13.ucode
,并且已在 Ubuntu 14.04 和 15.04 中可用。但此无线适配器仍然存在问题。
因此我建议使用解决方法。
聚苯硫醚iwlwifi-7260-12.ucode
您可以尝试用iwlwifi-7260-14.ucode
3.19 内核替换该版本尝试加载12
,但14
可能会有一些改进或者没有。