[Nut-upsdev] Snmp-ups/netvision driver for Socomec UPS

Arnaud Quette aquette.dev at gmail.com
Tue Apr 24 13:59:18 UTC 2012


2012/4/16 Ivan Kuznetsov <kia at solvo.ru>

> Hello
>

Hello Ivan,


> We have an Socomec Sicon Netys PR3000 UPS equipped with NetVision Web/SNMP
> adaptor. I try to monitor the ups using snmp-ups driver and netvision mibs
> set. The snmp-ups driver starts correctly and connects to the UPS, upsd
> confirms it, but upsmon constantly shows "No communication" error
>
> I think the cause is the SNMP adapter reports the UPS status as "ECO mode"
> (snmpget .1.3.6.1.4.1.4555.1.1.1.1.4.1.**0 returns 9), but snmp-ups does
> not correctly process this. Here is output of 'snmp-ups -a socomec -u nut
> -D':
>
> Network UPS Tools - Generic SNMP UPS driver 0.50 (2.6.1)
>   0.000000     debug level is '1'
>   0.000260     SNMP UPS driver : entering upsdrv_initups()
>   0.027868     load_mib2nut: trying netvision mib
>   0.029798     load_mib2nut: using netvision mib
>   0.031731     Detected NETYS 3 kVA on host 192.168.0.227 (mib: netvision
> 0.1)
>   0.031751     SNMP UPS driver : entering upsdrv_initinfo()
>   0.031785     getting data: ups.mfr (.1.3.6.1.4.1.4555.1.1.1.1.1.**3.0)
>   0.033823     entering su_setinfo(ups.mfr)
>   0.033836     getting data: ups.model (.1.3.6.1.4.1.4555.1.1.1.1.1.**1.0)
>   0.035731     entering su_setinfo(ups.model)
>   0.035744     getting data: ups.serial (.1.3.6.1.4.1.4555.1.1.1.1.1.**
> 4.0)
>   0.037646     entering su_setinfo(ups.serial)
>   0.037662     getting data: ups.firmware.aux (.1.3.6.1.4.1.4555.1.1.1.1.1.
> **2.0)
>   0.039497     entering su_setinfo(ups.firmware.aux)
>   0.039512     getting data: ups.status (.1.3.6.1.4.1.4555.1.1.1.1.2.**
> 1.0)
>   0.041373     su_find_infoval: found  (value: 2)
>   0.041383     getting data: ups.status (.1.3.6.1.4.1.4555.1.1.1.1.4.**
> 1.0)
>   0.043248     su_find_infoval: found  (value: 9)
>   0.043258     getting data: ups.load (.1.3.6.1.4.1.4555.1.1.1.1.4.**
> 4.1.4.1)
>   0.045975     entering su_setinfo(ups.load)
>   0.045987     getting data: input.voltage (.1.3.6.1.4.1.4555.1.1.1.1.3.**
> 3.1.5.1)
>   0.047973     entering su_setinfo(input.voltage)
>   0.047984     getting data: output.voltage (.1.3.6.1.4.1.4555.1.1.1.1.4.*
> *4.1.2.1)
>   0.050015     entering su_setinfo(output.voltage)
>   0.050026     getting data: output.current (.1.3.6.1.4.1.4555.1.1.1.1.4.*
> *4.1.3.1)
>   0.052065     entering su_setinfo(output.current)
>   0.052076     getting data: battery.charge (.1.3.6.1.4.1.4555.1.1.1.1.2.*
> *4.0)
>   0.053919     entering su_setinfo(battery.charge)
>   0.053930     getting data: battery.voltage (.1.3.6.1.4.1.4555.1.1.1.1.2.
> **5.0)
>   0.055797     entering su_setinfo(battery.voltage)
>   0.055807     getting data: battery.runtime (.1.3.6.1.4.1.4555.1.1.1.1.2.
> **3.0)
>   0.057690     entering su_setinfo(battery.runtime)
>   0.057701     SNMP UPS driver : entering upsdrv_updateinfo()
>   0.057712     getting data: ups.status (.1.3.6.1.4.1.4555.1.1.1.1.2.**
> 1.0)
>   0.059597     su_find_infoval: found  (value: 2)
>   0.059606     getting data: ups.status (.1.3.6.1.4.1.4555.1.1.1.1.4.**
> 1.0)
>   0.061446     su_find_infoval: found  (value: 9)
>   0.061455     getting data: ups.load (.1.3.6.1.4.1.4555.1.1.1.1.4.**
> 4.1.4.1)
>   0.063468     entering su_setinfo(ups.load)
>   0.063478     getting data: input.voltage (.1.3.6.1.4.1.4555.1.1.1.1.3.**
> 3.1.5.1)
>   0.065502     entering su_setinfo(input.voltage)
>   0.065515     getting data: output.voltage (.1.3.6.1.4.1.4555.1.1.1.1.4.*
> *4.1.2.1)
>   0.067566     entering su_setinfo(output.voltage)
>   0.067576     getting data: output.current (.1.3.6.1.4.1.4555.1.1.1.1.4.*
> *4.1.3.1)
>   0.069588     entering su_setinfo(output.current)
>   0.069598     getting data: battery.charge (.1.3.6.1.4.1.4555.1.1.1.1.2.*
> *4.0)
>   0.071446     entering su_setinfo(battery.charge)
>   0.071456     getting data: battery.voltage (.1.3.6.1.4.1.4555.1.1.1.1.2.
> **5.0)
>   0.073318     entering su_setinfo(battery.voltage)
>   0.073328     getting data: battery.runtime (.1.3.6.1.4.1.4555.1.1.1.1.2.
> **3.0)
>   0.075173     entering su_setinfo(battery.runtime)
>   0.075234     SNMP UPS driver : entering upsdrv_updateinfo()
>
> And 'upsmon -u nut -DDD' output:
>
> Network UPS Tools upsmon 2.6.1
>   0.000000     UPS: socomec at localhost (master) (power value 1)
>   0.000090     Using power down flag file /etc/killpower
>   0.000213     debug level is '3'
>   0.000705     Trying to connect to UPS [socomec at localhost]
>   0.001065     Logged into UPS socomec at localhost
>   0.001127     pollups: socomec at localhost
>   0.001137     get_var: socomec at localhost / status
>   0.001186     parse_status: []
>   0.001209     do_notify: ntype 0x0005 (COMMBAD)
>   0.001220     Communication with the UPS is lost
>
> In netvision-mib.c I see that ups.status field is constructed from
> NETVISION_OID_BATTERYSTATUS (.1.3.6.1.4.1.4555.1.1.1.1.2.**1.0) and
> NETVISION_OID_OUTPUT_SOURCE (.1.3.6.1.4.1.4555.1.1.1.1.4.**1.0).
>
> Battery status is normal (value 2), value for netvision_batt_info is ""
> (empty string). Good.
> Output status has value 9, netvision_output_info is empty string too.
> Looks false because the UPS is on and works in high-efficiency UPS mode.
> The result is that ups.status get an empty string value, which confuses
> upsmon.
>

agreed.
in the same spirit, "Output status==8" should probably be processed as "OL"
too.
can you please confirm the attached patch, before I commit it?

cheers,
Arnaud
-- 
Linux / Unix Expert R&D - Eaton - http://powerquality.eaton.com
Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/
Debian Developer - http://www.debian.org
Free Software Developer - http://arnaud.quette.free.fr/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/nut-upsdev/attachments/20120424/4aa8d2bf/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: netvision-mib-1.diff
Type: application/octet-stream
Size: 553 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/nut-upsdev/attachments/20120424/4aa8d2bf/attachment-0001.obj>


More information about the Nut-upsdev mailing list