nanopi NEOを5台購入してみたのですが、有線NICを使うとLANケーブルと電源ケーブルを繋がないといけないのでケーブルのスパゲティが出来上がってしまう。
ということで、USBに無線NICをさして設定してみました。
こんな感じになりました。
無線NICの購入
小さいドングルみたいなのがいいなと思って、安かったのでebayあたりで5個とか10個セットが売っているので購入しました。
別にamazonとかでバッファローとかのやつでもいいと思う。
WNIC設定
nanopi NEOに刺して起動
さしてnanopiを起動したところ、下記の通りとなった。
root@FriendlyARM1:/etc/udev/rules.d# lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Ralink Technology, Corp. MT7601U Wireless Adapter
でした。
昔のkernelだとMT7601Uのドライバがkernel modulesになくて頑張って入れないといけなかったらしいが、今は入っていた。ラッキー。
root@FriendlyARM1:/etc/udev/rules.d# uname -a
Linux FriendlyARM1 3.4.39-h3 #1 SMP PREEMPT Thu Aug 4 12:41:33 CST 2016 armv7l armv7l armv7l GNU/Linux
#ifconfig
や#ip address
コマンドで見るとMACアドレスが出ているはず。下のはもうSSIDなどを設定しているのでIPアドレスが取れていますが、この段階では取れていないはずです。
root@FriendlyARM1:/etc/udev/rules.d# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether b6:fa:80:3e:2c:86 brd ff:ff:ff:ff:ff:ff
inet6 fe80::b4fa:80ff:fe3e:2c86/64 scope link
valid_lft forever preferred_lft forever
3: tunl0: <NOARP> mtu 1480 qdisc noop state DOWN group default
link/ipip 0.0.0.0 brd 0.0.0.0
4: gre0: <NOARP> mtu 1476 qdisc noop state DOWN group default
link/gre 0.0.0.0 brd 0.0.0.0
5: sit0: <NOARP> mtu 1480 qdisc noop state DOWN group default
link/sit 0.0.0.0 brd 0.0.0.0
6: ip6tnl0: <NOARP> mtu 1452 qdisc noop state DOWN group default
link/tunnel6 :: brd ::
7: wlx0036786bd310: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:36:78:6b:d3:10 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.5/24 brd 192.168.11.255 scope global wlx0036786bd310
inet6 fe80::236:78ff:fe6b:d310/64 scope link
valid_lft forever preferred_lft forever
無線AP側設定
- SSID: PONPONPAIN
- WPA2-PSK: XXXXXX
で設定しました。今回はバッファローの無線ルータを利用しました。DHCPサーバも兼ねてくれるので楽ちん。
nanopi NEO側設定
SSIDなどの設定を行っていく。有線で設定しないとダメネ。
debian系のOSでwpa_supplicant
というものを使う。入っていない場合には# apt-get install うにゃうにゃ
してください。(デフォルトで入っていた気がしましたが忘れました。)
/etc/network/interfaces
を下記のように編集します。
wlx0036786bd310
の部分はNICによって変わるので適時ip a
などから持ってきてください。
/etc/udev/rules.d/
にMACアドレスと名前を設定すれば固定にできるかもです。
root@FriendlyARM1:/etc/udev/rules.d# cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
allow-hotplug eth0
iface eth0 inet dhcp
allow-hotplug wlx0036786bd310
iface wlx0036786bd310 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
次に、上記で設定したwpa-confを設定します。/etc/wpa_supplicant/wpa_supplicant.conf
root@FriendlyARM1:/etc/udev/rules.d# cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="PONPONPAIN"
key_mgmt=WPA-PSK
proto=WPA2
psk="XXXXXX"
}
- psk部分は””でくくらない場合にはHEXになる模様です。逆に文字列で入れたい場合には””でくくらないとダメっぽい。
一応# sync
コマンドを流してファイルをSDカードに書き込んでおきます。
DHCPサーバの仕様によっては、ホスト名を変えないとダメだったりする無線ルータがあるみたいなので、/etc/hostname
を適当なものに変えておきます。
リブート
書き込んだらLANケーブルを抜いてリブートします。(電源入れ直してもOK)
sshで繋がるかな
今回はルータの設定画面でつながっているクライアントのIPアドレスが確認できましたので、そのままSSHでつなぎました。
自分の環境ではそんなにレスポンスも悪くなかったので、psshやansibleなどで設定を流す分には問題ないと思います。
╭─murata@derori-x1c ~
╰─$ ssh root@192.168.11.5 130 ↵
Welcome to Ubuntu 15.10 (GNU/Linux 3.4.39-h3 armv7l)
* Documentation: https://help.ubuntu.com/
root@FriendlyARM1:~#
繰り返し
んで、これを台数分やりましょう。
つながらない時
もしつながらない場合には無線の設定がおかしい可能性があるので、有線をつなげて設定を確認してください。
プロセスにはwpa_supplicantがいるはずです。
root@FriendlyARM1:~# ps aux
snip;
root 245 0.0 0.2 7352 1360 ? Ss 18:18 0:00 /sbin/wpa_supplicant -s -B -P /run/wpa_supplicant.wlx0036786bd310.pid -i wlx0036786bd310 -D nl80211,wext -c /etc/wpa_supplicant/wpa_supplicant.conf
root 284 0.0 0.4 8252 2368 ? Ss 18:18 0:00 /usr/sbin/sshd -D
message+ 286 0.0 0.3 4960 1584 ? Ss 18:18 0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
root 287 0.0 0.2 2924 1184 ? Ss 18:18 0:00 /lib/systemd/systemd-logind
root 303 0.0 0.1 1968 692 tty2 Ss+ 18:18 0:00 /sbin/agetty --noclear tty2 linux
root 309 0.0 0.1 1788 640 ttyS0 Ss+ 18:18 0:00 /sbin/agetty --keep-baud 115200 38400 9600 ttyS0 vt220
root 370 0.0 1.0 7656 5188 ? Ss 18:19 0:00 dhclient -1 -v -pf /run/dhclient.wlx0036786bd310.pid -lf /var/lib/dhcp/dhclient.wlx0036786bd310.leases wlx0036786bd310
root 420 0.0 1.0 7656 5156 ? Ss 18:19 0:00 dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
root 475 0.0 0.0 0 0 ? S 18:26 0:02 [kworker/u:1]
snip;
まとめ
- これで電源ケーブルのみで5台のnanpi NEOがつながった。
- 無線NICは日本の技適が通ってないと日本で使っちゃいけないので注意である。
- 利用目的は、、、まだ決まってない。