Raspbianが起動している状態で、login: pi, Password: raspberryのデフォルトアカウントでログインしているところからはじめる。
$ sudo bash # chmod 660 /etc/wpa_suoplicant/wpa_supplicant.comf # wpa_passphrase SSID KEY >> $* ← SSIDもKEY(パスワード)も、特にダブルクォートなどで囲むことなく、そのまま書く。ハッシュしたほうに、それがKEYの文字として含まれしまい認証エラーになることがあるるようだ。 # vi $* ← 編集する。
内容は、以下のとおり。
複数のWiFi接続先があれば、上のwpa_passphraseコマンドでのハッシュを含むnetworkエントリ生成から、4行追記を繰り返す。ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="SSID" ←コマンドで指定したSSIDが入っている。 key_mgmt=WPA-PSK proto=WPA2 pairwise=TKIP CCMP group=TKIP CCMP ←ここまでの4行追記 #psk="4332221111"←コマンドで入力したまま psk=9a7cdfea2bbbda47edacc95b2ae7a1c..... ←長いハッシュされた鍵が生成されている }
続いて、/etc/network/interfacesファイルの編集。Raspbianの設定のままではWPA2のWiFiスポットに接続しないので、それをまず直す。
この状態で、auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet dhcp ←なぜか"manual"になっているが、素直にdhcpするように直す wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf ←wpa-roamはwpa-confにしておく iface default inet dhcp
するとDHCPでのアドレス取得がいつまでたっても終わらないので、迷わず上記はやらずにsudo reboot。$ sudo ifdown wlan0 $ sudo ifup wlan0
WPA2のSSIDと共有鍵さえ間違っていなければ接続できるはず。逆に、いくらやっても接続できないなら、記述を見なおすとか、wpa_passphraseを再度実行するのもよいかもしれない。また、WiFiドングルが2.4GHzまで対応なのか5GHz対応なのかで違ってくるので、2.4GHzまでの安いものを使うなら、WiFiスポットが2.4GHzでの接続に対応するよう設定しておく。記述は正しいと考えれれるのにつながらないならWiFiルータの再起動で解決することもある。
ここで、/etc/resolv.confの自動生成をするパッケージresolvconfを入れる。
WiFiでDHCPにより接続できているはずなので、apt-getなども問題なくうまくいくはず。だめなら設定を見なおすとかエラーメッセージをよくみて考えるなどして解決する。ときには、WiFiルータ側を再起動する必要があるかもしれない。特に混雑しているAPは、新たに一台追加する余裕がないときがあるので、ルータ再起動でいちはやく接続を勝ち取るのは有効な戦略。$ sudo apt-get install resolvconf $ sudo service resolvconf start
最後に、固定IPの設定に変更する。/etc/network/interfacesをそのように書きなおす。
「address」から「dns-nameservers」までの追記が正しければ、以下の手順でうまくいく。auto lo iface lo inet loopback auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet static ←固定IP設定を宣言して、以下パラメータを入れる。 address 192.168.1.xxx ←使う予定の固定IPアドレスを書く netmask 255.255.255.0 ←接続するネットワークの設定に合わせる gateway 192.168.1.1 ←default routeを決めるので、ネットワークの設定に合わせる dns-nameservers 192.168.1.1 ←/etc/resolv.confの設定にかかわる。ここではWiFiルータを指しているがいつまでも安全とはいえないので、ひとまず信頼できるDNSを書いておくのは悪くない(が、8.8.8.8は愚の骨頂だと思う)。 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
このときに、「can't read /etc/network/interfaces」などと出たら、そのファイルの記述が誤っていないか確認すべき。$ sudo ifdown wlan0 $ sudo ifup wlan0
あとは再起動しようがなにしようがWiFiで固定IPの設定が維持されるはず。