半年ほど前(2020/08以降)だと思うのですが、wifiでぶら下げていたRaspberry pi 3Bの接続が不安定に陥っていました。
一度安定させるためにいろいろ(ifup/downとかip link set wlan0 up/down)とやってみたのですが、結局sudo rebootしか解決策がなくcrontabでpingで接続してなかったら再起動させるスクリプトでお茶を濁していました。
そのうちそれでも再接続されなくなってしまったので、コンソールから直接様子を見ることにしました。ディスプレイがないのでプロジェクタで接続して画面表示させて結構強引にw
接続されていない状態で、一定時間でリセットがかかっているのは確認できたのですが、問題は再起動後も完全に接続できなくなっているということ。
まずはいろいろとみていると、
sudo iwlist wlan0 scan | grep ESSID
で表示されていたのでifconfigしてみると無線接続がされていない。なので
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
で確認してもこれと言って間違ってそうな箇所もなく終了し、再起動を何度か繰り返していました。そのうちiwlistを表示させてみると、
wlan0 Interface doesn't support scanning : Network is down
と表示されました。そんな時は
sudo ip link set wlan0 up
とすればインタフェースが起動されiwlistが動くようになりますが、wifiは接続されず。
悩みに悩んだ末、wpa_supplicant.confの書き直しを本格的に行ってみました。
まずは、順序を入れ替えてみましたが、変化なし。さらに誤入力されてそうな記号系や単語の再入力を行ってみたが、変化なし。
途方に暮れながらnetwork={}内のコメントの削除を行ってみても変化なし。インデントのtabを削除してみると…接続するように。まじかw
どうやらインデントtabはダメみたいですね。てか、どこかでnetwork={}を無視してessidとpskとか直接見るようになっちゃってるんじゃないかな?
まぁそんなわけでようやくまともに接続するようになりました。
プロジェクタの解像度が低いのでHDMI接続中に再起動がかかると、高解像度に移行してしまうので、sudo nano /boot/config.txtで表示モードをVGAにさせるようにコメントを外したりプロジェクタがHDMIの信号のでリセットされないようにしたりと変なところまでいじってましたw
まぁこれであとは無線が途切れた時のために、crontabで再起動させてた部分をインタフェースのup/downかwpa_cli -i wlan0 reconfigureさせれば大丈夫なのかな?→全然ダメっぽかった…再起動しかないかもw