自动方法

自动方法

当我唤醒挂起一段时间的笔记本电脑时,WiFi 信号被上下箭头取代。连接仍然有效,但仍然很烦人。重新启动网络管理器有效,但只是暂时的解决办法。

我从某处读到,这可能是因为连接被重命名,从而导致它认为我是通过以太网而不是 WiFi 连接的?

我怎样才能解决这个问题?

编辑:我注意到打开/关闭 WiFi 后偶尔也会发生这种情况。

答案1

自动方法

使用 sudo powers 创建包含以下内容的文件/lib/systemd/system-sleep/iwlwifi-reset

#!/bin/sh

# NAME: /lib/systemd/system-sleep/iwlwifi-reset
# DESC: Resets Intel WiFi after a long suspend.
# DATE: Apr 1, 2017. Modified April 8, 2017.

# NOTE: Per AU comment restart network.

MYNAME=$0

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 $MYNAME 'restart_wifi END'
}

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

使用以下方法将脚本标记为可执行:

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

要从挂起状态唤醒后检查脚本的执行情况,请使用:

cat /var/log/syslog | grep iwlwifi

如果它在测试期间似乎有效,请不要太兴奋,因为有时这个脚本在短暂停顿后有效,但在长时间暂停后不起作用。

如果这不起作用,在尝试手动方法在下一部分中,将命令放在sleep 5行之前restart_wifi;;

手动方法

如果自动方法不起作用,请使用 sudo powers 创建/usr/local/bin/iwlwifi-reset包含以下内容的脚本:

#!/bin/sh

# NAME: /usr/lib/bin/iwlwifi-reset
# DESC: Manually reset Intel WiFi.
# DATE: Apr 1, 2017. Modified April 8, 2017.
# NOTE: Must call using SUDO POWERS.

MYNAME=$0

/usr/bin/logger $MYNAME 'restart_wifi BEGIN'
# modprobe -r iwldvm    # This removes iwlwifi too
# modprobe iwlwifi      # This starts iwldvm too
systemctl restart NetworkManager.service
/usr/bin/logger $MYNAME 'restart_wifi END'

使用以下方法将脚本标记为可执行:

sudo chmod a+x /usr/local/bin/iwlwifi-reset

如上一节所述,您可以检查/var/log/syslog在运行此脚本时查看消息,但无论如何您都会在终端中看到任何错误消息。

要调用此脚本,请使用:

sudo iwlwifi-reset

您不需要指定目录,因为/usr/local/bin它位于终端的命令搜索路径中。


编辑于 2017 年 4 月 8 日根据 OP 评论和本操作指南,对脚本进行了修改。不再删除并重新插入内核模块,而是使用重新启动网络服务。

答案2

我的 HP pavilon G6 也遇到了这个问题,直到我买了一个新的 USB 适配器并插入后,它才真正启动。经过一番搜索,我发现使用了错误的驱动程序,因此我安装了正确的驱动程序 (Ralink),然后就解决了。您没有提到您有第二个适配器,但也许检查 modprobe 返回的内容会有所帮助。

我是从这个帖子的最后一个答案中得到了这个想法:升级到 16.04 后 Wifi 挂起后无法使用

相关内容