2012/4/16 Ivan Kuznetsov <[email protected]> > 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@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@localhost] > 0.001065 Logged into UPS socomec@localhost > 0.001127 pollups: socomec@localhost > 0.001137 get_var: socomec@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/
netvision-mib-1.diff
Description: Binary data
_______________________________________________ Nut-upsdev mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/nut-upsdev
