OmronPowliBx50f

2004-12-25 17:09:31 +0900 (4405d); rev 2

OMRON の UPS、POWLI BX50XF/XFS を Debian で使う

このサーバ (i.loveruby.net) はオムロン POWLI BX50XF (現在は型番が BX50XFV になったらしい) という UPS でバックアップしている。 これには最初から Linux 用の制御ソフトがついていて停電になると 勝手にシャットダウンしたりできるのだが、 Debian だとこのソフトがちゃんと動かない。 どうやら libstdc++ のバージョンが合ってないような感じだ。 それに動いたとしてもいきなり X Window 用のコンソールを 立ちあげようとしたりするあたり、なかなかウザい。

そこで、汎用の UPS 監視ソフト genpower というのを使うことにした。 genpower は標準では POWLI には対応してないのだが、 小さなパッチをあてることで簡単に対応できる。 ……と言っても自分で書いたわけではなく、 Winfield さんのページ http://www.webs.co.jp/~winfield/Debian/omron-ups.html からパッチや手順その他、ぜんぶもらってきただけ。

また、上記のパッチは BX35/50XF(V) 用だが 似たやつで BX50LF というのもあります。 こっちは熊谷さんのページ http://www.sendai-ct.ac.jp/~ckuma/tech-doc/server/ups.html に手順があった。ケーブル自作してるけど……。

2004-12-25 追記: BX50XFS も XF と同じ方法で大丈夫だった。

BX50XF/XFS 対応の genpower deb パッケージを作る手順

% mkdir /usr/src/genpower
% cd /usr/src/genpower
% apt-get source genpower
% cd genpower-1.0.1
% patch < genpowerd.h.diff
% debchange -a 'Added OMRON POWLI BX35/50XF config entry.'
% su
# ./debian/rules build
# dpkg-buildpackage -us -uc

genpowerd.h.diff は以下の通り。

--- genpowerd.h.org     Thu Jan 24 13:55:34 2002
+++ genpowerd.h Thu Jan 24 13:55:09 2002
@@ -100,6 +100,10 @@
 /* Trust Energy Protector 400/650, as found in the UPS HOWTO */
  {"trust-energy",{TIOCM_DTR,0}, {TIOCM_ST,1},  5, {TIOCM_CAR,0}, {TIOCM_CTS,0}, {TIOCM_DSR,0}},

+/* OMRON BX35/50XF/50XFS */
+ {"omron-powli",{(TIOCM_DTR | TIOCM_RTS),0}, {TIOCM_ST,0}, 10, {TIOCM_CTS,0},
+ {TIOCM_CAR,0}, {0,0}},
+
  {NULL}
 };

ここまでで /usr/src/genpower に 新しい .deb パッケージができるので、 それを dpkg -i でインストールする。 そして、genpower を勝手にアップデートされないように dselect で genpower パッケージを hold (=) しておく。 あとはコンフィグファイルの設定。量は少ない。

# /etc/init.d/genpower の先頭付近のパラメータを以下のように調整
enabled=1
upsport=/dev/ups
upstype=omron-powli

omron-powli はパッチで追加しているエントリの最初の要素。 /dev/ups は最初から存在するわけではないので /dev/ttyS0 (COM1) とか ttyS1 (COM2) に書き換える。

最後に /etc/init.d/powerfail のパラメータを調整しておしまい。 コメント見ればわかるけど、 停電になってから何分でシャットダウンするかとか、 そういう値を設定できる。


system revision 1.162