Linux 的 Wifi 斷線自動連線 Script

Linux 在 Xwindow 開著電腦,有時候 Wifi 會自動斷線,要怎麼自動重新連線?

Linux 的 Wifi 斷線自動連線 Script

一般 Wifi 斷線,最常見的就是網卡進入省電模式,然後另一個就是靠程式自動做重新連線了~

讓 Wifi 網卡不進入省電模式

  1. cat /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
    • 預設值 3
    • NetworkManager supports WiFi powersaving but the function is rather undocumented.
    • From the source code: wifi.powersave can have the following value:
    • NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0): use the default value
    • NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1): don't touch existing setting
    • NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2): disable powersave
    • NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3): enable powersave
  2. vim /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
    • 將 wifi.powersave = 3
    • 改成 wifi.powersave = 2
  3. 這樣子就完成

寫自動重新連線的 Script

註:下述程式的兩個 wlan0,請自行換成 Wifi 網卡的代號

  1. vim wifi-reconnct.sh
    1. #!/bin/bash
    2. while true
    3. do
    4. i=$(cat /sys/class/net/wlan0/carrier)
    5. if test "$i" = 1
    6. then
    7. true
    8. # echo `date` " connected"
    9. else
    10. echo `date` " reconnecting"
    11. nmcli c down WIFI-AP-SSID
    12. nmcli c up WIFI-AP-SSID
    13. # systemctl restart networking.service
    14. # dhclient wlan0
    15. echo `date` " reconnected successfully"
    16. fi
    17. sleep 2
    18. done
  2. chmod +x ./wifi-reconnect.sh
  3. 有需要就將此程式加入 Cron 或 SystemCtl 進入背景執行

註:最後主要是靠後面這 Script 自動連線解決~

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料