升级到16.04之后,出现了“暂停后不起作用”的特定版本。升级似乎包括一个Wicd小程序(已添加到常规网络图标旁边的Metacity Classic Gnome任务栏中),但挂起后似乎不起作用。一个sudo service network-manager restart
重复这个问题。需要完全重新启动才能使Wifi再次运行。有什么想法吗?
升级到16.04之后,出现了“暂停后不起作用”的特定版本。升级似乎包括一个Wicd小程序(已添加到常规网络图标旁边的Metacity Classic Gnome任务栏中),但挂起后似乎不起作用。一个sudo service network-manager restart
重复这个问题。需要完全重新启动才能使Wifi再次运行。有什么想法吗?
Answers:
16.04在systemd上运行。请尝试以下操作:
sudo systemctl restart network-manager.service
如果可行,您可以创建一个脚本来使其自动化。
打开一个终端并输入以下内容:
sudo nano /etc/systemd/system/wifi-resume.service
现在,右键单击将脚本粘贴到那里。使用CTRL + X退出,然后按Y保存。现在激活它:sudo systemctl enable wifi-resume.service
脚本:
#/etc/systemd/system/wifi-resume.service
#sudo systemctl enable wifi-resume.service
[Unit]
Description=Restart networkmanager at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target
[Service]
Type=oneshot
ExecStart=/bin/systemctl restart network-manager.service
[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target
希望这可以帮助。它可以在我的笔记本电脑上使用。
@ 147pm您曾经做过这项工作吗?
我发现我有一个非常相似的问题,尽管我使用的是Kubuntu 16.10(基于KDE,而不是Gnome),并且使用的是HP ProBook笔记本电脑。而且,与您不同,不是我的Wifi在挂起/唤醒后死了,而是我的以太网端口。不过,我想知道它们是否相关。
我也确实看到您在KDE下没有问题。但是,我想知道以下解决方案是否对Gnome有帮助,因为该解决方案不是基于窗口管理器,桌面环境或applet。
首先,只是要确认重新启动网络管理器服务。
$ sudo systemctl restart network-manager.service
没有为我工作。
但是,由于buzhidao的问题和信息在暂停后无法连接到Internet,并且GAD3R的评论在那里,所以我确实找到了一个可行的答案。
使用他们的信息,我发现首先研究我正在运行的以太网硬件和驱动程序/模块,然后删除并重新加载该模块,对我来说确实有用(尽管对于buzhidao而言却没有):
无线上网:
$ lspci -knn | grep Net -A2
以太网:
$ lspci -knn | grep Ether -A2
其中的第二个(以太网)是我使用的,我发现:
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c)
Subsystem: Hewlett-Packard Company RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [103c:1944]
Kernel driver in use: r8169
Kernel modules: r8169
所以我重新加载了“ r8169”驱动程序:
$ sudo rmmod r8169 && sudo modprobe r8169
和瞧!这工作了。我的以太网端口/连接恢复了活动状态(挂起/唤醒后),而无需重新启动。
(我也没有Realtek wifi设备,但有Qualcomm Atheros(型号:ath9k),这也许可以解释为什么wifi在暂停唤醒后继续为我工作。)
从我对另一篇文章的评论中可以看到,我想知道问题是否是Buzhidao和我本人之间的共同点:Realtek半导体器件。即使它们使用不同的模块,它们是否可能共享一些通用代码?还是现在以某种方式被较新的内核代码以不同的方式对待?
您自己是否有基于Realtek的wifi设备?(在上面使用lspci)?您是否有运气重新安装模块(上面的rmmod / modprobe)?
无论如何,只是在黑暗中开了一枪。如果您最终找到了答案,请告诉我们!谢谢。
sudo rmmod r8169 && sudo modprobe r8169
解决了该问题。
sudo rmmod r8169 && sudo modprobe r81691
最后为我解决了该问题。在内核版本4.16之前没有此问题。(*带有GNOME,内核4.16和Realtek专有固件的 Debian 10 )
要在无sudo
访问权限的环境中恢复后自动重启NetworkManager ,请在/etc/pm/sleep.d
(任何名称)中创建一个脚本,通过设置可执行位chmod +x
,并插入以下内容:
case "${1}" in
resume|thaw)
# systemctl restart network-manager.service
service NetworkManager restart
;;
esac
对我来说,这service
条线有效,但systemctl
对您来说可能会更好。
service NetworkManager restart
对我有用,但是脚本的放置没有(在16.04上)。我不得不将脚本移到/lib/systemd/system-sleep/script-name-here
。在这种情况下,脚本的第一个参数是[pre | post]
,因此我不得不将case语句更改为case "${1}" in ... post) ...
。我还将内部声明包装在中case "${2}" in ... suspend) ...
。
/lib/systemd/system-sleep/
15.04+
对我来说,这似乎是随机的,但是有时候如果我连接了wifi,它就会断开连接,或者如果我没有连接,它就不会显示网络。有时让我的笔记本电脑进入睡眠模式似乎可以触发它,但并非总是如此。
这些组合通常会使它再次运行而无需重新启动:
sudo iwlist $(ifconfig | grep -Po '^w\w+') scan
sudo service network-manager stop; sleep 5; sudo service network-manager start
restart
到这里似乎对我没有用。看起来它在关闭它之前尝试启动它,因此我在stop
和之间有更多的停顿机会start
。这些似乎都不能始终如一地工作,但是我以最有可能成功的顺序列出了它们。
在Ubuntu 16.04上的工作方法:
创建服务: sudo nano /lib/systemd/system/wifi-resume.service
服务正在从以下位置调用程序:
/etc/init.d/network-manager
粘贴代码:
#/lib/systemd/system/wifi-resume.service
#sudo systemctl enable wifi-resume.service
[Unit]
Description=Restart network-manager at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target
[Service]
Type=oneshot
ExecStart=/bin/systemctl restart network-manager
[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target
然后启用该服务:
sudo systemctl enable /lib/systemd/system/wifi-resume.service
这将创建符号链接到/ etc / systemd / system的指示的[Install]目录中,并激活服务
之后,您可以使用以下方法检查状态: systemctl status wifi-resume.service
蓝牙存在相同的问题:挂起后,蓝牙鼠标不起作用。因此,我从上面得出了解决方案:
sudo nano /etc/systemd/system/bluetooth-resume.service
启用新服务
sudo systemctl enable bluetooth-resume.service
并编辑了服务
#/etc/systemd/system/bluetooth-resume.service
#sudo systemctl enable bluetooth-resume.service
[Unit]
Description=Restart bluethooth at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target
[Service]
Type=oneshot
ExecStart=/bin/systemctl restart bluetooth.service
[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target
我也尝试编辑...
sudo nano /etc/bluetooth/main.conf
并改变了
AutoEnable=true
但是,这对于“恢复问题”不起作用,并且对新的蓝牙设备也没有任何影响!
我在装有Ubuntu 16.04的笔记本电脑Dell Inspiron 15R上遇到了相同的问题。对我来说,工作是在第二个答复中报告的脚本。
安装完脚本后,我尝试使用右上角菜单中的命令进行悬架,甚至合上嘴唇,从而解决了问题。
我不得不说问题是行为交替发生的(也就是说,有时在安装脚本之前就可以解决)。