长时间暂停后重置 WiFi

长时间暂停后重置 WiFi
  *-network               
       description: Wireless interface
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlp2s0
       version: 99
       serial: e0:94:67:f7:76:73
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=4.4.0-93-generic firmware=17.352738.0 latency=0 link=yes multicast=yes wireless=IEEE 802.11abgn
       resources: irq:330 memory:d2200000-d2201fff

Ubuntu 16.04 显示所有可用的 wifi 网络。突然,没有网络显示出来。我执行了 sudo network-manager service restart,偶尔会成功。

有人能帮我永久解决问题吗?谢谢

答案1

长时间暂停后重置 WiFi

几个月前,我们中的一些人发现,如果笔记本电脑长时间挂起(+2 小时 IIRC),网卡(以太网)和 wifi 卡将无法重新连接。在此之前的 8 个月里,挂起和恢复运行正常。

此脚本是为 iwlwifi` 编写的,这是常见的英特尔驱动程序名称。如果您的名称不同,请在下面更改该名称:

#!/bin/sh

# NAME: /lib/systemd/system-sleep/iwlwifi-reset
# DESC: Resets Intel WiFi which can be flakey after a long suspend.
# DATE: Apr 1, 2017. Modified August 30, 2017.

MYNAME=$0

exit

restart_wifi() {
    /usr/bin/logger $MYNAME 'restart_wifi BEGIN'
    /sbin/modprobe -v -r iwldvm # This removes iwlwifi too
    /sbin/modprobe -v iwlwifi   # This starts iwldvm too
#    systemctl restart NetworkManager.service
    /usr/bin/logger 'systemctl restart NetworkManager.service (SUPPRESSED)'
    /usr/bin/logger $MYNAME 'restart_wifi END'
}

/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
    hibernate|suspend|pre*)
      ;;
    resume|thaw|post*)
      restart_wifi;;
esac

笔记:有时只需重置网络管理器即可。在这种情况下,通过删除 取消注释上面的行。然后通过在这两行的开头#添加 来注释掉上面的两行。#

您需要创建名为 的脚本iwlwifi-reset,并sudo赋予其权限,然后将其保存到目录 中/lib/systemd/system-sleep。然后使用以下命令将其标记为可执行文件:

chmod a+x /lib/systemd/system-sleep/iwlwifi-reset

相关内容