NanoPi NEO3を買った

2022.09.17

自宅のHP ProLiant MicroServer N54L(通称Gen 7)は実態として主にファイルサーバとして稼働してきたが、導入(2015年)から本体が7年経過し、2019年にCentOS 8にするついでにハードディスクを交換したものの、2021年末でCentOS 8のサポートが終了したためCentOS Streamに移行する以外の選択肢がなくなった(別にCentOS Streamではまずいわけではないが…)。

また、この間にDropboxに課金する生活になっており、ファイルサーバの機能は基本的にDropboxがあればいいんじゃないかという感じになったので、ファイルサーバ以外の機能を担う何かを用意し、MicroServerは引退させようと考えていた。

ファイルサーバ以外とは、具体的にはBUFFALO PC-OP-RS1(USB接続タイプの赤外線学習リモコン)を遠隔制御すること(=概ねftdi_sioドライバが動くこととApacheでCGIが動くこと)と、ついでにSSHで入ってちょっと作業みたいな感じのことができればよく、ほとんどスペックを必要としないはずなので、昨年頃からNanoPiが気にはなっていた。

そうこうするうちにCentOS 8のサポートが終了してしまい、どうにかしなといけないと思いながら8か月余りが過ぎたところでAmazonでNanoPi NEO3が売ってあるのに気づき、これはケースつきなので自分でケースを調達したり工作したりする必要がなく、折しも歴史的円安でKeepaの価格遷移を見ると今買うのはいかがなものかという気もしたけど、どうにかしないといけないので購入した。

前述の通りファイルサーバにする気はないけれども、ちょっと作業をするファイルを一時的に置く場所くらいは欲しいのと、当然PC-OP-RS1が接続できなければならないのでUSBピンヘッダをUSB-Aメスに変換するために

  • SanDisk microSD 128GB
  • SanDisk USBメモリ SDCZ430-256G-J57
  • StarTech.com USBMBADAPT

を一緒に買ったため、一層微妙な値段になった。せめて去年のうちに買えばよかった。

手順的な話

FriendlyCore Lite(Ubuntu 20.04 LTSベース)を使用する限り、中身は概ねただのUbuntuなのであまり特筆することがないが、取り敢えずFriendlyELEC Wikiの

https://wiki.friendlyelec.com/wiki/index.php/NanoPi_NEO3

に情報がまとまっている。

同機は自分で組み立てるわけではなく既にケースに入っているため、ケースが壊れそうで開けられないのでピンヘッダにアクセスできないという本末転倒なレビュー記事も見かけたが、USBやLAN端子がある側のケースの溝に厚紙とか差し込んでやると爪が外れてガチャのケースみたいに開く。USBピンヘッダの位置は公式にある写真の通りだが、ケース内で高さ方向にどのくらい余裕があるのかがよくわからず、結局ケースの上部に穴を開け、そこから出すような格好にした。ピンヘッダをUSB-Aメスに変換するやつはいわゆる9ピンタイプ(2×5で1か所がキーになってるやつ)でもいいと思うが、ケースの上に穴を開ける前提だと、その穴を通さないといけないのでコネクタが小さくて済むようにUSBMBADAPTを2個買った。まあケースに穴を開ける時点で見た目なんて気にする話じゃないけど…。

Ubuntuが起動した後、アイドル時にload averageがずっと1.00になるという謎症状があったが、究明する前に再現しなくなった。よくわからない。

PC-OP-RS1はCentOSで

# echo 0411 00b3 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id
# vim /etc/udev/rules.d/50-udev-default.rules
KERNEL=="tty[A-Z]_[0-9]|pppox[0-9]_|ircomm[0-9]_|noz[0-9]_|rfcomm[0-9]*", GROUP="dialout", MODE="0666"

とかやって使っていたが、同じ感じで動いた。

UPSのAPC ES500も接続することにしてapcupsdを入れたが、こちらもすんなり動いたので特筆することもなく。

参考までにlsusbの結果。

$ lsusb
Bus 005 Device 002: ID 0781:5583 SanDisk Corp. Ultra Fit
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0411:00b3 BUFFALO INC. (formerly MelCo., Inc.) PC-OP-RS1 RemoteStation
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Apacheの設定は少しはまったが、これは多分CentOSからUbuntuへの移行に伴う部分であって、多分本質的なところじゃないので省略。

あとcronの設定ではまった。crontab -eするとfdopen: Permission deniedとなり、なんでかわからないが/usr/bin/crontabのパーミッションが0755になっていて一般ユーザーでcronが使えないということで、調べた結果

# chown root:crontab /usr/bin/crontab
# chmod 2755 /usr/bin/crontab
# chown root:crontab /var/spool/cron/crontabs
# chmod 1730 /var/spool/cron/crontabs

して使えるようにはなったが、本当にこれが正しいのかよくわからない(RHEL系は/usr/bin/crontabのパーミッションが4755で、/var/spoolの配置も違うし比較ができない)。

最後にapcaccessLOADPCTがどのくらい減ったか残しておこうと思ったが、更改前後ともに41%のままで、よくわからなかった。いくらTurion II Neo N54Lが省電力(25W)だったとしてもMicroServerには3.5インチハードディスクを2台積んでいたわけで、UPSが壊れているのか単にまともに測定できていないと思われる。まあ、UPSも大分古いし…。