NetworkManagerが自動的に永久に再接続を試みるように強制する方法(Linux Wi-Fi)は何ですか?

NetworkManagerが自動的に永久に再接続を試みるように強制する方法(Linux Wi-Fi)は何ですか?

ネットワーク管理者にどのように通知できますか?Wi-Fi ネットワークに引き続き再接続してみてください。永遠に

私が制御できないパブリックWiFiアクセスポイントでインターネットを使用しようとしています。なぜなのかわかりませんが、ネットワークの状態が悪いです。接続すると数時間正常に動作します。ただし、最終的に接続するまでに数十から数百の接続を試みる必要があります。

NetworkManager[565]: <info>  [1705593163.7081] device (wls6f0): Activation: starting connection 'MA:CA:DD:RE:SS_OBFUSCATED' (uuid_obfuscated)
...
NetworkManager[565]: <info>  [1705593186.8841] manager: NetworkManager state is now CONNECTING
...
NetworkManager[565]: <info>  [1705593186.8968] device (wls6f0): Activation: (wifi) connection 'SSID_OBFUSCATED 1' has security, and secrets exist.  No new secrets needed.
...
NetworkManager[565]: <info>  [1705593186.9172] device (wls6f0): supplicant interface state: disconnected -> scanning
NetworkManager[565]: <info>  [1705593186.9175] device (p2p-dev-wls6f0): supplicant management interface state: disconnected -> scanning
NetworkManager[565]: <info>  [1705593188.0184] device (wls6f0): supplicant interface state: scanning -> authenticating
NetworkManager[565]: <info>  [1705593188.0187] device (p2p-dev-wls6f0): supplicant management interface state: scanning -> authenticating
NetworkManager[565]: <info>  [1705593191.0121] device (wls6f0): supplicant interface state: authenticating -> disconnected
NetworkManager[565]: <info>  [1705593191.0122] device (p2p-dev-wls6f0): supplicant management interface state: authenticating -> disconnected
NetworkManager[565]: <info>  [1705593201.0140] device (wls6f0): supplicant interface state: disconnected -> scanning
NetworkManager[565]: <info>  [1705593201.0144] device (p2p-dev-wls6f0): supplicant management interface state: disconnected -> scanning
NetworkManager[565]: <info>  [1705593201.0592] device (wls6f0): supplicant interface state: scanning -> authenticating
NetworkManager[565]: <info>  [1705593201.0594] device (p2p-dev-wls6f0): supplicant management interface state: scanning -> authenticating
NetworkManager[565]: <info>  [1705593204.0095] device (wls6f0): supplicant interface state: authenticating -> disconnected
NetworkManager[565]: <info>  [1705593204.0098] device (p2p-dev-wls6f0): supplicant management interface state: authenticating -> disconnected
NetworkManager[565]: <warn>  [1705593212.1450] device (wls6f0): Activation: (wifi) association took too long, failing activation

残念ながら、接続が失敗した後、NetworkManagerは試行を停止します。コンピュータの前に座ってタイムアウトを待ってから、アイコンをクリックしてSSIDを手動で選択する必要があるため、これはとんでもないことです。続けて。今朝一時間この仕事をしなければなりませんでした。コンピュータは仕事を自動化する必要はありませんか?ちょうどクリックボットに変身しました。

私が望むのは、「これにつながる」と言った後、出てランチを食べることができることです。この時点で、NetworkManagerは[a]に接続するか[b]時間が経過するまで接続を継続しようとします。 。ランチを食べるためにコンピュータを離れることができ、戻ってきたときに接続されていることを確認できなければなりません。 (現在接続しようとするとコンピュータに戻り、NetworkManagerがアイドル状態で「放棄」を実現しました。」

NetworkManagerが最終的に接続されるまで、同じWi-Fiネットワークに継続的に(永久に)接続を試みるように指示して、このプロセスを自動化するにはどうすればよいですか。

ベストアンサー1

あまりにも怠惰な状態で継続して試みるようにネットワーク管理者を設定する方法はわかりませんが、ネットワーク管理者を監視して機能し続けるスクリプトを作成する方法はわかっています。

#!/bin/bash
set -x

IF_DEV="wls6f0"

while true; do
    date
    state=$(nmcli device status | grep "${IF_DEV} " | head -n1 | awk '{print $3}')
    if [[ "$state" == "disconnected" ]]; then
        echo "INFO: Caught NM sitting idle. Forcing it to try to reconnect again!";
        sudo nmcli device connect "${IF_DEV}"
    fi
    sleep 1;
    echo;
done

上記のスクリプトは、実行時にインターフェイス$IF_DEVデバイス(で設定)が接続されていることを確認する簡単なハックです。

状態がある場合は、disconnectedネットワーク管理者に接続を試みるように指示します(デフォルトは、以前に接続されたネットワークに接続しようとすることです)。

connectingそうでない場合(たとえば、状態の場合connected)、1秒待ってからもう一度確認してください。

おすすめ記事