CentOS 6マシンでNUTを構成して、Eaton 5E UPSを制御しようとすると、奇妙な問題が発生します。
私は次の手順を実行しました
# yum install nut
# yum install usbutils
次に、nut.confを更新しました
MODE=standalone
UPSが見えることを確認しました
# lsusb
Bus 003 Device 006: ID 0463:ffff MGE UPS Systems UPS
次にups.confを更新しました
[eaton5e]
driver = usbhid-ups
port = auto
desc = "Eaton5E"
vendorid = 0463
次に、失敗したドライバー制御を実行しようとしました
# upsdrvctl start
Network UPS Tools - UPS driver controller 2.6.5
Network UPS Tools - Generic HID driver 0.37 (2.6.5)
USB communication driver 0.31
No matching HID UPS found
Driver failed to start (exit status=1)
別のエラーが発生し、理由がわからないのにデバッグしようとしたとき
# usbhid-ups -DDD -a eaton5e
*bunch of stuff*
0.000799 Trying to match device
0.000813 Device matches
0.001630 Unable to get HID descriptor (error sending control message: Broken pipe)
0.001636 HID descriptor, method 2: (9 bytes) => 09 21 10 01 21 01 22 25 02
0.001641 HID descriptor length 549
0.001890 Unable to get Report descriptor: Broken pipe
*more bunch of stuff*
私はしばらくの間このことと戦ってきましたが、運がないので、誰かがこれに遭遇したことがありますか?
私はこれを次のようにして修正することができました
1.)必要なルールを正しい場所にコピー(またはシンボリックリンク)する
# cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d
2.)upsの正しいベンダーIDを決定します
# lsusb
Bus 003 Device 006: ID 0463:ffff MGE UPS Systems UPS
3.)正しいupsのために62-nut-usbups.rulesの権限を変更します
# vim 62-nut-usbups.rules
navigate to correct vendor id and update from
ATTR{idVendor}=="0463", ATTR{idProduct}=="ffff", MODE="664", GROUP="dialout"
to
ATTR{idVendor}=="0463", ATTR{idProduct}=="ffff", MODE="660", GROUP="nut"
4.)マシンを再起動します