glS*_*glS 6 wireless connection drivers iwlwifi
这个问题似乎在过去的几年里发生在很多人身上,我可以在几个论坛和问题中找到它的讨论。\n但是,大多数这样的讨论最终都没有明确的解决方案,或者没有明确说明,因此我尝试又在这里。
\n我正在尝试使用我的笔记本电脑(Dell Precision M3800)连接到公共 WiFi 网络(准确地说是大学网络)。\n连接最初是成功的,但一段时间后(我不知道如何连接)很多:有时只是几分钟,有时是几个小时)它就停止工作了。
\n在这里停止工作是指,虽然显然连接仍然有效,但当我尝试实际访问某个网站或 ping 某个地址时,最初什么也没有发生。\n值得注意的是,此时所有内容仍然显示连接已启动。网络管理器图标以及 、nmcli dev
和nmcli g
的输出nmcli dev wifi
表明我们已成功连接。
一段时间后,虽然nmcli dev
仍然nmcli g
说一切都很好,nmcli dev wifi
现在只检测到我们现在应该连接的连接(即使我知道还有其他可用的 AP)。
如果我什么都不做,情况就会像上面一样。如果我现在尝试重置连接,我们会遇到标题所示的错误。为此,我使用sudo service network-manager restart
。\n以下是此时各种工具报告的状态:
ip link
仍然将接口报告为已启动,并带有一行形式... wlp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> ...
(请注意UP部分)。iw
报告接口已关闭:输出iw dev wlp6s0 link
是Not connected.
nmcli
报告接口已关闭。特别是,nmcli dev
将状态报告为disconnected
,对于 也同样如此nmcli g
。有趣的是,nmcli g
仍然将 WIFI 报告为enabled
。的输出证实了这一点nmcli radio
,它将所有内容报告为enabled
。disconnected
,没有可见的重新连接选项。此时我有点缺乏想法,所以我只是尝试通过 重置连接ip
,但这仍然没有将其注册为关闭。\n我使用sudo ip link set wlp6s0 down
然后sudo ip link set wlp6s0 up
。\n第一个命令成功,如的输出ip link
。\n但是第二个命令失败并显示
\n\nRTNETLINK 解答:输入/输出错误
\n
其他有趣的信息由 给出dmesg
。\n当错误发生时,由 给出大量错误iwlwifi
。我上传了关于此要点的整个dmesg
转储。\n该错误最有可能追溯到L1049左右发生的情况。\n连接断开后,直到我强制重置网络管理器,我们得到 iwlwifi 的循环错误从L1100开始,并且仅结束,因为那是我运行的点dmesg
。
当我尝试运行ip link set wlp6s0 up
并得到我们心爱的错误时,以下几行会打印在dmesg
:
[ +9.727062] iwlwifi 0000:06:00.0: Failed to wake NIC for hcmd\n[ +0.000047] iwlwifi 0000:06:00.0: Error sending MAC_CONTEXT_CMD: enqueue_hcmd failed: -5\n[ +0.000006] iwlwifi 0000:06:00.0: Failed to remove MAC context: -5\n[ +13.220958] iwlwifi 0000:06:00.0: Could not load the [0] uCode section\n[ +0.000007] iwlwifi 0000:06:00.0: Failed to start INIT ucode: -5\n[ +0.000002] iwlwifi 0000:06:00.0: Failed to run INIT ucode: -5\n[ +0.000001] iwlwifi 0000:06:00.0: Failed to start RT ucode: -5\n[Feb27 12:59] iwlwifi 0000:06:00.0: Could not load the [0] uCode section\n[ +0.000007] iwlwifi 0000:06:00.0: Failed to start INIT ucode: -5\n[ +0.000002] iwlwifi 0000:06:00.0: Failed to run INIT ucode: -5\n[ +0.000002] iwlwifi 0000:06:00.0: Failed to start RT ucode: -5\n
Run Code Online (Sandbox Code Playgroud)\n进一步的谷歌搜索让我看到了 archlinux 论坛上的这两篇文章(无线 AP 在断开连接时停止广播和RTNETLINK 答案:输入/输出错误,rt3290),这进一步表明网络适配器驱动程序存在问题。 \n他们特别提到重新加载英特尔无线驱动程序
\nsudo modprobe -r iwlwifi\nsudo modprobe iwlwifi\n
Run Code Online (Sandbox Code Playgroud)\nip link
第一个命令成功,通过不再显示界面的输出确认wlp6s0
。\n不幸的是,一旦驱动程序被关闭,它就不会再次上升(好吧,它确实会再次上升,因为它显示了再次在 中sudo modprobe | grep iwl
,但界面仍然没有重新出现ip link
)。第二个命令失败,没有终端输出,并显示以下dmesg
日志:
[Feb27 16:45] Intel(R) Wireless WiFi driver for Linux\n[ +0.000002] Copyright(c) 2003- 2015 Intel Corporation\n[ +0.000830] iwlwifi 0000:06:00.0: loaded firmware version 17.608620.0 op_mode iwlmvm\n[ +0.016423] iwlwifi 0000:06:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0xFFFFFFFF\n[ +0.024695] Timeout waiting for hardware access (CSR_GP_CNTRL 0xffffffff)\n[ +0.000012] ------------[ cut here ]------------\n[ +0.000009] WARNING: CPU: 6 PID: 4523 at /build/linux-hwe-4GXcua/linux-hwe-4.13.0/drivers/net/wireless/intel/iwlwifi/pcie/trans.c:1873 iwl_trans_pcie_grab_nic_access+0xe7/0xf0 [iwlwifi]\n[ +0.000001] Modules linked in: iwlmvm(+) mac80211 iwlwifi cfg80211 ccm rfcomm bnep snd_hda_codec_hdmi arc4 uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev media joydev pn544_mei mei_phy pn544 hci nfc intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel hid_multitouch kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc snd_hda_codec_realtek snd_hda_codec_generic btusb btrtl dell_laptop snd_hda_intel btbcm aesni_intel snd_hda_codec dell_smm_hwmon aes_x86_64 btintel bluetooth snd_hda_core snd_hwdep crypto_simd ecdh_generic glue_helper cryptd intel_cstate snd_pcm intel_rapl_perf dell_wmi dell_smbios input_leds dcdbas snd_seq_midi serio_raw wmi_bmof sparse_keymap snd_seq_midi_event snd_rawmidi intel_pch_thermal snd_seq rtsx_pci_ms memstick\n[ +0.000033] snd_seq_device snd_timer snd acpi_als kfifo_buf mei_me lpc_ich mei shpchp soundcore ie31200_edac industrialio dptf_power int3403_thermal int3406_thermal int3402_thermal dell_smo8800 dell_rbtn processor_thermal_device int3400_thermal int340x_thermal_zone mac_hid acpi_thermal_rel intel_soc_dts_iosf parport_pc ppdev lp parport autofs4 hid_logitech_hidpp hid_logitech_dj usbhid hid i915 nouveau rtsx_pci_sdmmc mxm_wmi ttm i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt psmouse fb_sys_fops ahci libahci drm rtsx_pci wmi video [last unloaded: cfg80211]\n[ +0.000026] CPU: 6 PID: 4523 Comm: modprobe Tainted: G W 4.13.0-36-generic #40~16.04.1-Ubuntu\n[ +0.000000] Hardware name: Dell Inc. Dell Precision M3800/Dell Precision M3800, BIOS A10 08/17/2015\n[ +0.000001] task: ffff9037d6261740 task.stack: ffffb44d43ef0000\n[ +0.000006] RIP: 0010:iwl_trans_pcie_grab_nic_access+0xe7/0xf0 [iwlwifi]\n[ +0.000001] RSP: 0018:ffffb44d43ef3ae0 EFLAGS: 00010082\n[ +0.000001] RAX: 000000000000003d RBX: ffff9037d77e0018 RCX: 0000000000000000\n[ +0.000001] RDX: 0000000000000000 RSI: ffff9037efb96578 RDI: ffff9037efb96578\n[ +0.000001] RBP: ffffb44d43ef3b00 R08: 0000000000000001 R09: 00000000000005a4\n[ +0.000000] R10: 0000000000000000 R11: 00000000000005a4 R12: 0000000000000000\n[ +0.000001] R13: ffff9037d77e8f20 R14: ffffb44d43ef3b10 R15: ffff9037d77e0230\n[ +0.000001] FS: 00007f82e7a0a700(0000) GS:ffff9037efb80000(0000) knlGS:0000000000000000\n[ +0.000001] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[ +0.000001] CR2: 00007ffc8c365b08 CR3: 000000038bc2e004 CR4: 00000000001606e0\n[ +0.000001] Call Trace:\n[ +0.000006] iwl_read_prph+0x38/0x90 [iwlwifi]\n[ +0.000004] iwl_pcie_apm_init+0x1c0/0x230 [iwlwifi]\n[ +0.000005] iwl_trans_pcie_start_hw+0x76/0x1f0 [iwlwifi]\n[ +0.000009] iwl_op_mode_mvm_start+0x6e4/0xb10 [iwlmvm]\n[ +0.000005] _iwl_op_mode_start.isra.10+0x4c/0xa0 [iwlwifi]\n[ +0.000004] iwl_opmode_register+0x6c/0xd0 [iwlwifi]\n[ +0.000002] ? 0xffffffffc0742000\n[ +0.000007] iwl_mvm_init+0x35/0x1000 [iwlmvm]\n[ +0.000003] do_one_initcall+0x55/0x1b0\n[ +0.000003] ? __vunmap+0x81/0xb0\n[ +0.000002] ? kmem_cache_alloc_trace+0x154/0x1b0\n[ +0.000001] ? kfree+0x165/0x170\n[ +0.000003] do_init_module+0x5f/0x209\n[ +0.000002] load_module+0x196a/0x1d70\n[ +0.000002] ? ima_post_read_file+0x7d/0xa0\n[ +0.000003] SYSC_finit_module+0xe5/0x120\n[ +0.000001] ? SYSC_finit_module+0xe5/0x120\n[ +0.000002] SyS_finit_module+0xe/0x10\n[ +0.000003] entry_SYSCALL_64_fastpath+0x24/0xab\n[ +0.000001] RIP: 0033:0x7f82e75384d9\n[ +0.000001] RSP: 002b:00007ffc8c368c08 EFLAGS: 00000246 ORIG_RAX: 0000000000000139\n[ +0.000001] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f82e75384d9\n[ +0.000001] RDX: 0000000000000000 RSI: 000055cbf8d6626b RDI: 0000000000000001\n[ +0.000000] RBP: 00007ffc8c367c10 R08: 0000000000000000 R09: 0000000000000000\n[ +0.000001] R10: 0000000000000001 R11: 0000000000000246 R12: 000055cbf914aad0\n[ +0.000001] R13: 00007ffc8c367bf0 R14: 0000000000000005 R15: 0000000000040000\n[ +0.000001] Code: 00 00 e8 9d b9 25 dd eb ab 48 89 df be 24 00 00 00 c6 05 69 f1 01 00 01 e8 67 eb fe ff 48 c7 c7 c8 ce 8c c0 89 c6 e8 5a 47 a3 dc <0f> ff eb c1 0f 1f 44 00 00 0f 1f 44 00 00 55 49 c7 c0 08 cf 8c \n[ +0.000024] ---[ end trace a5e22ad3df2362ea ]---\n[ +1.001198] iwlwifi 0000:06:00.0: Could not load the [0] uCode section\n[ +0.000007] iwlwifi 0000:06:00.0: Failed to start INIT ucode: -5\n[ +1.965039] iwlwifi 0000:06:00.0: Failed to run INIT ucode: -5\n
Run Code Online (Sandbox Code Playgroud)\n我猜这一切的可能原因是驱动程序错误。我仍然不明白为什么它只发生在某些网络上而不发生在其他网络上。
\n另外,考虑到重新启动笔记本电脑确实解决了问题,至少暂时解决了问题,不应该有一种方法可以模拟重新启动过程中发生的情况(驱动程序方面),以便能够在不重新启动的情况下完成此操作本身?
\n网络适配器型号详细信息,如下所示lspci -k | grep -A3 Network
:
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)\n Subsystem: Intel Corporation Dual Band Wireless-AC 7260\n Kernel driver in use: iwlwifi\n Kernel modules: iwlwifi\n
Run Code Online (Sandbox Code Playgroud)\n该设备是 Dell Precision M3800 笔记本电脑,运行 ubuntu 16.04 64 位。
\n据我所知,没有其他设备会出现此连接的相同问题,而且同一设备在任何其他 wifi 网络上大多不会显示此问题。有时确实会发生这种情况,但很少见,通常可以通过重置连接轻松解决。这似乎意味着问题必定出在该特定设备和该特定网络之间的组合上,这就是它如此令人讨厌的原因。
\n我曾经在同一台设备上安装过 Windows 10,并且出现了同样的问题。这可以说是最糟糕的,就好像我在 wifi 不工作时尝试重新启动一样,笔记本电脑经常会在重新启动期间挂起并最终出现 BSOD。在我尝试安装不同的网络适配器驱动程序后,这种情况不太常见,但为了再次启动该接口,我必须多次通过控制面板禁用和重新启用网络适配器,这是一个奇怪的过程。
\n无法通过 systemd-networkd 设置 wifi(archlinux 论坛)。与我的情况不完全相关,因为 OP 正在使用systemd-networkd
. 当尝试通过 启动界面时会给出该消息ip link set wlp2s0f0 up
。OP声称已经解决了纠正错误的问题wpa_supplicant
,如果它适用于当前情况,我不会这样做。
[已解决] 无线连接问题(archlinux 论坛)。尝试启动界面时再次出现错误消息ip link set wlp2s0 up
。原因似乎是两者之间的NetworkManager
冲突dhcpcd
。dhcpcd
OP声称已经解决了通过以下方式禁用的问题systemctl
。可能不适用于这里。
Wifi 不工作 RTNETLINK 答案:输入/输出错误( archlinux 论坛)。可能与上面的问题相同,但 OP 放弃了该帖子。
\n[已解决] RTNETLINK 解答:输入/输出错误(archlinux 论坛)。给出的错误ip link set wlo1 up
。没有达成解决方案。
wifi 无法处理各种错误消息[已关闭](askubuntu)。给出的错误ip link set wlo1up
。帖子关闭了,不清楚。
无线无故断开并停止工作( ubuntuforums )。建议的解决方案是禁用sudo sed -i \'s/wifi.powersave = 3/wifi.powersave = 2/\' /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
网络管理器启用无线电源管理。OP 从未回到帖子中说这是否对他有用,但这对我不起作用。
还可以找到其他几个帖子,特别是在arch linux 论坛和askubuntu上上。
\n我发现这一系列错误报告与同一类问题相关:bug.launchpad、bugzilla.kernel.org 1、bugzilla.kernel.org 2、bugzilla.kernel.org 3。
在上面的第一个链接中引用 Emmanuel Grumbach (egrumbach) 的话:
这是一个电气问题。我对此无能为力
所以这似乎是由物理卡中的错误/故障引起的问题。
归档时间: |
|
查看次数: |
11765 次 |
最近记录: |