ラズパイ(raspberry pi)がwifiに繋がらないときの簡単な復旧方法
ラズパイ3がwifiに接続できない状況となりました。その状況と、原因よりも復活するための方策を述べています。
実は、ニュースを喋らせているラズパイ3が、ニュースを喋ってくれない事態に陥ってしまったことに、最近気づきました。
ニュースの代わりに、「残念ですがニュースが取得出来ませんでした。」みたいなことを喋ってくれます。
そこで、ニュースを喋るプログラムを調べたところ、NHKニュースのXMLを取得できないときに、この内容を喋ることがわかりました。
wifiと繋がらない
そこで、sshでこのラズパイに接続しようとしましたが、接続できない状態です。
ここで、ことの重大さに気が付きました。
このマシンは、ブログのバックアップマシンを兼ねているので事態は深刻です。
早々、マシン切り替え機の2番に、このラズパイ3をつないで内容を確認してみました。
一応、Xの画面は立ち上がりました。そこで、ifconfigを入力した結果(wifi)がこれです。
wlan0 Link encap:イーサネット ハードウェアアドレス b8:27:eb:85:08:38
inetアドレス:169.254.118.64 ブロードキャスト:169.254.255.255 マスク:255.255.0.0
60爺のネットワークは、192.168.XXX.nnnのはずなのに、まるで違うIPアドレスが付加されています。
ということは、このラズパイ3は、60爺の指定したDHCPに入っていないことになります。
対策
このような場合の対策です。
- 再起動
- ラズパイのシャットダウン
- ルータの電源入れ直し
- 固定IPアドレスの設定
1.か2.の方法で大体治るんですが、それらの方法で解決しない場合は、思い切って、4.でIPアドレスを固定化してしまいましょう。固定IPアドレスにすれば、wifi に繋がらなくなることはまずありません。
再起動
ラズパイを reboot すると元に戻る可能性があります。早速やってみましょう。
sudo reboot
ラズパイが立ち上ったら、再度、ifconfigを入力してみてみましょう。
wlan0 Link encap:イーサネット ハードウェアアドレス b8:27:eb:85:08:38
inetアドレス:169.254.118.64 ブロードキャスト:169.254.255.255 マスク:255.255.0.0
ガーン!変化なしです。
ラズパイのシャットダウン
次はラズパイをシャットダウンする方法です。次のコマンドで、ラズパイをシャットダウンします。
sudo shutdown -h now
電源が落ちた後、起動してみましょう。
ラズパイが立ち上ったら、再度、ifconfigを入力してみてみましょう。
しかし、状況は変わりませんね。
wlan0 Link encap:イーサネット ハードウェアアドレス b8:27:eb:85:08:38
inetアドレス:169.254.118.64 ブロードキャスト:169.254.255.255 マスク:255.255.0.0
今回、60爺は、電源断の後、すぐに電源を入れなおしたのですが、少し放置しておくといいようです。
シャットダウンした後、10分ほど放置してみましょう。そうすると、高い確率で wifi に接続できます。
ルータの電源断
reboot も shutdown も効かないときは、ルータを疑ってみましょう。
実際、60爺の wifi は時々スマホとの接続が切れてしまい、ルータの電源断を行ったのち、再度電源を入れなおすと スマホでは、ほぼ100% wifi が復活しています。
ですので、ルータの電源を切った後、再度電源を入れて wifi が復活するか見てみましょう。
固定IPアドレスの設定
reboot も shutdown 及びルータの電源入れ直しも効果がないときは、IPアドレスを固定化してしまいましょう。こうすると、ほぼ間違いなく wifi に接続できます。
固定IPアドレスの確認
固定IPアドレスを何にするのかを確認します。確認するにはLANの設定を確認する必要があり、ルータにログインすることが必要です。
ブラウザに「192.168.1.1」と打って Enter します(60爺の場合は、ルータのアドレスを変えているので、ご覧のアドレスになります)。
ルータのログイン画面が表示されます。ルータによって画面デザインは違います。
ユーザ名、パスワードを入力してログインします。
ルータの画面が表示されまので、LAN 設定画面に行ってください。60爺のルータ F660A では、ネットワーク>LAN でした。
LAN の画面が表示されます。IPv4 管理画面に行きます。
この画面にある「DHCPを有効にする」にチェックを入れ、DHCPプール開始IPアドレスとDHCPプール終了IPアドレスをセットします。
ここで設定した IPアドレス(上記の例では、192.168.254.200 から 192.168.254.254 の 55個のアドレス)が LAN に入ってくるスマホやタブレット及びパソコンなどに自動的に設定されます。
そして、ここに含まれない 192.168.254.2 から 192.168.254.199 までの 198個のアドレスを固定IPアドレスとして使用することになります。
dhcpcd.conf 編集
RaspberryPi のIPアドレスを固定IPアドレスにするには、次のファイルに設定を行います。
/etc/dhcpcd.conf
設定内容は以下の4行です。これを、最終行に追加して下さい。
interface wlan0
static ip_address=192.168.XXX.YYY/24
static routers=192.168.XXX.1
static domain_name_servers=192.168.XXX.ZZZ
- 1行目で、固定IPの指定を表わします。今回は、wifi なので wlan0 と設定します。もし、有線LANで行うなら、この部分を eth0 と指定します。
- 2行目で、IPアドレス(/24は必須)を指定します(上記の例だと YYY には 2~199)。
- 3行目で、デフォルトゲートウェイ即ちルータのIPアドレスを指定します。普通は最後が1です。皆さんの環境に合わせてください。
- 4行目は、DNSサーバです。60爺は、別途、DNSサーバを設けていますので、そのIPアドレスを指定しました。何もやっていない場合は、3行目で指定したルータのIPアドレスと同じです。
IPアドレスの確認
dhcpcd.conf の編集が終了したら、以下のコマンドでラズパイを立ち上げ直してIPアドレスを確認しましょう。
sudo reboot
ifconfig でIPアドレスの内容を確認します。
wlan0: flags=4163 mtu 1500
inet 192.168.XXX.YYY netmask 255.255.255.0 broadcast 192.168.XXX.255
inet6 240d:1a:1ef:7d00:352:e707:bc6f:d17f prefixlen 64 scopeid 0x0
inet6 fe80::1a61:35bb:64eb:347e prefixlen 64 scopeid 0x20
ether b8:27:eb:d4:cb:98 txqueuelen 1000 (イーサネット)
RX packets 496478 bytes 25050366 (23.8 MiB)
RX errors 0 dropped 31 overruns 0 frame 0
TX packets 14244 bytes 1949301 (1.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0 の2行目にある inet にある数値が先ほど編集した値になっていればIPアドレスの固定化は成功です。
今回は問題なく設定できました。
最後に
ラズパイ3がwifiに接続できない状況となった場合に、どう復元させるかを主体に記事にしました。4つの対応策を示しましたが復旧できましたか。
軽い事象であれば、ラズパイを再起動するだけで元に戻ります。
ダメであれば、ラズパイのシャットダウンして、しばらく放置して立ち上げると復旧する場合があります。
ルータの電源を入れ直すだけで良い場合もあるので試してください。
そして、最後の手段が「固定IPアドレスの設定」ですかね。この設定を行えば、ほぼ百発百中で wifi に接続できるはずです。是非、お試しを。
ディスカッション
コメント一覧
まだ、コメントがありません