さて、mac mini 2018環境へのAPC BR550-JP設置がサクッとスマートにいったので余ったomron BY50sをubuntu 20.04 LTSマシンへ(このマシンは何度か書いているけれどWindows10とデュアルブートです。Windows10へは素直にomronのドライバーを入れて設定済)設定をする。
Contents >>>>>>>>
ubuntu 20.04 LTSへBY50sをNUTで使う
omronからLinux用のドライバーが出てはいるけれど、RHL系とCent系対応なのと、ちょっと不安があるので、汎用のでどうにかならんかなと思って検索したら一発ヒット。有難いことです。
Omron BY50S を Linux で使う (udev のイケてる設定編)
こちらの先人の設定をまるっと使えば難なく設定出来ました。感謝。ただし、ちょっとだけ注意点があったりするのと、また設定し直すときに先のリンクの記事がなくなると自分が困るのでこちらにもメモ。
UPS監視デーモンをInstall
$ sudo apt install nut
udevの設定
リンク先の方の考え方、いいですね。こうです。
- 自分の設定ファイルは /etc の下に置こう
- SYMLINK を使ってデバイスのパスを固定しよう
パッケージで用意される /lib/udev/rules.d/62-nut-usbups.rules を直接編集するのはやめよう。アップデート時に上書きされて後日泣くことになる。あと、分離できなくなるので自分の設定ファイルを /lib/udev 以下に置くのもやめよう。というわけで自分のファイルは用意されている /etc/udev/rules.d 以下に置く。/etc/udev/rules.d/90-omron-ups.rules とかの名前にしておこう。
てことで、/lib/udev/rules.d/62-nut-usbups.rulesをコピーしてリネームして使う。
$ sudo cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/
$ sudo mv /etc/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/90-omron-ups.rules
$sudo nano /etc/udev/rules.d/90-omron-ups.rules
開いた/etc/udev/rules.d/90-omron-ups.rulesを見てみると各メーカーのUPSの設定値が始まるあたりの前あたりに(#Hewlett Packardの行の上あたりがいいかと)、下記を付け足す
# Omron BY50S – blazer_usb
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, \
ATTRS{idVendor}==”0590″, ATTRS{idProduct}==”0081″, \
MODE=”0664″, GROUP=”nut”, SYMLINK+=”ups”
SYMLINK+="ups"
を使おう。これで 常に /dev/ups というパスでアクセスできる。どこのポートに挿しても、同じクラスのデバイスの何番目に指してもOKだ。USB のバス番号を調べる必要もない。
だそうだ。すばらし♪
で、この後ルールをリロードせよと書いてあるのだが、どうもうちの環境ではリロードではうまくいかず暫く悩んだ末に、再起動してみたらすんなりいった。
USBを抜き差ししてみて、/dev/upsというsymlinkが作られていることを確認できた。ふぅ。
監視デーモンnutの設定
先人たちの情報通りに設定ファイルを編集する。
/etc/nut/nut.conf
開いて一番最後に一行追加する
MODE=standalone
/etc/nut/ups.conf
同じく開いて最後の方に追加する
[by50s]
driver = blazer_usb
port = /dev/ups
desc = “Omron UPS BY50S”
vendorid = 0590
productid = 0081
subdriver = ippon
default.battery.voltage.high = 13.5
default.battery.voltage.low = 11
ところでこのファイルの最後の方に
maxretry = 3
というのがあるが、#をつけてコメントアウトしないとうまくいかないのでそうする(これが原因で暫く悩んだ(苦笑))
# maxretry = 3
/etc/nut/upsmon.conf
同じく開いて最後に下記の一行を追加
MONITOR by50s@localhost 1 upsmon upspass master
/etc/nut/upsd.users
同じく開いて最後に3行追加する
[upsmon]
password = upspass
upsmon master
設定のチェックをする
下記コマンドで設定のチェック。read:行でそれらしき値が見れればOK。Ctrl+Cで止める。そもそもエラーが出れば先述の設定のどこかが間違っている。
$ sudo -u nut /lib/nut/blazer_usb -a by50s -DDD
設定の適用
$ sudo /etc/init.d/nut-server restart
$ sudo /etc/init.d/nut-client restart
状態の確認
$ upsc by50s
ズラズラと出てきたらOK。エラーが出れば最初から見直す。
macで使ってた時のようなドライバーに起因する不安定さはubuntuでは無いのでこれはこれでよし、です。Windows10ではomronのドライバー入れましたが、ま、基本的にubuntu起動していることの方が多いので、やはりよし、です。
ふぅ・・・。しかし、ubuntuで使うのもomronよりAPCの方が楽ね(苦笑