[Nut-upsuser] bcmxcp_usb can not communicate with Eaton Powerware 5110
Arnaud Quette
aquette.dev at gmail.com
Wed Jul 18 10:59:25 UTC 2012
2012/7/13 Greg Vickers <daehenoc at iinet.net.au>
> Hi,
>
Hi Greg,
I have set up a RaspberryPi computer to do monitoring of two UPSs. One is
> an MGE evolution 800, one is an Eaton Powerware 5110. The MGE was being
> monitored by another Linux (Ubuntu 12.04) computer, and I just copied and
> pasted in the relevant nut config and it works just fine with nut.
>
> I've tried to set up the Powerware 5110 with nut, and the bcmxcp_usb
> driver can't communicate with the 5110.
>
> Here are the details of the RaspberryPi (I'm running the pre-built Debian
> distribution):
> $ uname -a
> Linux monitor 3.1.9+ #90 Wed Apr 18 18:23:05 BST 2012 armv6l GNU/Linux
>
> Here is details of the nut package:
> $ dpkg -l nut
> ||/ Name Version Description
> +++-==================-=======**===========-==================**
> ==============================**====
> ii nut 2.4.3-1.1squeeze1 network UPS tools - core system
>
> Here is the ups.conf file:
> $ sudo cat /etc/nut/ups.conf
> [pw5110]
> driver = bcmxcp_usb
> port = auto
>
> Here's what happens when I try to get the driver to talk to the UPS:
> $ sudo /lib/nut/bcmxcp_usb -DD -a pw5110
> Network UPS Tools - BCMXCP UPS driver 0.23 (2.4.3)
> USB communication subdriver 0.18
> 0.000000 debug level is '2'
> 0.008810 device 004 opened successfully
> 0.011517 entering get_answer(31)
> 0.013401 get_answer: (8 bytes) => ab 01 79 01 02 50 00 50
> 0.014623 get_answer: block_number = 1
> 0.015972 get_answer: need to read 118 more data
> 0.017549 get_answer: (16 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.018769 get_answer: block_number = 1
> 0.019927 get_answer: need to read 110 more data
> 0.030671 get_answer: (24 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.031399 4f 57 45 52 57 41 52 45
> 0.031564 get_answer: block_number = 1
> 0.032179 get_answer: need to read 102 more data
> 0.046680 get_answer: (32 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.047836 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c
> 0.048017 get_answer: block_number = 1
> 0.048165 get_answer: need to read 94 more data
> 0.062676 get_answer: (40 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.063836 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c 00 00 00
> 00 00 00 00 00
> 0.064508 get_answer: block_number = 1
> 0.064703 get_answer: need to read 86 more data
> 0.078676 get_answer: (48 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.079436 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c 00 00 00
> 00 00 00 00 00 00
> 0.080076 00 00 00 00 00 00 00
> 0.080230 get_answer: block_number = 1
> 0.080842 get_answer: need to read 78 more data
> 0.094677 get_answer: (56 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.095441 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c 00 00 00
> 00 00 00 00 00 00
> 0.096094 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 0.096245 get_answer: block_number = 1
> 0.097018 get_answer: need to read 70 more data
> 0.110676 get_answer: (64 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.111436 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c 00 00 00
> 00 00 00 00 00 00
> 0.111642 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51
> 51 00 00 00
> 0.112272 get_answer: block_number = 1
> 0.112436 get_answer: need to read 62 more data
> 0.126675 get_answer: (72 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.127825 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c 00 00 00
> 00 00 00 00 00 00
> 0.128075 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51
> 51 00 00 00 00 51
> 0.128694 00 00 00 00 00 00
> 0.128843 get_answer: block_number = 1
> 0.128980 get_answer: need to read 54 more data
> 0.142678 get_answer: (80 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.143436 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c 00 00 00
> 00 00 00 00 00 00
> 0.144122 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51
> 51 00 00 00 00 51
> 0.144361 00 00 00 00 00 00 00 f0 00 f0 00 00 00 f0
> 0.145140 get_answer: block_number = 1
> 0.145314 get_answer: need to read 46 more data
> 0.158684 get_answer: (88 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.159443 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c 00 00 00
> 00 00 00 00 00 00
> 0.160119 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51
> 51 00 00 00 00 51
> 0.160332 00 00 00 00 00 00 00 f0 00 f0 00 00 00 f0 00 00 00 00 00
> 00 00 00
> 0.160956 get_answer: block_number = 1
> 0.161109 get_answer: need to read 38 more data
> 0.174685 get_answer: (96 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.175448 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c 00 00 00
> 00 00 00 00 00 00
> 0.176120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51
> 51 00 00 00 00 51
> 0.176798 00 00 00 00 00 00 00 f0 00 f0 00 00 00 f0 00 00 00 00 00
> 00 00 00 f0 00 00
> 0.176962 00 00 00 00 00
> 0.177545 get_answer: block_number = 1
> 0.177722 get_answer: need to read 30 more data
> 0.190678 get_answer: (104 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.191441 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c 00 00 00
> 00 00 00 00 00 00
> 0.192119 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51
> 51 00 00 00 00 51
> 0.192339 00 00 00 00 00 00 00 f0 00 f0 00 00 00 f0 00 00 00 00 00
> 00 00 00 f0 00 00
> 0.192986 00 00 00 00 00 00 51 00 00 51 00 00 00
> 0.193137 get_answer: block_number = 1
> 0.193879 get_answer: need to read 22 more data
> 0.206681 get_answer: (112 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.207443 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c 00 00 00
> 00 00 00 00 00 00
> 0.208120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51
> 51 00 00 00 00 51
> 0.208338 00 00 00 00 00 00 00 f0 00 f0 00 00 00 f0 00 00 00 00 00
> 00 00 00 f0 00 00
> 0.209013 00 00 00 00 00 00 51 00 00 51 00 00 00 00 00 00 00 00 00
> f0 00
> 0.209754 get_answer: block_number = 1
> 0.209948 get_answer: need to read 14 more data
> 0.222681 get_answer: (120 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.223448 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c 00 00 00
> 00 00 00 00 00 00
> 0.224117 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51
> 51 00 00 00 00 51
> 0.224409 00 00 00 00 00 00 00 f0 00 f0 00 00 00 f0 00 00 00 00 00
> 00 00 00 f0 00 00
> 0.224616 00 00 00 00 00 00 51 00 00 51 00 00 00 00 00 00 00 00 00
> f0 00 00 00 00 00
> 0.225261 00 00 00 00
> 0.225409 get_answer: block_number = 1
> 0.225552 get_answer: need to read 6 more data
> 0.238682 get_answer: (128 bytes) => ab 01 79 01 02 50 00 50 01 00 0e
> 00 01 00 10 50
> 0.239445 4f 57 45 52 57 41 52 45 20 55 50 53 20 20 20 5c 00 00 00
> 00 00 00 00 00 00
> 0.240107 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51
> 51 00 00 00 00 51
> 0.240351 00 00 00 00 00 00 00 f0 00 f0 00 00 00 f0 00 00 00 00 00
> 00 00 00 f0 00 00
> 0.240558 00 00 00 00 00 00 51 00 00 51 00 00 00 00 00 00 00 00 00
> f0 00 00 00 00 00
> 0.241334 00 00 00 00 00 00 00 f0 18 3b ab 01
> 0.241969 get_answer: block_number = 1
> 0.242121 get_answer: sequence number (1) is ok
> 0.242254 get_answer: checksum is ok
> 0.242891 get_answer: block_number = 1
> 0.243072 Communications with UPS lost: get_answer: not the right
> sequence received 0!!!
>
> It looks like the above is repeated four times, then:
>
> 1.267930 Communications with UPS lost: Error executing command
> 1.268240 Could not communicate with the ups: Resource temporarily
> unavailable
> 1.268420 CLOSING
>
> I've taken out all the config relating to the MGE UPS, and there is only
> config for the 5110 in the nut config files. I've also used the old
> chestnut of turning everything off and back on again (RaspberryPi and the
> 5110), but with no luck, the same driver error happens.
>
> I've searched the nut mail list and googled around a bit, but haven't been
> able to find a solution. Any assistance would be greatly appreciated! (I
> hope it's not an issue with this driver on the arm architecture!)
>
> Thanks,
> Greg
>
I've just made a quick test on an Opengear ACM 50004-2 (ARM supervision
appliance).
For the record:
- uname -a: Linux acm5004-2 2.6.30.2-uc0 #1 Tue Feb 15 09:30:54 EST 2011
armv4tl unknown
- nut version: 2.4.3 (so bcmxcp_usb 0.23)
- tried with a PW5110 (ups.firmware: Cont:00.50 Inve:01.50)
and everything worked like a charm.
That said, Charles and Kjell comments are fully valid.
That is, try with the latest version (2.6.4). It has at least more debug
traces to help getting visibility.
Could you perhaps test the 5110 on your Ubuntu system, with a recent NUT?
As a side note, I still hope to rewrite this driver, part of 2.8.0.
It will however depend on my available time, and the progress on the main
2.8.0 items...
cheers,
Arnaud
--
Linux / Unix / Opensource Engineering Expert - Eaton -
http://opensource.eaton.com
Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org
Debian Developer - http://www.debian.org
Free Software Developer - http://arnaud.quette.fr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20120718/6230d36d/attachment-0001.html>
More information about the Nut-upsuser
mailing list