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


如何重启WiFi连接?

, ,

问题描述

我想我没有硬件问题。有时,WiFi连接显然会断开连接。所以这不一定是the same as this case,我可能不需要重新加载任何模块。

但是如何重新启动wlan0?我尝试了restart network-manager,但这似乎只留下了wlan0

最佳解决方法

您只需要重新启动Network Manager

sudo service network-manager restart

次佳解决方法

试试这个:

sudo ifconfig wlan0 down
sudo ifconfig wlan0 up

第三种解决方法

如果你是脚本,这些不需要root:

nmcli networking off 
nmcli networking on

更多信息:man nmcli

编辑:

正如这些家伙在评论中所说,仅适用于WI-FI:

nmcli radio wifi off
nmcli radio wifi on

第四种方法

您可以尝试杀死设备的电源。假设您无法/不愿意物理断开设备,您应该(以root身份)运行:iwconfig wlan0 txpower off。然后,我会等待10-15秒,以确保任何硬件问题导致问题已经停止,然后:iwconfig wlan0 txpower auto

或者,您只需运行rfkill并阻止/取消阻止您的设备即可。为此,请运行rfkill block wifi,然后运行rfkill unblock wifi。第二个选项应该更快,因为您只需要在命令之间等待2-3秒,而不是10-15秒。事实上,在我的机器上,我根本不需要等待,虽然我怀疑这取决于你的WiFi硬件。此选项也可以作为普通用户完成,无需root。

您也可以重新启动NetworkManager。如果使用systemctl作为init系统(与较新版本的Ubuntu一样),则可以使用systemctl restart NetworkManager。否则,您可以使用sudo initctl restart network-manager。如果您不知道您使用的是哪个init系统,请尝试这两个命令并查看哪些有效。

第五种方法

基于先前的链接建议创建了一个脚本,并且有一些混合和放大。先前链接的匹配。这适用于我在Mint Linux 17.3下运行。

以下文件不需要root访问权限。它只有在已经关闭时才重启wifi。现在我只需要将此脚本添加到cron作业,每15分钟左右检查一次我的wifi连接。

#!/bin/bash

wlan=$(/sbin/ifconfig wlan0 | grep inet\ addr | wc -l)
if [ $wlan -eq 0 ]; then
nmcli nm wifi on
else
echo "interface is up"
fi

参考资料

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