Wifi 随机停止工作,然后无法扫描/重新连接

Wifi 随机停止工作,然后无法扫描/重新连接

我的台式机型号是 Intel NUC Skull Canyon NUC6i7KYK。它的 wifi 会随机停止工作,然后无法找到任何网络。我每次都必须重新启动它。

uname -a 

输出:

Linux nuc-server 4.10.0-35-generic #39-Ubuntu SMP Wed Sep 13 07:46:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

它有两个无线接口,一个 pci intel wireless 8260 和一个 d-link dwa-182。一开始我以为是 intel 无线网卡的问题,所以我买了一个 USB 适配器。然而,这不管用。它们每次都停止工作。

sudo lshw -class network

输出:

*-network                 
       description: Wireless interface
       product: Wireless 8260
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: wlp3s0
       version: 3a
       serial: 00:c2:c6:f8:12:f9
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=4.10.0-35-generic firmware=21.302800.0 ip=192.168.1.163 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:127 memory:dc000000-dc001fff
  *-network
       description: Ethernet interface
       product: Ethernet Connection (2) I219-LM
       vendor: Intel Corporation
       physical id: 1f.6
       bus info: pci@0000:00:1f.6
       logical name: eno1
       version: 31
       serial: 00:1f:c6:9b:fc:5a
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=0.8-4 latency=0 link=no multicast=yes port=twisted pair
       resources: irq:124 memory:dc200000-dc21ffff
  *-network:0
       description: Ethernet interface
       physical id: 1
       logical name: docker0
       serial: 02:42:79:4c:5e:c4
       capabilities: ethernet physical
       configuration: broadcast=yes driver=bridge driverversion=2.3 firmware=N/A ip=172.17.0.1 link=no multicast=yes
  *-network:1
       description: Ethernet interface
       physical id: 2
       bus info: usb@1:3.2
       logical name: eth0
       serial: 5a:40:4e:50:fd:2b
       capabilities: ethernet physical
       configuration: broadcast=yes driver=ipheth link=no multicast=yes
  *-network:2
       description: Wireless interface
       physical id: 3
       bus info: usb@1:2.4
       logical name: wlx48ee0c87e138
       serial: 48:ee:0c:87:e1:38
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=rtl8812au ip=192.168.1.68 multicast=yes wireless=IEEE 802.11AC

停止后,我发现了这个。dmesg

输出:

[27943.460214] ------------[ cut here ]------------
[27943.460222] WARNING: CPU: 0 PID: 2728 at /build/linux-3PuzWO/linux-4.10.0/net/mac80211/driver-ops.h:17 __ieee80211_key_destroy+0x2ca/0x2d0 [mac80211]
[27943.460223] wlp3s0:  Failed check-sdata-in-driver check, flags: 0x0
[27943.460223] Modules linked in: ipheth xt_nat xt_tcpudp veth ipt_MASQUERADE nf_nat_masquerade_ipv4 nf_conntrack_netlink nfnetlink xfrm_user xfrm_algo iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 xt_addrtype iptable_filter xt_conntrack nf_nat nf_conntrack libcrc32c br_netfilter bridge stp llc aufs ccm rfcomm cmac bnep binfmt_misc nls_iso8859_1 arc4 hid_logitech_hidpp intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel snd_hda_codec_hdmi kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc snd_hda_codec_realtek aesni_intel snd_hda_codec_generic iwlmvm aes_x86_64 crypto_simd glue_helper cryptd mac80211 intel_cstate intel_rapl_perf snd_hda_intel ir_lirc_codec snd_hda_codec lirc_dev ir_rc6_decoder snd_hda_core input_leds iwlwifi shpchp mei_me mei eeprom intel_pch_thermal
[27943.460236]  rc_rc6_mce acpi_als kfifo_buf nuvoton_cir hci_uart rc_core mac_hid industrialio intel_lpss_acpi btqca intel_lpss acpi_pad snd_usb_audio snd_usbmidi_lib snd_hwdep snd_pcm snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq uvcvideo snd_seq_device videobuf2_vmalloc snd_timer videobuf2_memops hid_logitech_dj hid_generic videobuf2_v4l2 btusb videobuf2_core btrtl btbcm videodev btintel rtl8812au(OE) snd uas media bluetooth soundcore usbhid usb_storage cfg80211 parport_pc ppdev lp parport ip_tables x_tables autofs4 e1000e i915(OE) i2c_algo_bit ptp drm_kms_helper(OE) sdhci_pci syscopyarea pps_core sysfillrect ahci sdhci sysimgblt libahci fb_sys_fops drm(OE) wmi video pinctrl_sunrisepoint i2c_hid pinctrl_intel hid fjes
[27943.460250] CPU: 0 PID: 2728 Comm: kworker/0:2 Tainted: G        W  OE   4.10.0-35-generic #39-Ubuntu
[27943.460250] Hardware name:                  /NUC6i7KYB, BIOS KYSKLi70.86A.0049.2017.0703.1652 07/03/2017
[27943.460256] Workqueue: events_freezable ieee80211_restart_work [mac80211]
[27943.460256] Call Trace:
[27943.460257]  dump_stack+0x63/0x81
[27943.460257]  __warn+0xcb/0xf0
[27943.460258]  warn_slowpath_fmt+0x5f/0x80
[27943.460260]  ? synchronize_rcu_expedited+0xe/0x10
[27943.460266]  __ieee80211_key_destroy+0x2ca/0x2d0 [mac80211]
[27943.460273]  ieee80211_free_sta_keys+0xb1/0xd0 [mac80211]
[27943.460279]  __sta_info_destroy_part2+0x2b/0x1b0 [mac80211]
[27943.460284]  __sta_info_flush+0xf5/0x1b0 [mac80211]
[27943.460293]  ieee80211_set_disassoc+0xba/0x3f0 [mac80211]
[27943.460301]  ieee80211_mgd_deauth+0x27a/0x490 [mac80211]
[27943.460308]  ieee80211_deauth+0x18/0x20 [mac80211]
[27943.460315]  cfg80211_mlme_deauth+0x9f/0x170 [cfg80211]
[27943.460320]  cfg80211_mlme_down+0x6b/0x90 [cfg80211]
[27943.460327]  cfg80211_disconnect+0x19b/0x1b0 [cfg80211]
[27943.460327]  ? console_unlock+0x2b6/0x4b0
[27943.460332]  __cfg80211_leave+0x8d/0x120 [cfg80211]
[27943.460337]  cfg80211_leave+0x2b/0x40 [cfg80211]
[27943.460341]  cfg80211_netdev_notifier_call+0x3d1/0x5e0 [cfg80211]
[27943.460342]  ? sched_clock+0x9/0x10
[27943.460343]  ? sched_clock_cpu+0x99/0xb0
[27943.460344]  ? up+0x32/0x50
[27943.460344]  ? console_unlock+0x2b6/0x4b0
[27943.460345]  ? inetdev_event+0x3d/0x4e0
[27943.460347]  ? skb_dequeue+0x59/0x70
[27943.460347]  notifier_call_chain+0x4a/0x70
[27943.460348]  raw_notifier_call_chain+0x16/0x20
[27943.460349]  call_netdevice_notifiers_info+0x35/0x60
[27943.460349]  __dev_close_many+0x5a/0x100
[27943.460350]  dev_close_many+0x8c/0x130
[27943.460351]  dev_close.part.84+0x4a/0x70
[27943.460351]  dev_close+0x1a/0x20
[27943.460356]  cfg80211_shutdown_all_interfaces+0x49/0xc0 [cfg80211]
[27943.460364]  ieee80211_handle_reconfig_failure+0x98/0xb0 [mac80211]
[27943.460371]  ieee80211_reconfig+0x96/0xf90 [mac80211]
[27943.460376]  ieee80211_restart_work+0x8e/0xc0 [mac80211]
[27943.460377]  process_one_work+0x1fc/0x4b0
[27943.460378]  worker_thread+0x4b/0x500
[27943.460379]  kthread+0x109/0x140
[27943.460380]  ? process_one_work+0x4b0/0x4b0
[27943.460381]  ? kthread_create_on_node+0x60/0x60
[27943.460382]  ret_from_fork+0x2c/0x40
[27943.460382] ---[ end trace a5cee057525e6e0a ]---
[27943.460383] wlp3s0: failed to remove key (0, 48:5d:36:4c:74:d0) from hardware (-5)

我有一个 docker 设置。

sudo ifconfig 

输出:

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 0.0.0.0
        ether 02:42:79:4c:5e:c4  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:1f:c6:9b:fc:5a  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xdc200000-dc220000  

eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 5a:40:4e:50:fd:2b  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1465  bytes 131989 (131.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1465  bytes 131989 (131.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.163  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::9a80:9f11:8d3a:4b05  prefixlen 64  scopeid 0x20<link>
        ether 00:c2:c6:f8:12:f9  txqueuelen 1000  (Ethernet)
        RX packets 66413  bytes 38537866 (38.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 47122  bytes 9560643 (9.5 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlx48ee0c87e138: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.68  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::e883:5e77:b6f4:ea31  prefixlen 64  scopeid 0x20<link>
        ether 48:ee:0c:87:e1:38  txqueuelen 1000  (Ethernet)
        RX packets 12050  bytes 2210239 (2.2 MB)
        RX errors 0  dropped 30  overruns 0  frame 0
        TX packets 580  bytes 150575 (150.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

----2017 年 10 月 17 日更新----

我刚刚找到了一个临时方法。现在我可以手动重置 wifi 而无需重启。我在这个页面上找到了这个方法:https://www.reddit.com/r/archlinux/comments/57jyvt/iw​​lwifi_error_causes_wifi_connectivity_loss_only/

# remove pci device, you might have to change the 03:00.0 part to yours    
sudo echo "1" > /sys/bus/pci/devices/0000:03:00.0/remove   
# rescan pci devices
sudo echo "1" > /sys/bus/pci/rescan                                     

答案1

这不是一个解决方案,但它比每次出现故障时重新启动计算机要好。看看这是否有效:

sudo /etc/init.d/network-manager 重新启动

相关内容