2018年6月9日土曜日

Nano Pi Neo

書き溜め分はこれで最後。やってみると少ないよね…。

Nano Pi NEOは、パフォーマンス的にはラズパイ2と同じ~以上くらいある一方で、潔くビデオ系出力を省いているのでヘッドレスユースには向いてるよね、と言う感じ。なので、こいつを使ってx86なファイルサーバーを置換しようかと思っている次第。発熱つまり消費電力も、騒音も、現状比大幅減!!

自分用に一台買ったときにFB掲載、右の写真で下に見えてるBBBの1/3くらい?
この後、USB OTGじゃなくピンヘッダから電源供給するようにして、アクリルのパネル(ケース、じゃないな…)を追加購入して現在使用中。

このボードなかなかおもしろいので、この後業務用にも一台購入させてもらって展開準備中。
最初はBBBも業務向けに購入させてもらって、そこでやろうと思っていた企画があるのだけども、U-Boot overlayの余波があるうちは難しいものもあり、今後はこいつでやろうかと思っているところ。(なんせ安い。BBBの1/5程の値段だし…。)


1.ヘッドレスであるが故
 2.54ピッチヘッダを生かすと、それなりにつながるものあるんだよね…USB 2.0HS Hostが2ch、SPI、I2C、I2Sでしょ…結構いいとこ突いてると思う。

2.シリアルコンソール
 UART-USBアダプタ(PL2303)で、下界とインターフェースさせる。Nano Pi側でgetty起きてるので問題なくログインできる。
ホストとしてWindows7は問題ないが、このPL2303は古くて、Windows10用ドライバはリリースされてないバージョン。ま、Windowsには問題なくつながる。
問題はLinux。Systemdになる以前はあんまり考えずとも、コンソール側はminicom、最悪cu使えば良かったんだが、最近のDebianでは大丈夫か?と思ったら案の定minicomでは通信できない。何故??
cuでは、通信速度を合わせてやればOKだった。
cu -l /dev/ttyUSB0 -s 115200
じゃあラズパイも一緒だよね、と思ったらこれがまたあかん。電源も気になるが(HDMIアダプタを変える前の話)、minicomは言うまでもなく、cuでもちゃんと通信できてない。Webリサーチするとitplantsさんでscreenを使って成功しているじゃないか! ということで、早速screenをインストールし,
screen /dev/ttyUSB0 115200 -L
これでようやく事なき?を得た。

3.USB
 初期から使えるのは、USB2.0HSなType-Aが一つと、曰く電源供給を兼ねるUSB2.0 OTGなmicro-ABが一つ。電源はピンヘッダから供給しているので、Type-Aとmicro-AB両方共オープンなのだが、有線LANを使わない場合はこれではポートがちょっと足らない。

USBにはセルフパワーとバスパワーがあるわけで、通常、USBホストは、接続されたデバイスが、セルフなのかバスなのかを見てから電源供給するかどうか判断する。そのための電源スイッチICがある。

まぁ、ほとんどの場合バスパワーなので、専用と割り切って二段重ねのType-Aを仕入れて、仕事で使っているものには搭載してみた。手はんだケーブルなので、HSはちゃんと成立するのか?と思ったが、動いていそうなのでそのままとしてある。
仕事で使っているものは、持ち歩きする可能性も踏まえて、nano piと周辺を搭載する「ハット」を、2.54mmピッチのユニバーサル基板を使った手作りで構成しプロトタイプとしたが、この二段重ねType-Aは2.54mmピッチではなくo-2.54-o-2-o-2.54-oで並んでいてそれが標準だった。若干無理に2.54ピッチに載せてハンダ付けしたが、個人用でやるときは、基板付きの二段重ねType-Aを探そうと思う。

なお、このとき、件のU-Boot OverlayでUSBを有効にし、boot時にUSBポートが追加されていことを確認します。新しいボードは最初からこいつなので、惑わされることがない。
この辺は、現在お仕事側で、記事としてまとめながら行っている作業があるので、出来次第そちらで公開、としましょう。

4.デバドラの追加
 NanoPiはBBBやラズパイよりさらに開発ボード色が強く、カーネルモジュールの追加に若干の不安。しかし、armbianでちゃんとカーネルソース提供しているじゃん! ということで、楽しみ甲斐のあるボード。


ようやくラズパイが(だいぶ)安定したようなので、Nano Pi他の開発時ホストとして頑張っていただこうと思っていることです。

(10/8追記)

 「可搬性」で、LANを無線にしなきゃ、と思ってたんですが、最近のLinuxはネットワーク設定系のツールがゴチャゴチャで、昔のようにinterfacesに書けばおしまい、とはなかなか行きません。今じゃifconfigもない(ことがある)ときたもんだ。

と言うわけで、備忘録的には、udevいじってるとなれば残しておかねば(笑)。

udevも、rules.dにpersistent-net.rules用意しておけば良かったのはもうちょっと前のことになっているようで、いきなりNIC差したりUSB WiFi差したりすると、ネットワークif名からわけのわからない状態になります。

そのあたりの解説が、
https://tokyodebian-team.pages.debian.net/pdf2017/debianmeetingresume201707-meetup-sapporo-presentation-yyoshino.pdf
にあるので、これを元に、systemd向けの設定と、udevの設定、両方を行い、まずデバイスが、「古き名」を使えるようにします。

なぜ『古き名』か。これやらずにOSがつけた名前そのまま使おうとすると、「そんなインターフェースねぇ!」と文句いうツールがいろいろとあります。つまり、一過性のことかもしれませんが、eth0とか、wlan0とか、レガシーな名前が必要です。それら、自分でつけられるようにしておく必要がありますが、上記pdfを見れば解決できるだろうと思います。

そこまでいけば、nmcliであろうが、connmanctlであろうが、使いやすい方をどうぞ、の世界ですね。

0 件のコメント:

コメントを投稿