我的网卡存在性能问题 - 互联网在一段时间后消失,而 wifi 连接级别却没有改变。重新连接到同一个 Wi-Fi 热点可以解决此问题。
我想编写一个解决方法脚本,持续检查互联网连接(例如,每 10 秒检查一次),如果它消失,脚本会重新连接 Wi-Fi。我想使用,但它的手册说在自动化脚本中ping
使用它是不明智的。ping
$ uname -a
Linux NS-COMP 4.11.0-13-generic #19~16.04.1-Ubuntu SMP Wed Aug 2 20:06:21 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ lspci -knn | grep Net -A2
03:00.0 Network controller [0280]: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe [1814:3290]
Subsystem: Foxconn International, Inc. RT3290 Wireless 802.11n 1T/1R PCIe [105b:e055]
Kernel driver in use: rt2860
答案1
wifi老是断线的原因:
根据Debian 文档您应该使用rt2800pci
而不是rt2860
当前加载的。无需执行重新连接脚本即可解决您的问题。
bash 脚本示例
如果您需要在断开 wifi 连接时运行 bash 脚本进行连接(重新加载内核模块+重新连接),这是一个示例 bash 脚本reconnect
:
#!/bash/bash
if ! [ "$(ping -c1 8.8.8.8)" ]
then
modprobe -r rt2860
modprobe rt2800pci
ip link set wlan0 down
ip link set wlan0 up
fi
reconnect
每 10 秒运行一次脚本:
while true ; do ./reconnect & sleep 10 ; done &
如果几个小时后 wifi 掉线,最好创建一个 cron 作业每 1 小时运行一个脚本:这里有一些例子