英特尔-7260-WiFi-修复

英特尔-7260-WiFi-修复

我正在运行 Ubuntu 20.04,它带有 Ubuntu Studio 的低延迟内核。(具体来说,我实际上安装了 Kubuntu 20.04,然后安装了 Ubuntu Studio,并以这种方式获得了低延迟内核;我怀疑这些都不重要,只是想彻底一点。)

我有英特尔 7260.HMW 双频无线 AC 7260 网络适配器 PCI Express 半迷你卡 802.11 b/a/g/n/ac - 这是我在亚马逊上购买的特定卡的链接:https://www.amazon.com/gp/product/B00MV3N7UO/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1

我遇到的问题是,每隔几个小时我的 wifi 就会断开/停用,除了重新启动系统,我没有其他方法可以重新启动它。登录/退出不起作用。我尝试了各种终端命令来重新启动 NetworkManager、重新加载内核模块等,但都不起作用。

稍微积极的一点是,每当我断开连接时,我都可以插入一个 USB 无线适配器,并且几乎立即再次通过它连接到互联网,但在重新启动系统之前,我仍然无法使用我的内部无线网卡。

在对 NetworkManager 进行了大量调整之后(并添加了 Gnome NetworkManager,它似乎比默认的 KDE/Plasma 版本要好一些),我注意到的另一件事是,在 wifi 完全无响应之前,NetworkManager 中还会出现其他较小的问题。首先,除了我连接的网络之外,所有网络都会从列表中消失。之后,某些选项会变灰,例如“连接到隐藏的 wifi 网络”、“启用网络”、“启用 wifi”;不确定其他选项。不久之后,wifi 就会完全无响应。系统甚至无法检测到我安装了 wifi 设备。

我还注意到,如果我nmcli device wifi list在 NetworkManager gui 中未连接的网络消失时运行,它们通常会重新出现,这似乎可以避免 wifi 关闭的问题——但它最终还是会关闭,所以这不是一个可行的解决方案。(我甚至制作了一个nmcli device wifi list每 20 秒运行一次的 cron 作业,这样我就不必继续手动检查和运行它。这也没有解决问题。)

在“/etc/NetworkManager/conf.d”中我有一个文件“default-wifi-powersave-on.conf”,其内容如下:

[connection]
wifi.powersave = 3

我删除了该文件,并将其替换为一个名为“wifi-powersave.conf”的文件,内容如下(最终添加了两个额外的设置,一个用于 iwlwifi,一个用于 wlp3s0,只是因为我想做到彻底,并尝试了我能想到的一切):

[connection]
# Values are 0 (use default), 1 (ignore/don't touch), 2 (disable) or 3 (enable).
wifi.powersave = 2                  [This did not seem to have an effect.]
iwlwifi.powersave = 2               [This may not have an effect.]
wlp3s0.powersave = 2                [This might do it!]

我原来的内核是 5.4,但在正常建议升级到 5.42 时升级了。在阅读了一些似乎对其他人有用的东西后,我切换了内核,首先是 5.7.10,然后是 5.6.7。,它们的延迟都很低。这没有帮助

然后尝试将以下内容添加到 etc/modprobe.d/blacklist.conf:(因为有一篇关于使用不同发行版的 7260 的人的帖子,他添加了该行,加上一行“blacklist acer_wmi”,它就起作用了。我没有 Acer,但是有 ThinkPad T430,所以我只添加了一行。)

blacklist btusb

没有解决问题。

然后我删除了黑名单 btusb,并尝试修改同一文件夹中的 iwlwifi.conf,添加以下选项。

options iwlwifi bt_coex_active=0
options iwlwifi power_save=0
options iwlmvm power_scheme=1 
options iwlwifi d0i3_disable=1 
options iwlwifi uapsd_disable=1

没有解决问题。

sudo lshw -C network以下是在我的 WiFi 功能各个点上完成的结果:

当功能齐全时

*-network
       description: Wireless interface
       product: Wireless 7260
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: wlp3s0
       version: bb
       serial: 7c:5c:f8:dc:f4:f1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=5.4.0-40-lowlatency firmware=17.3216344376.0 ip=172.20.20.20 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:34 memory:f1c00000-f1c01fff

当开始失败时 - 注意功能中缺少“bus_master”

*-network
       description: Wireless interface
       product: Wireless 7260
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: wlp3s0
       version: bb
       serial: 7c:5c:f8:dc:f4:f1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=5.4.0-40-lowlatency firmware=17.3216344376.0 latency=0 link=no multicast=yes wireless=IEEE 802.11
       resources: irq:33 memory:f1c00000-f1c01fff
   

不工作时 - 现在缺少更多功能;此外描述现在是“网络控制器”而不是“无线接口”

*-network UNCLAIMED
       description: Network controller
       product: Wireless 7260
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       version: bb
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress cap_list
       configuration: latency=0
       resources: memory:f1c00000-f1c01fff

就是这样。当然,我尝试了所有简单的事情,比如尝试重新启动 NetworkManger,方法如下:

sudo systemctl restart NetworkManager

sudo service network-manager restart

我还尝试删除并重新加载 wifi 驱动程序:

sudo modprobe -r iwlwifi && sudo modprobe iwlwifi

以上就是我尝试过的所有方法。我还发现了以下信息:https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#d_3165_and_3168_support

此页上指出:

7260、3160、7265、7265D、3165 和 3168 支持

最新固件版本将不支持这些设备:针对 3160、7260 和 7265 发布的最新固件是 -17.ucode。错误修复将移植到 -17.ucode。

现在,这是否意味着这些设备将不再可在 Linux 中使用?

顺便说一句,我可以轻松更换笔记本电脑中的 wifi 卡。如果有一张卡,一半 pci 大小,非常适合我的笔记本电脑使用,并且确实可以工作,我很想知道!我确实计划将这台电脑与 Kali 一起使用,所以我希望这张卡非常快,适合普通用途,但也具有 Kali 所需的所有功能。我认为如果我能让它工作,这张卡就符合要求。(也许 ndiswrapper 可以工作?)

我注意到很多其他类似的帖子,既有使用相同的英特尔卡,也有使用其他英特尔卡,所以如果我们能找到解决办法,这可能也会对许多其他人有所帮助。

编辑:自从发布上述内容以来,我尝试了更多的事情,现在将在这里分享它们。

当我切换到 5.6.7-lowlatency 时,我尝试安装 backport-iwlwifi-dkms,但安装不正确(抱歉,我忘记了错误消息)。因此,我随后恢复到 5.4.0-42-lowlatency,删除了我尝试过的其他更高内核,然后成功安装了 backport-iwlwifi-dkms,没有出现错误。然而,这并没有解决我的 wifi 问题,所以我后来卸载了它。

此时,我已将所有更改恢复到系统原来的状态,除了对 iwlwifi.com 所做的更改,这些更改似乎没有帮助或伤害,或者实际上以任何方式影响任何事情。

我现在不知道该怎么做,因为我几乎试过了所有方法。我原本想试试 ndiswrapper,但我找到的一些信息似乎表明我的 wifi 芯片组无法使用它,所以我暂时搁置了这个想法。

然后我尝试运行“tail -f /var/log/syslog”,这样我就可以记录 wifi 故障时发生的情况。以下是一些输出:

Jul 30 11:03:34 ENCOM-T430 systemd[1]: Starting Network Manager Script Dispatcher Service...
Jul 30 11:03:34 ENCOM-T430 dbus-daemon[582]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Jul 30 11:03:34 ENCOM-T430 systemd[1]: Started Network Manager Script Dispatcher Service.
Jul 30 11:03:43 ENCOM-T430 systemd[1]: NetworkManager-dispatcher.service: Succeeded.
Jul 30 11:05:14 ENCOM-T430 kernel: [ 2511.456439] iwlwifi 0000:03:00.0: Failed to wake NIC for hcmd
Jul 30 11:05:14 ENCOM-T430 kernel: [ 2511.457393] iwlwifi 0000:03:00.0: Error sending STATISTICS_CMD: enqueue_hcmd failed: -5
Jul 30 11:05:15 ENCOM-T430 kernel: [ 2512.960634] iwlwifi 0000:03:00.0: Failed to wake NIC for hcmd
Jul 30 11:05:15 ENCOM-T430 kernel: [ 2512.961409] iwlwifi 0000:03:00.0: Error sending STATISTICS_CMD: enqueue_hcmd failed: -5
Jul 30 11:05:16 ENCOM-T430 kernel: [ 2512.981002] iwlwifi 0000:03:00.0: Failed to wake NIC for hcmd
Jul 30 11:05:16 ENCOM-T430 kernel: [ 2512.981039] iwlwifi 0000:03:00.0: Error sending STATISTICS_CMD: enqueue_hcmd failed: -5
Jul 30 11:05:19 ENCOM-T430 kernel: [ 2516.454834] iwlwifi 0000:03:00.0: Failed to wake NIC for hcmd
Jul 30 11:05:19 ENCOM-T430 kernel: [ 2516.454900] iwlwifi 0000:03:00.0: Error sending STATISTICS_CMD: enqueue_hcmd failed: -5
Jul 30 11:05:21 ENCOM-T430 kernel: [ 2518.956560] iwlwifi 0000:03:00.0: Failed to wake NIC for hcmd
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2518.956655] iwlwifi 0000:03:00.0: Error sending STATISTICS_CMD: enqueue_hcmd failed: -5
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2518.975830] iwlwifi 0000:03:00.0: Failed to wake NIC for hcmd
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2518.975945] iwlwifi 0000:03:00.0: Error sending STATISTICS_CMD: enqueue_hcmd failed: -5
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549253] ------------[ cut here ]------------
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549258] Timeout waiting for hardware access (CSR_GP_CNTRL 0xffffffff)
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549317] WARNING: CPU: 2 PID: 24 at drivers/net/wireless/intel/iwlwifi/pcie/trans.c:2066 iwl_trans_pcie_grab_nic_access+0x1f9/0x230 [iwlwifi]
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549319] Modules linked in: vboxnetadp(OE) vboxnetflt(OE) vboxdrv(OE) intel_rapl_msr rfcomm cmac algif_hash algif_skcipher af_alg bnep uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common videodev btusb btrtl mc btbcm btintel bluetooth ecdh_generic ecc intel_rapl_common x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel iwlmvm mac80211 kvm libarc4 iwlwifi snd_hda_codec_hdmi intel_cstate intel_rapl_perf snd_hda_codec_realtek snd_hda_codec_generic snd_seq_midi snd_seq_midi_event snd_hda_intel snd_intel_dspcfg snd_hda_codec joydev input_leds snd_hda_core snd_hwdep serio_raw snd_pcm snd_rawmidi cfg80211 wmi_bmof thinkpad_acpi nvram ledtrig_audio snd_seq snd_seq_device snd_timer snd soundcore mac_hid binfmt_misc sch_fq_codel cuse parport_pc ppdev lp parport ip_tables x_tables autofs4 crct10dif_pclmul crc32_pclmul ghash_clmulni_intel i915 aesni_intel crypto_simd cryptd glue_helper psmouse i2c_algo_bit ahci drm_kms_helper sdhci_pci libahci i2c_i801 cqhci
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549370]  syscopyarea sdhci lpc_ich sysfillrect sysimgblt fb_sys_fops e1000e drm wmi video
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549381] CPU: 2 PID: 24 Comm: ksoftirqd/2 Tainted: G           OE     5.4.0-42-lowlatency #46-Ubuntu
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549382] Hardware name: LENOVO 2344BZU/2344BZU, BIOS G1ETC2WW (2.82 ) 08/07/2019
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549396] RIP: 0010:iwl_trans_pcie_grab_nic_access+0x1f9/0x230 [iwlwifi]
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549400] Code: 26 d7 49 8d 57 08 bf 00 20 00 00 e8 51 13 ae d5 e9 30 ff ff ff 89 c6 48 c7 c7 30 a1 a0 c0 c6 05 25 f0 02 00 01 e8 62 0a ac d5 <0f> 0b e9 eb fe ff ff 49 8b 7c 24 38 48 c7 c1 98 a1 a0 c0 31 d2 31
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549402] RSP: 0018:ffffb5714013fca0 EFLAGS: 00010086
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549404] RAX: 0000000000000000 RBX: ffffb5714013fcd8 RCX: 0000000000000006
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549406] RDX: 0000000000000007 RSI: 0000000000000082 RDI: ffff9717564978c0
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549407] RBP: ffffb5714013fcc8 R08: 0000000000000001 R09: 00000000000003f4
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549409] R10: 0000000000014674 R11: 0000000000000004 R12: ffff971748138018
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549410] R13: 0000000000000000 R14: ffff971748139e4c R15: 00000000ffffffff
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549413] FS:  0000000000000000(0000) GS:ffff971756480000(0000) knlGS:0000000000000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549414] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549416] CR2: 00007f5fa2462000 CR3: 00000001c600a004 CR4: 00000000001606e0
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549418] Call Trace:
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549434]  iwl_read_prph+0x39/0x90 [iwlwifi]
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549448]  iwl_trans_pcie_log_scd_error+0x14c/0x220 [iwlwifi]
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549461]  iwl_pcie_txq_stuck_timer+0x49/0x70 [iwlwifi]
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549473]  ? iwl_pcie_txq_inc_wr_ptr+0x110/0x110 [iwlwifi]
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549481]  call_timer_fn+0x32/0x160
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549486]  run_timer_softirq+0x19c/0x4f0
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549497]  ? iwl_pcie_txq_inc_wr_ptr+0x110/0x110 [iwlwifi]
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549503]  ? __switch_to_asm+0x34/0x70
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549506]  ? __switch_to_asm+0x40/0x70
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549509]  ? __switch_to_asm+0x34/0x70
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549512]  ? __switch_to_asm+0x40/0x70
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549515]  ? __switch_to_asm+0x34/0x70
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549518]  ? __switch_to_asm+0x40/0x70
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549522]  ? __switch_to+0x7f/0x490
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549526]  __do_softirq+0xe1/0x308
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549533]  run_ksoftirqd+0x2b/0x40
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549539]  smpboot_thread_fn+0xfc/0x1f0
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549542]  kthread+0x104/0x140
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549546]  ? sort_range+0x30/0x30
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549548]  ? kthread_park+0x90/0x90
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549552]  ret_from_fork+0x35/0x40
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549556] ---[ end trace 3b3350bf6ae75ff1 ]---
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549563] iwlwifi 0000:03:00.0: iwlwifi transaction failed, dumping registers
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549569] iwlwifi 0000:03:00.0: iwlwifi device config registers:
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549907] iwlwifi 0000:03:00.0: 00000000: 08b18086 00100000 028000bb 00000000 00000004 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549912] iwlwifi 0000:03:00.0: 00000020: 00000000 00000000 00000000 44708086 00000000 000000c8 00000000 00000100
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549917] iwlwifi 0000:03:00.0: 00000040: 00020010 10008ec0 001b0c10 0006ec11 10110000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549921] iwlwifi 0000:03:00.0: 00000060: 00000000 00080812 00000005 00000000 00010001 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549925] iwlwifi 0000:03:00.0: 00000080: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549928] iwlwifi 0000:03:00.0: 000000a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549933] iwlwifi 0000:03:00.0: 000000c0: 00000000 00000000 c823d001 0d000000 00804005 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549936] iwlwifi 0000:03:00.0: 000000e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549941] iwlwifi 0000:03:00.0: 00000100: 14010001 00100000 00000000 00462031 000030c1 00002000 00000014 40000001
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549945] iwlwifi 0000:03:00.0: 00000120: 0000000f f1c00024 00000000 00000000 00000000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549949] iwlwifi 0000:03:00.0: 00000140: 14c10003 ffdcf4f1 7c5cf8ff 15410018 00000000 0001000b 0141cafe 00f01e1f
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549952] iwlwifi 0000:03:00.0: iwlwifi device memory mapped registers:
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.549998] iwlwifi 0000:03:00.0: 00000000: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550002] iwlwifi 0000:03:00.0: 00000020: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550009] iwlwifi 0000:03:00.0: iwlwifi device AER capability structure:
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550047] iwlwifi 0000:03:00.0: 00000000: 14010001 00100000 00000000 00462031 000030c1 00002000 00000014 40000001
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550050] iwlwifi 0000:03:00.0: 00000020: 0000000f f1c00024 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550054] iwlwifi 0000:03:00.0: iwlwifi parent port (0000:00:1c.1) config registers:
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550244] iwlwifi 0000:00:1c.1: 00000000: 1e128086 00100407 060400c4 00810010 00000000 00000000 00030300 200000f0
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550248] iwlwifi 0000:00:1c.1: 00000020: f1c0f1c0 0001fff1 00000000 00000000 00000000 00000040 00000000 00020207
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550252] iwlwifi 0000:00:1c.1: 00000040: 01428010 00008000 00110000 02123c12 70110042 000cb200 01480000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550256] iwlwifi 0000:00:1c.1: 00000060: 00000000 00000016 00000000 00000000 00010002 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550260] iwlwifi 0000:00:1c.1: 00000080: 00019005 fee00258 00000000 00000000 0000a00d 21f317aa 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550264] iwlwifi 0000:00:1c.1: 000000a0: c8020001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550268] iwlwifi 0000:00:1c.1: 000000c0: 00000000 00000000 00000000 00000000 01000000 00000b02 81118000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550272] iwlwifi 0000:00:1c.1: 000000e0: 00000300 00000000 00000001 00000000 00000000 00000000 08050f87 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550276] iwlwifi 0000:00:1c.1: 00000100: 00000000 00000000 00000000 00060011 000011c1 00002000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550280] iwlwifi 0000:00:1c.1: 00000120: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550284] iwlwifi 0000:00:1c.1: 00000140: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550288] iwlwifi 0000:00:1c.1: 00000160: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550291] iwlwifi 0000:00:1c.1: 00000180: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550295] iwlwifi 0000:00:1c.1: 000001a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550299] iwlwifi 0000:00:1c.1: 000001c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550303] iwlwifi 0000:00:1c.1: 000001e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.550306] iwlwifi 0000:00:1c.1: 00000200: 00000000 00000000 00000000
Jul 30 11:05:22 ENCOM-T430 kernel: [ 2519.607070] iwlwifi 0000:03:00.0: Queue 10 is active on fifo 2 and stuck for 10000 ms. SW [204, 217] HW [90, 90] FH TRB=0x05a5a5a5a
Jul 30 11:05:24 ENCOM-T430 kernel: [ 2521.456338] iwlwifi 0000:03:00.0: Failed to wake NIC for hcmd

现在又要根据这些新信息搜索一些东西了。如果此时有任何人有任何想法、意见或善意的鼓励,我将不胜感激。此外,如果有人能推荐一款真正好的半 pci wifi 卡,我可以用它来替换这个,并且还具有 Kali 所需的所有功能,我也会非常欢迎!

答案1

英特尔-7260-WiFi-修复

注意:根据互联网上的线索以及个人经验,似乎某些 Intel 7260 WIFI PCI 卡实际上工作正常,而其他卡则存在本文所述的问题。很多比下面描述的方法更好的解决方法是简单地购买正确的卡,因为即使使用下面的修复方法,您的 wifi 连接仍然会偶尔打开和关闭,这当然不是理想的,即使下面的修复确实会使其自动重新连接。

我原来买的这个wifi卡:https://www.amazon.com/gp/product/B00MV3N7UO/ref=ppx_yo_dt_b_asin_title_o08_s00?ie=UTF8&psc=1 如果你看一下卡的图片,你可以看到型号是 7260HMW BN。我拿到卡后,它工作得很好什么时候它起作用了,并且对于它停止工作的情况,我设计了下面描述的修复方法。

几周后我购买了这张卡:https://www.amazon.com/gp/product/B01E85QIFI/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1 如果您查看该卡的图片,您会发现型号是 7260HMN。拿到这张卡后,我从笔记本电脑中移除了修复程序,然后让它运行以查看会发生什么。它运行完美!

我的建议是,如果您想在机器中安装 Intel 7260 WIFI PCI 卡,请谨慎购买型号 7260HMW - 而不是 7260HMW BN,也可能不是 7260HMW NB 或 7260HMW AC。以下是这些不同卡和 3160HMW 的比较:https://www.legitreviews.com/intel-7260hmwg-802-11ac-versus-intel-7260hmw-bn-802-11n_135541 可以看出,7260HMW 的功能最齐全,而且它也是在 Linux 上真正完美运行的一款!

如果有人看到这篇文章,请发表评论与他人分享您的经验,并仔细记下您拥有的卡。如果您可以亲自查看您的卡(这需要打开您的机器),请报告卡上印刷的型号。此外,sudo lshw -C network(wifi 部分)的输出也可能有用,特别是“版本”。

这是我对第一张卡(有问题的卡)的输出:

*-network 
    description: Wireless interface
    product: Wireless 7260
    vendor: Intel Corporation
    physical id: 0
    bus info: pci@0000:03:00.0
    logical name: wlp3s0
    version: bb
    serial: 7c:5c:f8:dc:f4:f1
    width: 64 bits
    clock: 33MHz
    capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
    configuration: broadcast=yes driver=iwlwifi driverversion=5.4.0-40-lowlatency firmware=17.3216344376.0 ip=172.20.20.20 latency=0 link=yes multicast=yes wireless=IEEE 802.11
    resources: irq:34 memory:f1c00000-f1c01fff
    

下面是第二张卡的输出,它工作得很好:

*-network
     description: Wireless interface
     product: Wireless 7260
     vendor: Intel Corporation
     physical id: 0
     bus info: pci@0000:03:00.0
     logical name: wlp3s0
     version: 73
     serial: a0:a8:cd:2c:f3:da
     width: 64 bits
     clock: 33MHz
     capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
     configuration: broadcast=yes driver=iwlwifi driverversion=5.4.0-42-lowlatency firmware=17.3216344376.0 ip=172.20.20.20 latency=0 link=yes multicast=yes wireless=IEEE 802.11
     resources: irq:33 memory:f1c00000-f1c01fff
   

唯一的区别是版本系列,我认为这实际上是版本这与此相关。

我已经做了很多故障排除工作。如果能得到一些反馈就好了,这样这个问题就可以为社区彻底解决。

而且...如果您现在被一个行为失常的 Intel 7260 困住了...下面是我为此想出的解决方案:

修复了 Intel 7260 WIFI PCI 卡在 Linux 上间歇性且不可预测地停止工作的问题。

(只要掌握一点技巧,这可能很容易适应以支持其他芯片组。)

Intel 7260 WIFI PCI 卡具有出色的 wifi 功能,但在 Linux 上却因间歇性且不可预测地关闭以及完全无响应而臭名昭著,除了重新启动系统外,没有其他方法可以重新启动卡。

经过大量搜索,我找到了几个可以运行并重启卡的脚本。虽然这很好,但卡肯定会时不时地出现故障,然后需要用户手动运行脚本。这是一个改进,但不太方便,我想要一种方法来自动化这个过程,这样我就可以忘掉它,让它正常工作。

我拿来这个脚本,稍作修改,还在脚本开头添加了一些检查,这些检查将以各种方式检查 wifi 卡是否正常工作。(起初,我所做的唯一检查是基于和,nmcliifconfig似乎有些故障是这些检查无法发现的。然后我又添加了一个基于输出的检查lshw,因为在调试和解决这个问题的过程中,我注意到lshw根据卡是否正常工作,输出会有所不同;具体来说,当卡正常工作时,我会看到“bus_master”列在设备功能下,但是当卡出现故障或刚开始出现故障时,这个功能就会消失。)无论如何,一旦这些检查到位,一旦脚本运行,就会发生以下情况:

(1)如果发现 wifi 正在运行,则脚本会退出。

(2)如果发现 wifi 无法工作,则脚本将继续并执行 wifi 重置。

然后我设置了一些 cron 任务,每 20 秒运行一次我修改过的脚本。设置完成后,我的 wifi 问题就解决了!

如何设置

设置确实需要几分钟和一些准备,但它非常值得,我会一步一步指导您!

首先,您需要在系统上安装。我认为修改脚本以改用,甚至检测系统中可用的脚本ifconfig相对容易,但我尚未实现这一点。无论如何,就目前而言,您需要确保已安装,因此首先只需运行: 现在您已经安装,现在可以继续将这两个文件下载到您的主目录中:ipifconfigsudo apt install net-toolsifconfig

https://raw.githubusercontent.com/John-Vision/Intel-7260-Wifi-Fix/master/fixwifi

https://raw.githubusercontent.com/John-Vision/Intel-7260-Wifi-Fix/master/fixwifi-force

要从终端下载它们,请复制/粘贴/运行以下行

cd ~

wget https://raw.githubusercontent.com/John-Vision/Intel-7260-Wifi-Fix/master/fixwifi

wget https://raw.githubusercontent.com/John-Vision/Intel-7260-Wifi-Fix/master/fixwifi-force

现在您的主目录中有了这两个文件,您需要使它们可执行。

chmod +x ~/fixwifi

chmod +x ~/fixwifi-force

这两个文件本质上是相同的,但有一个区别:fixwifi首先检查你的 wifi 是否启动并正在运行;如果是,它就退出,但如果不是,它就继续并重置你的 wifi。另一方面,'fixwifi-force' 不会费心执行任何检查,并且无论你的 wifi 是否已经在运行,它都会重置它。

这两个文件都有一些可以手动更改的设置。假设您有 Intel 7260(这就是本文的主题!),您不需要更改任何内容,除了可能每个文件中的行(每个文件中大约第 19 行)都显示interface="wlp3s0"。您的接口可能不同:典型值是 wlan0、wlp2s0 等。您可以通过执行 来检查您的接口sudo lshw -C network | grep "logical name: w",只要您在 wifi 工作时运行此操作即可。因此,如果需要,只需在这两个文件中将接口设置更改为适合您的任何设置即可。

完成所有这些操作后,请尝试~/fixwifi-force。如果一切正常,您应该会看到 wifi 断开连接(如果已连接),然后重新上线。如果没有发生这种情况,则需要检查输出,看看是否有任何错误。最常见的(也是最容易修复的)错误是接口设置错误。(请参阅上文。)另一种可能性是您没有 Intel 7260,在这种情况下,您还必须更改“wirelessPCI”设置中引号之间的部分,可能还需要更改“voodoo”的设置。(我不知道如何帮助您进行 voodoo 设置。这部分对我来说几乎是个谜。)

一旦启动~/fixwifi-force并运行,您就真的很幸运了!只需确保您在fixwifi中的设置与 中的设置相同fixwifi-force。现在您需要做的就是设置一些 cron 作业以fixwifi在后台定期运行,这样您就不必再考虑它了!

如果这是您第一次使用 cron,以下命令可确保它可以在后台运行:

sudo systemctl enable cron

现在是时候继续以 root 身份设置 crontab 了:

sudo crontab -e

它会询问您要使用什么编辑器。选择您想要的那个。(提示会告诉您,nano 是最简单的。)

现在您需要添加以下三行,将路径替换为 .fixwifi 文件的实际路径。(不要以“~/fixwifi”之类的快捷方式输入路径,而是直接输入完整路径。)

* * * * * /path/to/.fixwifi

* * * * * sleep 20; /path/to/.fixwifi

* * * * * sleep 40; /path/to/.fixwifi

添加这三行并修改以反映实际路径后,保存文件就完成了!(如果您选择 nano,请按 Ctrl-X 完成编辑,然后按“y”响应“保存修改后的缓冲区?”,然后按“Enter”接受要将其发送到的文件的名称。)

就这样!尽情享受全新、无压力的 Intel 7260 Wifi 吧!

答案2

Giovanni_Visione 提供的出色脚本对我来说不太适用(即使在配置了变量之后),但经过更多搜索和尝试不同方法后,我将其简化为:

#!/bin/bash

# You need to know the designations for your wifi interface.
# You can find these out by running: sudo lshw -C network

# interface name
interface="wlp1s0"

# ssid for your wifi
ssid="NETGEAR47"

# If this script works, then update cron by: 
# "sudo crontab -e" and # add the following, without the initial hash (#) in each line. 
#* * * * * /home/<user>/fixwifi >> /home/<user>/fixwifi.log 2>&1
 
###########################################################################################################

echo "OKAY ------ $(date) ------"


rfkiller=$(sudo rfkill list | grep "yes")
    if [[ $rfkiller != "" ]]  ; then
        echo -e "rfkill - something is blocked"
        sudo rfkill list | sed 's/^/      /'
        echo -e "FIXING - running: rfkill unblock all"
        sudo rfkill unblock all
        sleep 2
    fi

# Check if wifi is okay using: nmcli networking connectivity 
# "unknown" and "none" indicate a problem.
connectivity=$(nmcli networking connectivity)
    if [ $connectivity = "unknown" ] || [ $connectivity = "none" ] ; then
        echo "nmcli networking connectivity: $connectivity"
        echo -e "FIXING - running: nmcli radio wifi on"
        nmcli radio wifi on | sed 's/^/      /'
        sleep 2
        echo -e "FIXING - running: nmcli c up $ssid"
        nmcli c up $ssid | sed 's/^/      /'
        sleep 5
        echo ""
        nmcli radio | sed 's/^/      /'
        ping -c 1 google.com > /dev/null
        SUCCESS=$?
        if [ $SUCCESS -eq 0 ]
        then
          echo "FIXED - successfully pinged google"
        else
          ping -c 1 google.com
          echo "FAILED"
        fi
    fi
    
# other things I was experimenting with that did nothing
#echo "FIXING - running: nmcli radio wifi off"
#nmcli radio wifi off
#sleep 2
#echo "FIXING - running: modprobe -r"
#sudo modprobe -r iwlwifi
#sleep 2
#echo "FIXING - running: modprobe -a"
#sudo modprobe -a iwlwifi
#sleep 2
#echo "FIXING - running: networking restart"
#sudo service network-manager restart
#sleep 2

相关内容