我的台式机型号是 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/iwlwifi_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 重新启动