0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ラズパイのWiFi接続が切れる

Posted at

ラズパイ(Raspberry Pi Zero W)とWiFiの接続が定期的に切れる問題に対する対処法です。
ググるとifconfig wlan0 upをする方法Power Managementを変更する方法が出てきますが、私の場合はこれでは解決に至りませんでした。。

対処法

reconnect_wifi.sh
#!/bin/bash
# pingの宛先(192.168.0.1)は環境に合わせてください
ping -c 1 192.168.0.1>/dev/null
if [[ $? -ne 0 ]]; then
    # GUIによるWiFiのON/OFFの操作に該当するコマンド
    sudo rfkill block wifi
    sleep 5
    sudo rfkill unblock wifi
fi

上記シェルスクリプトをcronで毎分実行させます。

設定コマンド例
# クーロンの編集
crontab -e

# 以下の設定を記載する(...はファイルへのパス)
* * * * * /.../reconnect_wifi.sh

この方法(クーロンで毎分起動する方法)だと最大1分程度接続が切れたまま放置されてしまうので、while文で任意の秒数ごとに監視するスクリプトに変更するなどしても良いと思います。その場合、ラズパイの電源を入れたタイミングで自動起動する様にサービス化などをすると良いと思います。(今回はサービス化などが面倒だったのでクーロンを使いました。)

やってること

pingでルーターに向けて疎通を確認し、繋がらない場合はrfkillコマンドでWiFiの落とし上げを行なっています。
rfkillコマンドによる処理は、ラズパイ内でWiFiをOFF → ONする操作に該当します。(下記画像内のTrun Off Wi-Fiをクリックする操作)
image.png
(画像: https://zenn.dev/chantakan/articles/babdd4a884df8c)

私が検証した際にifconfig wlan0 upなどでは接続が戻りませんでしたが、ラズパイ内でWiFiの落とし上げを行うと繋がる様になりました。そのため、ラズパイ内のGUIで行っている処理に該当するコマンドを探して実装した次第です。

最後に

ラズパイは初期セットアップが終わるとssh接続で使うことが多いかと思います。そうした際に接続が切れていて電源の落とし上げが必要になるのは非常に不便です。
なぜ接続が切れてしまうのか?という点は正直よく分かりませんが、上記回避策によって「繋がらない!」と感じることは無くなりました。

本記事が少しでも参考になれば幸いです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?