当前位置: 首页>>技术教程>>正文


Wifi在16.04升级后暂停后不工作

, , , ,

问题描述

升级到16.04后,这个特定版本的“暂停后不工作”。看起来升级包括一个Wicd小程序(与常规网络图标一起添加到Metacity Classic Gnome任务栏),但在暂停后似乎不起作用。 sudo service network-manager restart重复此问题。需要完全重新启动才能让Wifi再次启动。任何想法为什么?

最佳解决思路

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

希望这可以帮助。它适用于我的笔记本电脑。

次佳解决思路

与联想X230一样。每次暂停后都不会发生,但有时会发生。

sudo systemctl restart network-manager.service 

修复了这个问题。

第三种解决思路

在auto-restart NetworkManager在没有sudo访问的环境中恢复后,在/etc/pm/sleep.d(任何名称)中创建一个脚本,通过chmod +x设置可执行位,并插入以下内容:

case "${1}" in
    resume|thaw)
        # systemctl restart network-manager.service
        service NetworkManager restart
;;
esac

对我而言,service生产线可以工作,但systemctl可能对您更好。

来源:https://askubuntu.com/a/92235/30266

第四种思路

@ 147pm你有没有得到这个工作?

我发现我有一个非常类似的问题,虽然我在Kubuntu 16.10(KDE-based,而不是Gnome)上,并且使用HP ProBook笔记本电脑。而且,不像你自己,它不是我的Wifi,它在暂停/唤醒后死亡,而是我的以太网端口。不过,我想知道他们是否有关系。

我也看到你在KDE下没有问题。但我有兴趣知道下面的解决方案是否有助于Gnome,因为解决方案不是基于窗口管理器,桌面环境或小程序。

首先,确认重新启动网络管理器服务。

$ sudo systemctl restart network-manager.service

没有为我工作。

但是,我确实找到了一个可行的答案,这要感谢buzhidao在can’t connect to internet after suspend和GAD3R在那里的评论。

使用他们的信息,我发现首先研究我正在运行哪个以太网硬件和驱动程序/模块,然后删除和re-installing模块,确实为我工作(尽管它不适用于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

所以我re-installed ‘r8169’驱动程序:

$ sudo rmmod r8169 && sudo modprobe r8169

瞧!这工作。我的以太网端口/连接恢复活动(暂停/唤醒后),无需重新启动。

(我也没有Realtek wifi设备,但是是Qualcomm Atheros(mod:ath9k),这也许可以解释为什么wifi在wake-from-suspend后继续工作。)

正如你可以从我对另一篇文章的评论中看到的那样,我想知道这个问题是否是Buzhidao和我之间的共同元素:Realtek半导体器件。即使他们使用不同的模块,他们可能会共享一些通用代码?或者甚至现在以某种方式被新的内核代码区别对待?

你自己有一个Realtek-based wifi设备? (使用上面的lspci)?你有没有运气re-installing模块(rmmod /modprobe上面)?

无论如何,只是在黑暗中的一枪。如果您为自己找到了最终答案,请告诉我们!谢谢。

第五种思路

对我来说,它似乎是随机的,但有时无线连接只是断开,如果我连接,或不显示网络,如果我不是。有时将笔记本电脑置于睡眠模式似乎会触发它,但并非总是如此。

这些组合通常会在不重新启动的情况下重新启动:

  • sudo iwlist $(ifconfig | grep -Po '^w\w+') scan

  • sudo service network-manager stop; sleep 5; sudo service network-manager start

    • 在这里简单地调用restart似乎从来没有为我工作。它看起来像在它关闭之前尝试启动它,因此我有更多的运气在stopstart之间暂停。

  • 在UI中关闭wifi;等几秒钟;重新打开它

这些似乎没有一贯的工作,但我列出他们按most-likely-to顺序第一。

第六种思路

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/403.html,未经允许,请勿转载。