恢复时 wifi 仍处于睡眠状态

恢复时 wifi 仍处于睡眠状态

当我将桌面置于休眠状态,然后将其放回时,wifi 消失了。这与描述的问题类似 这里。但要修复它,您必须运行命令sudo nmcli nm sleep false。但这个nm东西不再起作用了。它已从 nmcli 中删除(Describe这里)那么你能做什么来解决这个问题呢?

我正在使用 ubuntu gnome 4.2

答案1

请打开终端并执行:

gksudo gedit  /etc/systemd/system/wifi-resume.service

如果您没有文本编辑器 gedit,请使用 nano 或 kate 或 leafpad。将打开一个新的空文件。添加以下内容:

[Unit]
Description=Local system resume actions
After=suspend.target

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart network-manager.service

[Install]
WantedBy=suspend.target

仔细校对两遍,保存并关闭文本编辑器。

现在做:

sudo chmod +x  /etc/systemd/system/wifi-resume.service

接下来:

sudo systemctl enable wifi-resume.service

我建议你重启一下。测试一下,然后让我们听听你的报告。

答案2

另一个解决方案类似于 Tristan T 在问题中引用的 nmcli(没有 nm,正如 Tristan 提到的,它不再是一种选择):

nmcli radio wifi on

我用了奥维斯·隆回答类似问题启用我的笔记本电脑(Dell Precision)16.04 LTS 版本挂起后自动恢复 wifi 的功能。

我创建了 /etc/pm/sleep.d/10_resume_wifi

#!/bin/sh

case "${1}" in
    resume|thaw)
      nmcli radio wifi off && nmcli radio wifi on;;
esac

然后sudo chmod +x /etc/pm/sleep.d/10_resume_wifi使该文件可执行。

如果你像我一样对双分号或单括号感到疑惑,请参阅http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_03.html—— 这就是 case 语法的工作方式。

答案3

对我来说有效

#!/bin/sh

case $1 in
    resume|thaw)
      nmcli radio wifi off && nmcli radio wifi on;;
esac

然后是 sudo chmod +x /etc/pm/sleep.d/10_resume_wifi

如果第一次失败,用户还可以尝试。

#!/bin/sh

case $1 in
    post|resume|thaw)
      nmcli radio wifi off && nmcli radio wifi on;;
esac 

答案4

本主题中接受的答案对我不起作用,其他任何替代解决方案也不起作用。我必须添加以下服务文件作为/etc/systemd/system/wifi-resume.service

[Unit]
Description=Restart Network Manager at resume (after suspend)
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target
[Service]
Type=oneshot
# note: the following also unloads iwlwifi
ExecStart=/usr/sbin/modprobe -r iwldvm
# note: the following also loads iwldvm
ExecStart=/usr/sbin/modprobe iwlwifi
[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

然后启用sudo systemctl enable wifi-resume.service

作为测试上述内容时的备份,我创建了一个包含以下内容的 bash 脚本

#!/bin/bash
echo {MY_PASSWORD} | sudo -S modprobe -r iwldvm
echo {MY_PASSWORD} | sudo -S modprobe iwlwifi
echo {MY_PASSWORD} | sudo -S service network-manager restart
notify-send "Wifi: reloaded."
exit

并将其与自定义键盘快捷键绑定。

相关内容