自作ルーターに使えるARM搭載のルーター用基板『Banana PI BPI R1』を試してみた

先日、APU1.Cという基板を用いてVyOSを搭載した自作ルーターを作成した。APU1.CはAMD64が搭載されているため、何の問題も無くVyOSがインストールできたのだが、今回紹介する『Banana PI BPI R1』はCPUがARMの基板だ。

AliExpress.com Product - Freeshipment BPI-R1 Router+Antenna+SD card , Original Banana pi Opensource router board R1 Freeshipment

通常のx86、x64のCPUを搭載した基板よりは、Raspberry Piに近い…というか、Raspberry PiのパクリであるBanana Piの亜種だ。
Raspberry Piのルーター版と言った方がしっくり来るかもしれない。

利用できるOSが公式でいくつか用意されており、そのうちの一つにルーター用OS『OpenWRT』も含まれている。
今回は、これをインストールしてみよう。なお、BPI-R1の組み立てはすでに済んでいるものとする。

なお、インストールには上記キットの他にmicroSDカード、及びそれをを利用出来るPCが必要になる。
今回は、Windows 7 HomePremiumを用いてインストールを進めていく。

それでは、レビューを始めよう。

1.必要ファイルのダウンロード

まずは、必要なファイルのダウンロードを行う。
以下のファイルをダウンロードする。

Win32 Disk Imagerについては、作業を行うPCにインストールする。インストール手順については、ただ進めるだけなので割愛。

2.microSDカードにOpenWRTのイメージファイルを焼く

Win32 Disk ImagerをインストールしたPCにmicroSDカードを挿入し、ダウンロードしたイメージをmicroSDカードに書き込む。

3.BPI R1を起動する

先ほど焼いたmicroSDカードを挿入し、BPI R1を起動してみよう。
起動する、といってもただmicroUSBポートにケーブルを挿すだけだ。microUSBポートは2つあるが、どちらに挿しても構わない。

起動後、WANポート(黄色いLANケーブルが刺さっている方)のLEDが点灯するので、その一つ左のポート(白いLANケーブルが刺さっている方)にPCを接続し、ネットワーク設定を以下のようにする。

  • IPアドレス:10.0.0.200
  • サブネットマスク:255.255.255.0(24)
  • デフォルトゲートウェイ:10.0.0.1
  • DNSサーバ:10.0.0.1

この状態でブラウザ(Internet Explorer)で「http://10.0.0.1」にアクセスする。

無事、インストールが完了した。
SSHを有効にし、接続したのが以下。

初期設定でNATの設定が行われているので、このまま外部に接続可能だ。

4.注意事項

なお本製品について、個人的に触っていてどうなんだろう…と思った点が何点かあったので、記述しておく。

物理ポートの配置とOS上で認識されるポートの配置が違う

OpenWRTでは、Webコンソール上でLANポートの配置を確認出来るのだが、その配置と物理的なポートの配置がめちゃくちゃになっている。
こちらのページにもその情報があるのだが、以下のような順序になっている。

この配置でWANが3番ポートってのは、どういうことなんだろうか…釈然としない。また、8個ポートが有ることになっているけど、物理的には5個しか無い(Port 8は、どうやらeth0全体の通信を統括する存在)。Port5~7は存在しないのだが、設定ファイルで削除すると正常に動作しなくなるので注意。
なんとなく、u-bootの辺りをいじれば解決しそうな気もするけど…どうなんだろうか?

NIC(ネットワーク・インターフェイス)自体は一つしかない

そう、複数のポートが付いているのだが、Ethernet Switchなので認識されるネットワーク・インターフェイスはひとつしか無い。つまり、5個もLANポート付いているけど、どれもMACアドレスは同じだ。
つまり、一つのNICにポートがいっぱい付いているようなイメージになる。この辺は市販のルーターと変わらないのだが、そうなるとVLANを用いて各ポートの割り当てを設定してあげる必要がある。(OpenWRTのswconfigや/etc/config/networkファイルなので設定)。

これに相当する機能がOpenWRT以外のルーターOSにあるのかは知らないが、少なくともVyatta(VyOS)にはスイッチのポート指定の機能が無さそうな気がする…
(BuffaloのルーターにLinuxカーネルを入れているページを見る限り、こちらもu-bootの辺りをいじればDebianやVyOSをビルドしても解決出来そうな気もするけど…)

というか、この構造でちゃんと速度出るのか?あまりネットワーク詳しくないから分からないんだけど…1ポートごとに1Gbpsではなく、eth0全体で1Gbpsじゃないの?

動作が不安定

あくまでも私の購入したボードだけなのかも知れない(フォーラムを見る限り、他にもいるようだが)が、起動後しばらくすると、WANポート以外のポートのLEDが消灯し、全ポートで疎通不可能になる事象がある。原因の特定までには至っていないが、解決出来なければ実用品としては到底考えられない状態だ。原因はおそらくドライバにあると思うのだけど…実際は不明。Bananan辺りをインストールして同様の事象が発生した場合、ハードウェア自体に問題がある可能性が出てくる。

また、日本国内では技適の問題でどちらにしても使えないが、ハンダ付けされている無線LANアダプタもドライバの問題で認識されない。

5.結論

『現状、実用品ではない』

動作が非常に不安定で、到底実用に耐えられるものではない。正直、おもちゃとしても微妙かも知れない。
コンセプトは非常に面白くて『こういうのが欲しかった』と思える製品なんだけど…もうちょっと詰めて製品化して貰いたかった…

やはり、中華ボードではダメなのかな。
もうちょっと詰めたVer.2辺りを出すか、本家Raspberry Piの方で、似たような製品を出してくれないかなぁ…
もしくは、Raspberry Piよりも安定性があると言われるIntel Galileo2にNICを増設してVyOSとかで構築するか…