Linux VMからのUPS制御でハマり中... [ソフトウェア/PC関係]
格安のUPS,サウンドハウスのUPS1200LX。Amazonのマーケットプレイスでも買える。 |
先日書いた,サウンドハウスのUPS(UPS1200LX)を,vSphere Hypervisor(旧ESXi)上のLinuxのVMからコントロールする話の経過報告。
実を言うと,まだうまく行っていない。UPSをUSBデバイスとしてVMに追加したあと,Linuxのlsusbコマンドで確認すると,次のようになる。
root@hostname: ~# lsusb Bus 002 Device 003: ID 0001:0000 Fry's Electronics Bus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
"Fry's Electronics"がUPS1200LXだ。つまりUPSのデバイスそのものは認識してるっぽい。しかし,次に"lsusb -v"で詳細情報を表示しようとすると,Fry's Electronicsの表示の最後辺りで,しばらく待ち状態になり,結局次のようなメッセージを出してタイムアウトしてしまう。
cannot read device status, Connection timed out (110)
やっぱり,デバイスとの通信がうまく行っていないのだろうか? Webで検索した情報によると,UPSのデバイスは,/dev/usb/hiddev0として認識されるらしいのだが,私のVM環境ではみつからない。そもそも"/dev/usb"というディレクトリすらない。はじめDebian Lennyでやっていたのだが,Webで見つけた情報に合わせて,Ubuntu 10.10でも試してみても変わらず。VM環境はダメなんだろうか。
実環境でも試してみたいところだが,生憎実環境のLinuxがない。そうそう,こんなときのために,先日ATOM330のマシンを掘り起こしてきたのである。早速Ubuntu 10.10をインストールして試してみると,こちらは何も問題なし。/dev/usb/hiddev0もあるし,タイムアウトもしない。apt-getでnutをインストールして設定すると,あっさり動作するのである。nutで設定した箇所は次の通りだ。
(1) /etc/nut/nut.confの最終行を次のように変更 MODE=standalone (2) /etc/nut/ups.confに次の設定を追加 [ups1200lx] driver=megatec_usb vendorid=0001 productid=0000 subdriver=krauler desc="UPS1200LX" port=/dev/usb/hiddev0
そして,次のコマンドでnutを再起動する。
root@hostname: ~# /etc/init.d/nut restart * Restarting Network UPS Tools [ OK ]
動作確認するには,upscコマンドを使う。ups.confで"["と"]"に挟んで指定した名前("ups1200lx")を引数として実行すると,
root@hostname: ~# upsc ups1200lx battery.charge: 100.0 battery.voltage: 27.40 battery.voltage.nominal: 24.0 ...(中略)... ups.status: OL ups.temperature: 29.0 ups.type: standby
という具合に,UPSの情報が表示される。正確には,nutのrestartだけではうまく行かず,Linuxをrebootしたのだが,いずれにしろちゃんと動作しているようだ。
ではなぜVMでは駄目なのだろう。/dev/usb/hiddev0がないのがいけないのかと思って,Linuxのドキュメント,"Care and feeding of your Human Interface Devices"を参考に,
root@hostname: ~# mkdir /dev/usb root@hostname: ~# mknod /dev/usb/hiddev0 c 180 96
とやってみたが駄目だった。何やってるか,全然理解できてないんだけども。Linuxは完全にスキル不足だなぁ。
Windowsでできたのだから,できないはずはないと思うのだが,もう少し調査と勉強が必要なようだ。
コメント 0