Intel Edison は極小サイズにもかかわらず,本体に無線 LAN と Bluetooth の機能を持っている。 実物を見ると,こんなに小さいのに?と感じてしまう。 無線 LAN の設定は,初ログイン後に
# configure-edison --setup
というコマンド実行すると,パスワード,マシン名の後に設定できる。
その Edison の無線 LAN の設定だが,デフォルトでは DHCP で IP アドレスを取得するように設定される。 しかし,場合によっては固定 IP にしたい場合もある。 今回は再起動しても固定 IP とする方法について書いておこう。 ちなみに,元ネタは新春電子工作!:“Edison”でロボットアームをグリングリン動かす(前編) (3/5)に書いてあった。 ここでも受け売りですねぇ…。
まずは,configure-edison --setup 実行後の ifconfig の結果を載せておこう。 lo,useb0,wlan0 の3つが動いているのがわかる。
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:4480 errors:0 dropped:0 overruns:0 frame:0 TX packets:4480 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:340480 (332.5 KiB) TX bytes:340480 (332.5 KiB) usb0 Link encap:Ethernet HWaddr 0e:f6:xx:xx:xx:xx inet addr:192.168.2.15 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::cf6:d9ff:fee9:6ac7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2310 errors:0 dropped:0 overruns:0 frame:0 TX packets:237 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:330312 (322.5 KiB) TX bytes:49790 (48.6 KiB) wlan0 Link encap:Ethernet HWaddr fc:c2:xx:xx:xx:xx inet addr:192.168.xx.xx Bcast:0.0.0.0 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1647 errors:0 dropped:0 overruns:0 frame:0 TX packets:1259 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:259878 (253.7 KiB) TX bytes:823093 (803.8 KiB)(ここでは念の為に MAC アドレスなどは伏せ字に変えてある。)
さて,無線 LAN を固定化するには,以下のスクリプトをいじらないといけない。
/etc/wpa_supplicant/wpa_cli-actions.sh
これは,無線 LAN ネットワークでの認証を受けるために必要な wpa_supplicant の起動のためのスクリプトみたい。 その中で,DHCP による通信の起動が設定されているので,それを固定 IP による起動に変更すればいいみたい。 wpa_cli-actions.sh の中の,以下にある部分(赤色の部分)が DHCP 接続の起動を表しているので, そこを変更すればよい。
if [ "$CMD" = "CONNECTED" ]; then kill_daemon udhcpc /var/run/udhcpc-$IFNAME.pid udhcpc -i $IFNAME -p /var/run/udhcpc-$IFNAME.pid -S fi
変更は,まず念の為にオリジナルの をバックアップしてから行う。
# cp /etc/wpa_supplicant/wpa_cli-actions.sh /etc/wpa_supplicant/wpa_cli-actions.sh.org
次に,以下のように udhcpc のある行をコメントアウトし(赤色部分), そこに ifconfig と route という2行(青色部分)を追加する。
if [ "$CMD" = "CONNECTED" ]; then kill_daemon udhcpc /var/run/udhcpc-$IFNAME.pid # udhcpc -i $IFNAME -p /var/run/udhcpc-$IFNAME.pid -S ifconfig $IFNAME 192.168.xx.xx netmask 255.255.255.0 route add default gw 192.168.10.1 fiこれにより,次の再起動から無線 LAN の IP アドレスは固定される。 ちなみに,192.168.xx.xx の部分が Edison の IP アドレスを記述する部分であり, gw 192.168.10.1 の部分はルーターの持つ private 空間用のアドレスを記載する部分である。
実際に起動すると,ifconfig で見た際,wlan0 の部分は以下のようになり, Bcast という部分が 0.0.0.0 から変更されていた。
wlan0 Link encap:Ethernet HWaddr fc:c2:xx:xx:xx:xx inet addr:192.168.xx.xx Bcast:192.168.255.255 Mask:255.255.255.0 inet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1511 errors:0 dropped:0 overruns:0 frame:0 TX packets:1456 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:141291 (137.9 KiB) TX bytes:198780 (194.1 KiB)
せっかくなので,/etc/wpa_supplicant の中にある設定ファイル(wpa_supplicant.conf)の 内容も載せておこう。 これは configure-edison --setup 直後のものである。 無線 LAN への接続パスワードは念の為に伏せ字にしておいた。
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 update_config=1 ap_scan=1 network={ ssid="aterm-e1ad02-g" key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP WEP104 WEP40 eap=TTLS PEAP TLS psk="XXXXXXXXXXXX(password)" }(Intel Edison で micro SD カードを使うに続く)
0 件のコメント:
コメントを投稿