networkupstools / nut

The Network UPS Tools repository. UPS management protocol Informational RFC 9271 published by IETF at https://www.rfc-editor.org/info/rfc9271 Please star NUT on GitHub, this helps with sponsorships!
https://networkupstools.org/
Other
2.03k stars 350 forks source link

Tripp-Lite SNMPWEBCARD segfault/errors with snmp-ups driver #171

Closed willglynn closed 8 years ago

willglynn commented 9 years ago

I've gotten this (sort of?) working:

# cat /usr/local/etc/nut/ups.conf
[tripplite]
    driver = snmp-ups
    port = 172.16.3.35
    desc = "Tripp-Lite SUINT3000RTXL2U"
    pollfreq = 15
    snmp_version = v2c
    community = public
    mibs = ietf
# upsc -h
Network UPS Tools upsc 2.7.1
…
# upsc tripplite
battery.charge: 100.00
battery.runtime: 6780.00
battery.temperature: 28.00
battery.voltage: 82.50
device.mfr: Tripp Lite
device.model: TRIPP LITE SUINT3000RTX
device.type: ups
driver.name: snmp-ups
driver.parameter.mibs: ietf
driver.parameter.pollfreq: 15
driver.parameter.pollinterval: 2
driver.parameter.port: 172.16.3.35
driver.parameter.snmp_version: v2c
driver.version: 2.7.1
driver.version.data: ietf MIB 1.4
driver.version.internal: 0.70
input.bypass.phases: 0.00
input.current: 0.00
input.frequency: 60.00
input.phases: 1.00
input.realpower: 0.00
input.voltage: 253.00
output.current: 0.10
output.frequency: 60.00
output.phases: 1.00
output.voltage: 230.00
ups.firmware: 10
ups.firmware.aux: 12.04.0053
ups.load: 0.00
ups.mfr: Tripp Lite
ups.model: TRIPP LITE SUINT3000RTX
ups.status: 

(ups.status: is bad, right? That should be OL or something?)

This configuration yields some "unhandled ASN" errors:

pegasus# ./snmp-ups -DD -a tripplite  
Network UPS Tools - Generic SNMP UPS driver 0.70 (2.7.1)
   0.000000 debug level is '2'
   0.000518 SNMP UPS driver : entering upsdrv_initups()
   0.000529 SNMP UPS driver : entering nut_snmp_init(snmp-ups)
   0.024733 SNMP UPS driver : entering load_mib2nut(ietf)
   0.024751 load_mib2nut: trying classic method with 'ietf' mib
   0.028699 load_mib2nut: using ietf mib
   0.031956 Detected TRIPP LITE SUINT3000RTX on host 172.16.3.35 (mib: ietf 1.4)
   0.031996 SNMP UPS driver : entering upsdrv_initinfo()
   0.035013 upsdrv_initinfo(): adding command 'test.battery.stop'
   0.038446 upsdrv_initinfo(): adding command 'test.battery.start'
   0.041473 upsdrv_initinfo(): adding command 'test.battery.start.quick'
   0.044494 upsdrv_initinfo(): adding command 'test.battery.start.deep'
   0.047970 upsdrv_initinfo(): adding command 'load.off'
   0.050993 upsdrv_initinfo(): adding command 'load.on'
   0.054019 upsdrv_initinfo(): adding command 'beeper.disable'
   0.058049 upsdrv_initinfo(): adding command 'beeper.enable'
   0.061067 upsdrv_initinfo(): adding command 'beeper.mute'
   0.061082 getting data: ups.mfr (1.3.6.1.2.1.33.1.1.1.0)
   0.061089 su_ups_get: ups.mfr 1.3.6.1.2.1.33.1.1.1.0
   0.064337 entering su_setinfo(ups.mfr)
   0.064357 => value: Tripp Lite
   0.064362 getting data: ups.model (1.3.6.1.2.1.33.1.1.2.0)
   0.064370 su_ups_get: ups.model 1.3.6.1.2.1.33.1.1.2.0
   0.068050 entering su_setinfo(ups.model)
   0.068070 => value: TRIPP LITE SUINT3000RTX
   0.068075 getting data: ups.firmware (1.3.6.1.2.1.33.1.1.3.0)
   0.068079 su_ups_get: ups.firmware 1.3.6.1.2.1.33.1.1.3.0
   0.071421 entering su_setinfo(ups.firmware)
   0.071440 => value: 10
   0.071445 getting data: ups.firmware.aux (1.3.6.1.2.1.33.1.1.4.0)
   0.071450 su_ups_get: ups.firmware.aux 1.3.6.1.2.1.33.1.1.4.0
   0.074602 entering su_setinfo(ups.firmware.aux)
   0.074623 => value: 12.04.0053
   0.074628 getting data: ups.status (1.3.6.1.2.1.33.1.2.1.0)
   0.074632 su_ups_get: ups.status 1.3.6.1.2.1.33.1.2.1.0
   0.078433 SNMP UPS driver : entering su_status_set()
   0.078447 su_find_infoval: found  (value: 2)
   0.078451 => value: 2
   0.078456 getting data: battery.runtime (1.3.6.1.2.1.33.1.2.3.0)
   0.078461 su_ups_get: battery.runtime 1.3.6.1.2.1.33.1.2.3.0
   0.082004 entering su_setinfo(battery.runtime)
   0.082020 => value: 6660.00
   0.082027 getting data: battery.charge (1.3.6.1.2.1.33.1.2.4.0)
   0.082031 su_ups_get: battery.charge 1.3.6.1.2.1.33.1.2.4.0
   0.085353 entering su_setinfo(battery.charge)
   0.085369 => value: 100.00
   0.085374 getting data: battery.voltage (1.3.6.1.2.1.33.1.2.5.0)
   0.085379 su_ups_get: battery.voltage 1.3.6.1.2.1.33.1.2.5.0
   0.089719 entering su_setinfo(battery.voltage)
   0.089735 => value: 82.50
   0.089740 getting data: battery.current (1.3.6.1.2.1.33.1.2.6.0)
   0.089745 su_ups_get: battery.current 1.3.6.1.2.1.33.1.2.6.0
   0.093321 [tripplite] unhandled ASN 0x81 received from 1.3.6.1.2.1.33.1.2.6.0
   0.093334 => Failed
   0.093339 getting data: battery.temperature (1.3.6.1.2.1.33.1.2.7.0)
   0.093343 su_ups_get: battery.temperature 1.3.6.1.2.1.33.1.2.7.0
   0.097491 entering su_setinfo(battery.temperature)
   0.097509 => value: 28.00
   0.097515 getting data: input.phases (1.3.6.1.2.1.33.1.3.2.0)
   0.097522 su_ups_get: input.phases 1.3.6.1.2.1.33.1.3.2.0
   0.100930 setvar 1.3.6.1.2.1.33.1.3.2.0
   0.100944 entering su_setinfo(input.phases)
   0.100954 => value: 1.00
   0.100959 Check input_phases
   0.100963 input_phases is 1
   0.100970 getting data: input.frequency (1.3.6.1.2.1.33.1.3.3.1.2.1)
   0.100973 su_ups_get: input.frequency 1.3.6.1.2.1.33.1.3.3.1.2.1
   0.104218 entering su_setinfo(input.frequency)
   0.104234 => value: 59.00
   0.104239 Check input_phases
   0.104243 input_phases is not 3
   0.104247 Check input_phases
   0.104254 input_phases is not 3
   0.104257 Check input_phases
   0.104260 input_phases is not 3
   0.104262 Check input_phases
   0.104265 input_phases is 1
   0.104269 getting data: input.voltage (1.3.6.1.2.1.33.1.3.3.1.3.1)
   0.104272 su_ups_get: input.voltage 1.3.6.1.2.1.33.1.3.3.1.3.1
   0.107905 entering su_setinfo(input.voltage)
   0.107922 => value: 253.00
   0.107926 Check input_phases
   0.107932 input_phases is not 3
   0.107940 Check input_phases
   0.107943 input_phases is not 3
   0.107945 Check input_phases
   0.107948 input_phases is not 3
   0.107950 Check input_phases
   0.107955 input_phases is 1
   0.107958 getting data: input.current (1.3.6.1.2.1.33.1.3.3.1.4.1)
   0.107961 su_ups_get: input.current 1.3.6.1.2.1.33.1.3.3.1.4.1
   0.111174 entering su_setinfo(input.current)
   0.111191 => value: 0.00
   0.111195 Check input_phases
   0.111199 input_phases is not 3
   0.111203 Check input_phases
   0.111207 input_phases is not 3
   0.111214 Check input_phases
   0.111217 input_phases is not 3
   0.111219 Check input_phases
   0.111224 input_phases is 1
   0.111227 getting data: input.realpower (1.3.6.1.2.1.33.1.3.3.1.5.1)
   0.111230 su_ups_get: input.realpower 1.3.6.1.2.1.33.1.3.3.1.5.1
   0.114453 entering su_setinfo(input.realpower)
   0.114471 => value: 0.00
   0.114475 Check input_phases
   0.114479 input_phases is not 3
   0.114488 Check input_phases
   0.114491 input_phases is not 3
   0.114493 Check input_phases
   0.114496 input_phases is not 3
   0.114499 getting data: ups.status (1.3.6.1.2.1.33.1.4.1.0)
   0.114503 su_ups_get: ups.status 1.3.6.1.2.1.33.1.4.1.0
   0.118561 SNMP UPS driver : entering su_status_set()
   0.118575 su_find_infoval: no matching INFO_* value for this OID value (8)
   0.118580 => value: 8
   0.118585 getting data: output.frequency (1.3.6.1.2.1.33.1.4.2.0)
   0.118589 su_ups_get: output.frequency 1.3.6.1.2.1.33.1.4.2.0
   0.121993 entering su_setinfo(output.frequency)
   0.122010 => value: 60.00
   0.122015 getting data: output.phases (1.3.6.1.2.1.33.1.4.3.0)
   0.122021 su_ups_get: output.phases 1.3.6.1.2.1.33.1.4.3.0
   0.125464 setvar 1.3.6.1.2.1.33.1.4.3.0
   0.125478 entering su_setinfo(output.phases)
   0.125489 => value: 1.00
   0.125493 Check output_phases
   0.125501 output_phases is 1
   0.125505 getting data: output.voltage (1.3.6.1.2.1.33.1.4.4.1.2.1)
   0.125508 su_ups_get: output.voltage 1.3.6.1.2.1.33.1.4.4.1.2.1
   0.129213 entering su_setinfo(output.voltage)
   0.129231 => value: 230.00
   0.129235 Check output_phases
   0.129239 output_phases is not 3
   0.129244 Check output_phases
   0.129252 output_phases is not 3
   0.129254 Check output_phases
   0.129257 output_phases is not 3
   0.129260 Check output_phases
   0.129262 output_phases is 1
   0.129267 getting data: output.current (1.3.6.1.2.1.33.1.4.4.1.3.1)
   0.129270 su_ups_get: output.current 1.3.6.1.2.1.33.1.4.4.1.3.1
   0.132582 entering su_setinfo(output.current)
   0.132599 => value: 0.10
   0.132603 Check output_phases
   0.132607 output_phases is not 3
   0.132611 Check output_phases
   0.132615 output_phases is not 3
   0.132622 Check output_phases
   0.132624 output_phases is not 3
   0.132627 Check output_phases
   0.132630 output_phases is 1
   0.132633 getting data: output.realpower (1.3.6.1.2.1.33.1.4.4.1.4.1)
   0.132636 su_ups_get: output.realpower 1.3.6.1.2.1.33.1.4.4.1.4.1
   0.135967 [tripplite] unhandled ASN 0x81 received from 1.3.6.1.2.1.33.1.4.4.1.4.1
   0.135979 => Failed
   0.135984 Check output_phases
   0.135990 output_phases is not 3
   0.135993 Check output_phases
   0.135997 output_phases is not 3
   0.136004 Check output_phases
   0.136007 output_phases is not 3
   0.136010 Check output_phases
   0.136012 output_phases is 1
   0.136015 getting data: ups.load (1.3.6.1.2.1.33.1.4.4.1.5.1)
   0.136019 su_ups_get: ups.load 1.3.6.1.2.1.33.1.4.4.1.5.1
   0.139898 entering su_setinfo(ups.load)
   0.139915 => value: 0.00
   0.139920 Check output_phases
   0.139924 output_phases is not 3
   0.139928 Check output_phases
   0.139932 output_phases is not 3
   0.139939 Check output_phases
   0.139941 output_phases is not 3
   0.139944 getting data: input.bypass.phases (1.3.6.1.2.1.33.1.5.2.0)
   0.139948 su_ups_get: input.bypass.phases 1.3.6.1.2.1.33.1.5.2.0
   0.143385 setvar 1.3.6.1.2.1.33.1.5.2.0
   0.143398 entering su_setinfo(input.bypass.phases)
   0.143410 => value: 0.00
   0.143420 Check bypass_phases
   0.143424 Check bypass_phases
   0.143426 Check bypass_phases
   0.143429 Check bypass_phases
   0.143431 Check bypass_phases
   0.143434 Check bypass_phases
   0.143437 Check bypass_phases
   0.143440 Check bypass_phases
   0.143442 Check bypass_phases
   0.143445 Check bypass_phases
   0.143448 Check bypass_phases
   0.143451 Check bypass_phases
   0.143453 Check bypass_phases
   0.143456 getting data: ups.status (1.3.6.1.2.1.33.1.6.3.8)
   0.143459 su_ups_get: ups.status 1.3.6.1.2.1.33.1.6.3.8
   0.147102 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.6.3.8
   0.147115 => Failed
   0.147120 getting data: ups.status (1.3.6.1.2.1.33.1.7.1.0)
   0.147126 su_ups_get: ups.status 1.3.6.1.2.1.33.1.7.1.0
   0.150134 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.7.1.0
   0.150146 => Failed
   0.150151 SU_CMD_MASK => 1.3.6.1.2.1.33.1.7.1.0
   0.150157 SU_CMD_MASK => 1.3.6.1.2.1.33.1.7.1.0
   0.150161 SU_CMD_MASK => 1.3.6.1.2.1.33.1.7.1.0
   0.150165 SU_CMD_MASK => 1.3.6.1.2.1.33.1.7.1.0
   0.150173 getting data: ups.test.result (1.3.6.1.2.1.33.1.7.3.0)
   0.150176 su_ups_get: ups.test.result 1.3.6.1.2.1.33.1.7.3.0
   0.153174 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.7.3.0
   0.153187 => Failed
   0.153192 getting data: ups.timer.shutdown (1.3.6.1.2.1.33.1.8.2.0)
   0.153198 su_ups_get: ups.timer.shutdown 1.3.6.1.2.1.33.1.8.2.0
   0.156613 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.8.2.0
   0.156626 => Failed
   0.156631 SU_CMD_MASK => 1.3.6.1.2.1.33.1.8.2.0
   0.156637 getting data: ups.timer.start (1.3.6.1.2.1.33.1.8.3.0)
   0.156644 su_ups_get: ups.timer.start 1.3.6.1.2.1.33.1.8.3.0
   0.159658 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.8.3.0
   0.159671 => Failed
   0.159676 SU_CMD_MASK => 1.3.6.1.2.1.33.1.8.3.0
   0.159681 getting data: ups.timer.reboot (1.3.6.1.2.1.33.1.8.4.0)
   0.159686 su_ups_get: ups.timer.reboot 1.3.6.1.2.1.33.1.8.4.0
   0.162700 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.8.4.0
   0.162713 => Failed
   0.162718 getting data: ups.start.auto (1.3.6.1.2.1.33.1.8.5.0)
   0.162723 su_ups_get: ups.start.auto 1.3.6.1.2.1.33.1.8.5.0
   0.165730 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.8.5.0
   0.165742 => Failed
   0.165747 getting data: input.voltage.nominal (1.3.6.1.2.1.33.1.9.1.0)
   0.165753 su_ups_get: input.voltage.nominal 1.3.6.1.2.1.33.1.9.1.0
   0.169122 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.9.1.0
   0.169135 => Failed
   0.169140 getting data: input.frequency.nominal (1.3.6.1.2.1.33.1.9.2.0)
   0.169146 su_ups_get: input.frequency.nominal 1.3.6.1.2.1.33.1.9.2.0
   0.172144 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.9.2.0
   0.172157 => Failed
   0.172162 getting data: output.voltage.nominal (1.3.6.1.2.1.33.1.9.3.0)
   0.172167 su_ups_get: output.voltage.nominal 1.3.6.1.2.1.33.1.9.3.0
   0.175179 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.9.3.0
   0.175191 => Failed
   0.175196 getting data: output.frequency.nominal (1.3.6.1.2.1.33.1.9.4.0)
   0.175202 su_ups_get: output.frequency.nominal 1.3.6.1.2.1.33.1.9.4.0
   0.179176 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.9.4.0
   0.179189 => Failed
   0.179194 getting data: output.power.nominal (1.3.6.1.2.1.33.1.9.5.0)
   0.179199 su_ups_get: output.power.nominal 1.3.6.1.2.1.33.1.9.5.0
   0.182212 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.9.5.0
   0.182224 => Failed
   0.182229 getting data: output.realpower.nominal (1.3.6.1.2.1.33.1.9.6.0)
   0.182234 su_ups_get: output.realpower.nominal 1.3.6.1.2.1.33.1.9.6.0
   0.185241 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.9.6.0
   0.185253 => Failed
   0.185259 getting data: battery.runtime.low (1.3.6.1.2.1.33.1.9.7.0)
   0.185264 su_ups_get: battery.runtime.low 1.3.6.1.2.1.33.1.9.7.0
   0.188630 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.9.7.0
   0.188647 => Failed
   0.188653 getting data: ups.beeper.status (1.3.6.1.2.1.33.1.9.8.0)
   0.188658 su_ups_get: ups.beeper.status 1.3.6.1.2.1.33.1.9.8.0
   0.191672 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.9.8.0
   0.191684 => Failed
   0.191689 SU_CMD_MASK => 1.3.6.1.2.1.33.1.9.8.0
   0.191695 SU_CMD_MASK => 1.3.6.1.2.1.33.1.9.8.0
   0.191699 SU_CMD_MASK => 1.3.6.1.2.1.33.1.9.8.0
   0.191704 getting data: input.transfer.low (1.3.6.1.2.1.33.1.9.9.0)
   0.191713 su_ups_get: input.transfer.low 1.3.6.1.2.1.33.1.9.9.0
   0.194853 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.9.9.0
   0.194865 => Failed
   0.194873 getting data: input.transfer.high (1.3.6.1.2.1.33.1.9.10.0)
   0.194877 su_ups_get: input.transfer.high 1.3.6.1.2.1.33.1.9.10.0
   0.198207 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.2.1.33.1.9.10.0
   0.198220 => Failed
   0.198225 SNMP UPS driver : entering upsdrv_updateinfo()
   0.198235 getting data: ups.status (1.3.6.1.2.1.33.1.2.1.0)
   0.198244 su_ups_get: ups.status 1.3.6.1.2.1.33.1.2.1.0
   0.201577 SNMP UPS driver : entering su_status_set()
   0.201591 su_find_infoval: found  (value: 2)
   0.201596 => value: 2
   0.201602 getting data: battery.runtime (1.3.6.1.2.1.33.1.2.3.0)
   0.201610 su_ups_get: battery.runtime 1.3.6.1.2.1.33.1.2.3.0
   0.204967 entering su_setinfo(battery.runtime)
   0.204982 => value: 6660.00
   0.204988 getting data: battery.charge (1.3.6.1.2.1.33.1.2.4.0)
   0.204992 su_ups_get: battery.charge 1.3.6.1.2.1.33.1.2.4.0
   0.208993 entering su_setinfo(battery.charge)
   0.209008 => value: 100.00
   0.209014 getting data: battery.voltage (1.3.6.1.2.1.33.1.2.5.0)
   0.209018 su_ups_get: battery.voltage 1.3.6.1.2.1.33.1.2.5.0
   0.212396 entering su_setinfo(battery.voltage)
   0.212410 => value: 82.50
   0.212417 getting data: battery.temperature (1.3.6.1.2.1.33.1.2.7.0)
   0.212421 su_ups_get: battery.temperature 1.3.6.1.2.1.33.1.2.7.0
   0.215751 entering su_setinfo(battery.temperature)
   0.215766 => value: 28.00
   0.215772 getting data: input.phases (1.3.6.1.2.1.33.1.3.2.0)
   0.215777 su_ups_get: input.phases 1.3.6.1.2.1.33.1.3.2.0
   0.219896 setvar 1.3.6.1.2.1.33.1.3.2.0
   0.219911 entering su_setinfo(input.phases)
   0.219918 => value: 1.00
   0.219924 getting data: input.frequency (1.3.6.1.2.1.33.1.3.3.1.2.1)
   0.219928 su_ups_get: input.frequency 1.3.6.1.2.1.33.1.3.3.1.2.1
   0.223170 entering su_setinfo(input.frequency)
   0.223185 => value: 59.00
   0.223192 getting data: input.voltage (1.3.6.1.2.1.33.1.3.3.1.3.1)
   0.223196 su_ups_get: input.voltage 1.3.6.1.2.1.33.1.3.3.1.3.1
   0.226852 entering su_setinfo(input.voltage)
   0.226867 => value: 253.00
   0.226873 getting data: input.current (1.3.6.1.2.1.33.1.3.3.1.4.1)
   0.226877 su_ups_get: input.current 1.3.6.1.2.1.33.1.3.3.1.4.1
   0.230112 entering su_setinfo(input.current)
   0.230127 => value: 0.00
   0.230133 getting data: input.realpower (1.3.6.1.2.1.33.1.3.3.1.5.1)
   0.230137 su_ups_get: input.realpower 1.3.6.1.2.1.33.1.3.3.1.5.1
   0.233383 entering su_setinfo(input.realpower)
   0.233399 => value: 0.00
   0.233406 getting data: ups.status (1.3.6.1.2.1.33.1.4.1.0)
   0.233410 su_ups_get: ups.status 1.3.6.1.2.1.33.1.4.1.0
   0.237543 SNMP UPS driver : entering su_status_set()
   0.237557 su_find_infoval: no matching INFO_* value for this OID value (8)
   0.237561 => value: 8
   0.237567 getting data: output.frequency (1.3.6.1.2.1.33.1.4.2.0)
   0.237571 su_ups_get: output.frequency 1.3.6.1.2.1.33.1.4.2.0
   0.240975 entering su_setinfo(output.frequency)
   0.240990 => value: 60.00
   0.240996 getting data: output.phases (1.3.6.1.2.1.33.1.4.3.0)
   0.241001 su_ups_get: output.phases 1.3.6.1.2.1.33.1.4.3.0
   0.244434 setvar 1.3.6.1.2.1.33.1.4.3.0
   0.244448 entering su_setinfo(output.phases)
   0.244456 => value: 1.00
   0.244461 getting data: output.voltage (1.3.6.1.2.1.33.1.4.4.1.2.1)
   0.244466 su_ups_get: output.voltage 1.3.6.1.2.1.33.1.4.4.1.2.1
   0.248166 entering su_setinfo(output.voltage)
   0.248182 => value: 230.00
   0.248188 getting data: output.current (1.3.6.1.2.1.33.1.4.4.1.3.1)
   0.248193 su_ups_get: output.current 1.3.6.1.2.1.33.1.4.4.1.3.1
   0.251516 entering su_setinfo(output.current)
   0.251531 => value: 0.10
   0.251537 getting data: ups.load (1.3.6.1.2.1.33.1.4.4.1.5.1)
   0.251541 su_ups_get: ups.load 1.3.6.1.2.1.33.1.4.4.1.5.1
   0.254837 entering su_setinfo(ups.load)
   0.254851 => value: 0.00
   0.254858 getting data: input.bypass.phases (1.3.6.1.2.1.33.1.5.2.0)
   0.254862 su_ups_get: input.bypass.phases 1.3.6.1.2.1.33.1.5.2.0
   0.259076 setvar 1.3.6.1.2.1.33.1.5.2.0
   0.259090 entering su_setinfo(input.bypass.phases)
   0.259099 => value: 0.00
   0.259104 Check bypass_phases
   0.259109 Check bypass_phases
   0.259116 Check bypass_phases
   0.259119 Check bypass_phases
   0.259121 Check bypass_phases
   0.259124 Check bypass_phases
   0.259127 Check bypass_phases
   0.259130 Check bypass_phases
   0.259133 Check bypass_phases
   0.259135 Check bypass_phases
   0.259138 Check bypass_phases
   0.259140 Check bypass_phases
   0.259143 Check bypass_phases
   0.259147 SU_CMD_MASK => 1.3.6.1.2.1.33.1.7.1.0
   0.259150 SU_CMD_MASK => 1.3.6.1.2.1.33.1.7.1.0
   0.259153 SU_CMD_MASK => 1.3.6.1.2.1.33.1.7.1.0
   0.259156 SU_CMD_MASK => 1.3.6.1.2.1.33.1.7.1.0
   0.259159 SU_CMD_MASK => 1.3.6.1.2.1.33.1.8.2.0
   0.259161 SU_CMD_MASK => 1.3.6.1.2.1.33.1.8.3.0
   0.259164 SU_CMD_MASK => 1.3.6.1.2.1.33.1.9.8.0
   0.259169 SU_CMD_MASK => 1.3.6.1.2.1.33.1.9.8.0
   0.259172 SU_CMD_MASK => 1.3.6.1.2.1.33.1.9.8.0
   0.259367 dstate_init: sock /var/db/nut/snmp-ups-tripplite open on fd 5
   0.259385 SNMP UPS driver : entering upsdrv_updateinfo()
   2.259668 SNMP UPS driver : entering upsdrv_updateinfo()
   4.260673 SNMP UPS driver : entering upsdrv_updateinfo()
   6.261665 SNMP UPS driver : entering upsdrv_updateinfo()
   8.262666 SNMP UPS driver : entering upsdrv_updateinfo()
  10.263671 SNMP UPS driver : entering upsdrv_updateinfo()
  12.264663 SNMP UPS driver : entering upsdrv_updateinfo()
  14.265669 SNMP UPS driver : entering upsdrv_updateinfo()
  16.266663 SNMP UPS driver : entering upsdrv_updateinfo()
  16.266686 getting data: ups.status (1.3.6.1.2.1.33.1.2.1.0)

When run with mibs = auto, snmp-ups segfaults:

# ./snmp-ups -DDD -a tripplite -x mibs=auto
Network UPS Tools - Generic SNMP UPS driver 0.70 (2.7.1)
   0.000000 debug level is '3'
   0.000509 SNMP UPS driver : entering upsdrv_initups()
   0.000520 SNMP UPS driver : entering nut_snmp_init(snmp-ups)
   0.024910 SNMP UPS driver : entering load_mib2nut(auto)
   0.024922 trying the new match_sysoid() method
   0.024927 Entering nut_snmp_get_str()
   0.024933 nut_snmp_get(.1.3.6.1.2.1.1.2.0)
   0.024936 nut_snmp_walk(.1.3.6.1.2.1.1.2.0)
   0.027834 match_sysoid: device sysOID value = .1.3.6.1.4.1.850.1
   0.027854 match_sysoid: checking MIB apcc
   0.027858 match_sysoid: checking MIB mge
   0.027863 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.4.1.705.1
   0.027870 match_sysoid: checking MIB netvision
   0.027874 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.4.1.4555.1.1.1
   0.027878 match_sysoid: checking MIB pw
   0.027882 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.4.1.534.1
   0.027885 match_sysoid: checking MIB aphel_genesisII
   0.027889 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.4.1.17373
   0.027892 match_sysoid: checking MIB aphel_revelation
   0.027896 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.4.1.534.6.6.6
   0.027899 match_sysoid: checking MIB eaton_epdu
   0.027905 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.4.1.534.6.6.7
   0.027909 match_sysoid: checking MIB pulizzi_switched1
   0.027915 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.4.1.20677.1
   0.027918 match_sysoid: checking MIB pulizzi_switched2
   0.027922 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.4.1.20677.2
   0.027925 match_sysoid: checking MIB raritan
   0.027929 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.4.1.13742
   0.027932 match_sysoid: checking MIB baytech
   0.027936 match_sysoid: checking MIB cpqpower
   0.027940 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.4.1.232.165.3
   0.027943 match_sysoid: checking MIB bestpower
   0.027948 match_sysoid: checking MIB cyberpower
   0.027952 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.4.1.3808
   0.027956 match_sysoid: checking MIB delta_ups
   0.027959 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.4.1.2254.2.4
   0.027963 match_sysoid: checking MIB ietf
   0.027971 match_sysoid: comparing .1.3.6.1.4.1.850.1 with .1.3.6.1.2.1.33
   0.027975 No matching MIB found for sysOID '.1.3.6.1.4.1.850.1'!
Please report it to NUT developers, with an 'upsc' output for your device.
Going back to the classic MIB detection method.
   0.027981 load_mib2nut: trying classic method with 'apcc' mib
   0.027984 Entering nut_snmp_get_str()
   0.027987 nut_snmp_get(.1.3.6.1.4.1.318.1.1.1.1.1.1.0)
   0.027990 nut_snmp_walk(.1.3.6.1.4.1.318.1.1.1.1.1.1.0)
   0.031501 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.318.1.1.1.1.1.1.0
   0.031515 load_mib2nut: trying classic method with 'mge' mib
   0.031520 Entering nut_snmp_get_str()
   0.031526 nut_snmp_get(.1.3.6.1.4.1.705.1.1.1.0)
   0.031531 nut_snmp_walk(.1.3.6.1.4.1.705.1.1.1.0)
   0.034469 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.705.1.1.1.0
   0.034483 load_mib2nut: trying classic method with 'netvision' mib
   0.034487 Entering nut_snmp_get_str()
   0.034493 nut_snmp_get(.1.3.6.1.4.1.4555.1.1.1.1.1.1.0)
   0.034497 nut_snmp_walk(.1.3.6.1.4.1.4555.1.1.1.1.1.1.0)
   0.037424 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.4555.1.1.1.1.1.1.0
   0.037437 load_mib2nut: trying classic method with 'pw' mib
   0.037442 Entering nut_snmp_get_str()
   0.037448 nut_snmp_get(1.3.6.1.4.1.534.1.1.2.0)
   0.037452 nut_snmp_walk(1.3.6.1.4.1.534.1.1.2.0)
   0.040877 [tripplite] unhandled ASN 0x80 received from 1.3.6.1.4.1.534.1.1.2.0
   0.040891 load_mib2nut: trying classic method with 'aphel_genesisII' mib
   0.040896 Entering nut_snmp_get_str()
   0.040901 nut_snmp_get(.1.3.6.1.4.1.17373.3.1.1.0)
   0.040905 nut_snmp_walk(.1.3.6.1.4.1.17373.3.1.1.0)
   0.043835 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.17373.3.1.1.0
   0.043848 load_mib2nut: trying classic method with 'aphel_revelation' mib
   0.043855 Entering nut_snmp_get_str()
   0.043859 nut_snmp_get(.1.3.6.1.4.1.534.6.6.6.1.1.12.0)
   0.043865 nut_snmp_walk(.1.3.6.1.4.1.534.6.6.6.1.1.12.0)
   0.046788 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.534.6.6.6.1.1.12.0
   0.046802 load_mib2nut: trying classic method with 'eaton_epdu' mib
   0.046806 Entering nut_snmp_get_str()
   0.046812 nut_snmp_get(.1.3.6.1.4.1.534.6.6.7.1.2.1.2.0)
   0.046816 nut_snmp_walk(.1.3.6.1.4.1.534.6.6.7.1.2.1.2.0)
   0.050178 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.534.6.6.7.1.2.1.2.0
   0.050191 load_mib2nut: trying classic method with 'pulizzi_switched1' mib
   0.050200 Entering nut_snmp_get_str()
   0.050204 nut_snmp_get(.1.3.6.1.4.1.20677.1)
   0.050208 nut_snmp_walk(.1.3.6.1.4.1.20677.1)
   0.053340 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.20677.1
   0.053354 load_mib2nut: trying classic method with 'pulizzi_switched2' mib
   0.053358 Entering nut_snmp_get_str()
   0.053362 nut_snmp_get(.1.3.6.1.4.1.20677.1)
   0.053367 nut_snmp_walk(.1.3.6.1.4.1.20677.1)
   0.056304 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.20677.1
   0.056317 load_mib2nut: trying classic method with 'raritan' mib
   0.056322 Entering nut_snmp_get_str()
   0.056327 nut_snmp_get(.1.3.6.1.4.1.13742.1.1.12.0)
   0.056331 nut_snmp_walk(.1.3.6.1.4.1.13742.1.1.12.0)
   0.059263 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.13742.1.1.12.0
   0.059276 load_mib2nut: trying classic method with 'baytech' mib
   0.059281 Entering nut_snmp_get_str()
   0.059286 nut_snmp_get(.1.3.6.1.4.1.4779.1.3.5.2.1.24.1)
   0.059290 nut_snmp_walk(.1.3.6.1.4.1.4779.1.3.5.2.1.24.1)
   0.063330 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.4779.1.3.5.2.1.24.1
   0.063344 load_mib2nut: trying classic method with 'cpqpower' mib
   0.063349 Entering nut_snmp_get_str()
   0.063353 nut_snmp_get(.1.3.6.1.4.1.232.165.3.1.1.0)
   0.063360 nut_snmp_walk(.1.3.6.1.4.1.232.165.3.1.1.0)
   0.066301 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.232.165.3.1.1.0
   0.066314 load_mib2nut: trying classic method with 'bestpower' mib
   0.066318 Entering nut_snmp_get_str()
   0.066323 nut_snmp_get(.1.3.6.1.4.1.2947.1.1.2.0)
   0.066328 nut_snmp_walk(.1.3.6.1.4.1.2947.1.1.2.0)
   0.069256 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.2947.1.1.2.0
   0.069266 load_mib2nut: trying classic method with 'cyberpower' mib
   0.069271 Entering nut_snmp_get_str()
   0.069275 nut_snmp_get(.1.3.6.1.4.1.3808.1.1.1.1.1.1.0)
   0.069279 nut_snmp_walk(.1.3.6.1.4.1.3808.1.1.1.1.1.1.0)
   0.072637 [tripplite] unhandled ASN 0x80 received from .1.3.6.1.4.1.3808.1.1.1.1.1.1.0
   0.072649 load_mib2nut: trying classic method with 'delta_ups' mib
   0.072653 Entering nut_snmp_get_str()
   0.072658 nut_snmp_get((null))
   0.072662 nut_snmp_walk((null))
Segmentation fault: 11

I've also captured full snmpwalk results, in numeric, symbolic, and debugging form.

clepple commented 9 years ago

I believe @aquette fixed that segfault in 8428fa576. Maybe he can help diagnose the empty ups.status field - as you pointed out, it should have some value there.

willglynn commented 9 years ago

Yep, that looks like the same segfault. I'm running FreeNAS which makes upgrading a nontrivial endeavor, but… good to know.

As to the ups.status emptiness, I thought that maybe updating from my old firmware (v53?) to the current firmware (v64) would be a good idea.

I was wrong. The new firmware ripped out the normal web interface and replaced it entirely with a Java applet that doesn't actually work. I hate it so much. (Also: now this bug is a moving target. Yay! Those are fun right?) I don't know what else it did, but… well, it didn't change the snmp-ups behavior.

Anyway, here's my current snmpwalk results for the RFC 1628 UPS OID:

$ snmpwalk -v2c -c tripplite -O fn 172.16.3.35 1.3.6.1.2.1.33
.1.3.6.1.2.1.33.1.1.1.0 = STRING: TRIPP LITE
.1.3.6.1.2.1.33.1.1.2.0 = STRING: SUINT3000RTX
.1.3.6.1.2.1.33.1.1.3.0 = STRING: 10
.1.3.6.1.2.1.33.1.1.4.0 = STRING: 12.06.0064
.1.3.6.1.2.1.33.1.1.5.0 = STRING: Device 1
.1.3.6.1.2.1.33.1.1.6.0 = STRING: ,,
.1.3.6.1.2.1.33.1.2.1.0 = INTEGER: batteryNormal(2)
.1.3.6.1.2.1.33.1.2.3.0 = INTEGER: 242 minutes
.1.3.6.1.2.1.33.1.2.4.0 = INTEGER: 100 percent
.1.3.6.1.2.1.33.1.2.5.0 = INTEGER: 825 0.1 Volt DC
.1.3.6.1.2.1.33.1.2.7.0 = INTEGER: 28 degrees Centigrade
.1.3.6.1.2.1.33.1.3.2.0 = INTEGER: 1
.1.3.6.1.2.1.33.1.3.3.1.1.1 = INTEGER: 1
.1.3.6.1.2.1.33.1.3.3.1.2.1 = INTEGER: 600 0.1 Hertz
.1.3.6.1.2.1.33.1.3.3.1.3.1 = INTEGER: 251 RMS Volts
.1.3.6.1.2.1.33.1.3.3.1.5.1 = INTEGER: 99 Watts
.1.3.6.1.2.1.33.1.4.1.0 = INTEGER: 9
.1.3.6.1.2.1.33.1.4.2.0 = INTEGER: 600 0.1 Hertz
.1.3.6.1.2.1.33.1.4.3.0 = INTEGER: 1
.1.3.6.1.2.1.33.1.4.4.1.1.1 = INTEGER: 1
.1.3.6.1.2.1.33.1.4.4.1.2.1 = INTEGER: 230 RMS Volts
.1.3.6.1.2.1.33.1.4.4.1.3.1 = INTEGER: 0 0.1 RMS Amp
.1.3.6.1.2.1.33.1.4.4.1.5.1 = INTEGER: 0 percent
.1.3.6.1.2.1.33.1.6.1.0 = INTEGER: 0
.1.3.6.1.2.1.33.1.9.1.0 = INTEGER: 240 RMS Volts
.1.3.6.1.2.1.33.1.9.3.0 = INTEGER: 240 RMS Volts
.1.3.6.1.2.1.33.1.9.8.0 = INTEGER: enabled(2)
.1.3.6.1.2.1.33.1.9.9.0 = INTEGER: 160 RMS Volts
.1.3.6.1.2.1.33.1.9.10.0 = INTEGER: 288 RMS Volts

And the corresponding console output, for comparison:

>> 

-------- Device 1  -------------------------------------------------------------

   Device Name           : Device 1     
   Location              :               Region                :              
   Vendor                : TRIPP LITE    Product               : SUINT3000RTX 
   Protocol              : 4005          Date Installed        : 2014-11-20   
   State                 : NORMAL        Type                  : UPS          
   Port Mode             : RS232         Port Name             : /com/1       
   Role                  : UPS           Keyword               : ups          
   Importance            : 1            
   Device Type           : On-Line       Firmware Version      : 10           
   Serial Number         : ----snip----- Device ID             : 0            
   Self Test Date        :               Self Test Status      : No Test      

    1- Status
    2- Identification
    3- Controls
    4- Events
    5- Loads
    6- Preferences and Thresholds
    7- Device Alarms
    8- Logs
    X/M- Return to Main Menu
    <ENTER> Refresh Menu

>> 1

-------- Device Status Menu ----------------------------------------------------

   System
   ======
   General Fault Alarm       : Normal                                           
   Site Wiring               : Wiring OK                                        

   Device
   ======
   Device Type               : On-Line                                          
   Self Test Date            :                                                  
   Self Test Status          : No Test                                          

   Battery
   =======
   Battery Status            : Normal                                           
   Battery Minutes Remaining : 242 Minutes                                      
   Battery Charge Remaining  : 100 %                                            
   Battery Voltage           : 82.5 V                                           
   Battery Temperature (C)   : 28.0 C                                           
   Battery Temperature (F)   : 82.4 F                                           
   Battery Age               : 0.0 Years                                        
   Battery Condition         : Good                                             
   Battery Charge            : Charging                                         
   Last Battery Replacement  : 071840416                                        
   Battery Fully Charged     : Yes                                              

   Input
   =====
   Input Frequency           : 60.0 Hz                                          
   Input Voltage             : 251.0 V                                          
   Input Power               : 102 W                                            
   Device Mode               : Utility                                          
   Tap State                 : Normal                                           
   Minimum Input Voltage     : 248.0 V                                          
   Maximum Input Voltage     : 254.0 V                                          
   Low Transfer Voltage      : 160 V                                            
   High Transfer Voltage     : 288 V                                            

   Output
   ======
   Output Source             : Economy                                          
   Output Frequency          : 60.0 Hz                                          
   Output Voltage            : 230.0 V                                          
   Output Current            : 0.6 A - Total                                    
   Output Load               : 0 %                                              

    X- Device Main Menu
    M- Return to Main Menu
    <ENTER> Refresh Menu

>> 

In particular, I note:

I wrote Tripp-Lite tech support asking them to explain since the values in SNMP make no sense to me. On the other hand, I'm sure there are other SNMPWEBCARDs in the wild; does it make sense to add workarounds?

clepple commented 9 years ago

I'm trying to get the attention of @aquette (since he wrote this driver) but it's not working ;-) I am not as familiar with the SNMP driver architecture, but we do have a lot of special cases in the USB HID PDC driver - so we could probably add a workaround for the upsOutputSource value. If you're feeling adventurous, you could hex-edit the table for ietf_power_source_info[] and change the "other" value to 9, but at some point, we should figure out an easy way to either inject new drivers into FreeNAS, or spin new FreeNAS beta-test images.

I'd try to get a few more data points towards the center of the rated load range before passing judgement on the load-related values. Often the low end of the scale is not linear, or the manufacturer did not properly factor out the converter load and losses.

willglynn commented 9 years ago

I think I can update my FreeNAS install by remounting / read-write and copying in replacement binaries. Now, I haven't exactly tried that, but I don't know why it wouldn't work, and I can't imagine there's much in the way of FreeBSD/FreeNAS ABI incompatibility that would bite me. I'm less sure about mixing nut components from different releases, but I could swap out all the associated bits in one fell swoop.

The SNMP driver doesn't need any hardware access, so I was thinking I could test patches and such from inside a jail, I just haven't set that up yet. Or, really, I can test it from any other system too. Well, any system except my Mac, since net-snmp 5.7.2.1 stable is known not to work on OSX >= 10.9 and net-snmp 5.7.3.pre3 is also broken here for reasons I haven't yet diagnosed. That would be too easy :-P

So: on this particular unit, my experimentation suggests that 9 means it's in "economy mode". Assuming we're adding workarounds, what should ups.status be? This UPS can operate in three modes: OL (double-converting line power), OB (inverting battery power), and… what do we label the third? SNMP other(1) maps to "", which is what we have now, and that's not helpful. Maybe OL BYPASS, since that's sorta true? (It's a sort of bypass that can un-bypass automatically…) Would it be legal and make sense to add OL ECONOMY? Alternately: the UPS is still adjusting voltage in this mode; should we compare upsInputVoltage.1 to upsOutputVoltage.1 and pick OL BOOST/OL TRIM as appropriate?

As for testing output figures under load: fair enough. There's very little equipment on that UPS right now, and I should be able to report higher utilization values soon. Still, upsOutputCurrent.1 is definitely broken; it's defined an integer number of tenths of an amp which should be able to report identical values when compared to the console, but it doesn't.

willglynn commented 9 years ago

Good news! I RTFM'd! Specifically, I found the section describing possible values for status_set. Seems like:

The manual for this UPS describes use of the front-panel Bypass LED: screen shot 2014-11-23 at 10 31 35 am

Maybe OL BYPASS is the best option for economy mode, with the fault bypass mode being OL BYPASS ALARM.

clepple commented 9 years ago

I still haven't had time to figure out the best way to add Tripp Lite detection to the IETF MIB (since another vendor might have a different interpretation of status 9) but I did run across this configure string for FreeNAS:

http://article.gmane.org/gmane.comp.monitoring.nut.user/8082

Although we don't guarantee binary compatibility between upsd and drivers from different versions of NUT, I know we haven't changed anything between 2.6.5 and 2.7.2+ that would cause problems if you were to just install a new snmp-ups driver.

willglynn commented 9 years ago

That configure string will be helpful. Thanks!

I think the foolproof way to identify a Tripp-Lite PowerAlert SNMP device is sysObjectID.0 (.1.3.6.1.2.1.1.2.0) = .1.3.6.1.4.1.850.1, and it would be reasonable to enable Tripp-Lite specific behavior based on that value. snmp-ups captures this already and appears to use it for identifying the appropriate MIB implementation.

We could plumb that identifier into ietf-mib somehow and use it for enabling vendor quirks inside the MIB sub-driver. Alternately, we could fork ietf-mib into tripplite-mib, modify it as appropriate, and match the Tripp-Lite identifier into the Tripp-Lite handler with no extra fuss.

garyemiller commented 8 years ago

Tripp-lite has updated the firmware on the SNMPWEBCARD to version 12.06.0067. a.k.a. v67. And yes the horrible Java web interface is still there...

The sysObjectID.0 is unchanged:

spidey MIBs # snmpwalk -c publ13 -On trip1.in.rellim.com sysObjectID.0 .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.850.1 spidey MIBs # snmpwalk -c publ13 trip1.in.rellim.com sysObjectID.0 RFC1213-MIB::sysObjectID.0 = OID: TRIPPLITE-MIB::tripplite.1

What needs to be done to finish the auto detect?

aquette commented 8 years ago

Hi @garyemiller

I've just added the sysOID ".1.3.6.1.4.1.850.1" to the IETF MIB: https://github.com/networkupstools/nut/commit/9f2fa1816ff2190f318d1544cb0080c104b523b5

Could you also please:

thanks and cheers Arno

aquette commented 8 years ago

@garyemiller and @willglynn : any news on this ticket? Your feedback would be gladly welcome to reach 2.7.4 and have this ticket closed. Thanks

aquette commented 8 years ago

retargetting to 2.7.5, since there is no user feedback.

bkcsfi commented 8 years ago

Hi, I have a TrippLite SNMPWebCard recently upgraded to the most recent firmware release

Driver Version : 12.06.0067.8625.8624 Engine Version : 12.06.0067.8625.8624

I've run the gen-snmp-subdriver mentioned above and attached the generated .c and .h file

bkc@orwell:/tmp? bash gen-snmp-subdriver.sh -H 10.1.253.20 sysOID retrieved: .1.3.6.1.4.1.850.1 Retrieving SNMP information. This may take some time

Please enter a name for this driver. Use only letters and numbers. Use natural (upper- and lowercase) capitalization, e.g., 'Belkin', 'APC'. Name of subdriver: TrippLiteSNMPWebCard COUNT = 0 / 0 gen-snmp-subdriver.sh: line 219: FIXME:: command not found gen-snmp-subdriver.sh: line 219: UDRIVER: command not found Creating tripplitesnmpwebcard-mib.h Creating tripplitesnmpwebcard-mib.c Done.

tripplitemib.zip

ssh to port 2112 on this device and running devstatus -v shows


01: SU3000RTXL3UHV 'Device 1'

Device Type: UPS Device Status: NORMAL

General Fault Alarm: Normal
Buzzer Status: On
Economic Mode Supported: No
Fan Status: OK

Device Type: On-Line
Self Test Date: 2016-01-08
Self Test Status: No Test

Battery Charge Remaining: 100 %
Battery Voltage: 83.4 V
Battery Temperature (F): 77.0 F
Battery Status: Normal
Seconds on Battery: 0 Seconds
Battery Temperature (C): 25.0 C
Battery Age: 0.3 Years
Battery Condition: Good
Battery Charge: Charging
Last Battery Replacement Date: 10/22/2014
Next Battery Replacement Date: 10/22/2019
Seconds On Battery: 0 Seconds

Device Mode: Utility
Input Voltage: 210.8 V
Input Frequency: 59.9 Hz
Input Frequency Rating: 60.0 Hz
Input Bad Alarm: Normal

Output Load: 0 %
Output Power: 0 W
Output Current: 0.0 A - Total
Output Voltage: 208.9 V
Output Frequency: 59.9 Hz
Output Source: Normal
Load State: Normal
Bypass Frequency: 0.0 Hz

Temperature Alarm: Normal

Outlets On: 1 2 3

snmpwalk

iso.3.6.1.4.1.850.10.1.1.0 = INTEGER: 1 iso.3.6.1.4.1.850.10.1.2.1.0 = IpAddress: 10.1.253.20 iso.3.6.1.4.1.850.10.1.2.2.0 = INTEGER: 5 iso.3.6.1.4.1.850.10.1.2.3.0 = STRING: "12.06.0067.8625.8624" iso.3.6.1.4.1.850.10.1.2.6.0 = STRING: "00:06:67:26:63:2F" iso.3.6.1.4.1.850.10.1.2.18.1.0 = INTEGER: 11 iso.3.6.1.4.1.850.10.1.2.18.2.0 = INTEGER: 80 iso.3.6.1.4.1.850.10.1.2.18.3.0 = INTEGER: 443 iso.3.6.1.4.1.850.10.1.2.18.4.0 = INTEGER: 23 iso.3.6.1.4.1.850.10.1.2.18.5.0 = INTEGER: 21 iso.3.6.1.4.1.850.10.1.2.20.0 = STRING: "ca9a4b65-cfa8-4b28-9254-0aa97389db83" iso.3.6.1.4.1.850.10.1.13.9.0 = STRING: "0.0.0.0:0" iso.3.6.1.4.1.850.10.2.1.0 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.2.1.1.1 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.2.1.2.1 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.2.1.3.1 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.2.1.4.1 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.2.1.5.1 = STRING: "/com/1" iso.3.6.1.4.1.850.10.2.2.1.8.1 = STRING: "Tripp Lite" iso.3.6.1.4.1.850.10.2.2.1.9.1 = STRING: "SU3000RTXL3UHV" iso.3.6.1.4.1.850.10.2.2.1.10.1 = STRING: "Device 1" iso.3.6.1.4.1.850.10.2.2.1.12.1 = "" iso.3.6.1.4.1.850.10.2.2.1.13.1 = "" iso.3.6.1.4.1.850.10.2.2.1.15.1 = STRING: "4000 (Unison RT)" iso.3.6.1.4.1.850.10.2.2.1.16.1 = STRING: "2016-01-08" iso.3.6.1.4.1.850.10.2.2.1.17.1 = INTEGER: 85 iso.3.6.1.4.1.850.10.2.2.1.18.1 = INTEGER: 16 iso.3.6.1.4.1.850.10.2.2.1.19.1 = INTEGER: 29 iso.3.6.1.4.1.850.10.2.2.1.20.1 = INTEGER: 3 iso.3.6.1.4.1.850.10.2.2.1.22.1 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.2.1.23.1 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.2.1.24.1 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.2.1.25.1 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.2.1.27.1 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.2.1.28.1 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.1 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.2 = INTEGER: 2 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.3 = INTEGER: 3 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.4 = INTEGER: 4 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.5 = INTEGER: 5 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.6 = INTEGER: 6 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.7 = INTEGER: 7 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.8 = INTEGER: 8 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.9 = INTEGER: 9 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.10 = INTEGER: 10 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.11 = INTEGER: 11 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.12 = INTEGER: 12 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.13 = INTEGER: 13 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.14 = INTEGER: 14 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.15 = INTEGER: 15 iso.3.6.1.4.1.850.10.2.3.2.1.1.1.16 = INTEGER: 16 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.1 = INTEGER: 2 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.2 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.3 = INTEGER: 2 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.4 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.5 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.6 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.7 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.8 = INTEGER: 2 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.9 = INTEGER: 2 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.10 = INTEGER: 1 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.11 = INTEGER: 2 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.12 = INTEGER: 3 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.13 = INTEGER: 3 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.14 = INTEGER: 2 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.15 = INTEGER: 2 iso.3.6.1.4.1.850.10.2.3.2.1.3.1.16 = INTEGER: 2 iso.3.6.1.4.1.850.10.2.3.2.1.4.1.1 = STRING: "Load Level Above Threshold" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.2 = STRING: "General Fault" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.3 = STRING: "On Battery" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.4 = STRING: "Output Source On Bypass" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.5 = STRING: "Battery Bad" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.6 = STRING: "Battery Low" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.7 = STRING: "Overload" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.8 = STRING: "Temperature High" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.9 = STRING: "Battery Capacity Below Warning Level" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.10 = STRING: "Output Off" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.11 = STRING: "Self Test Failed" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.12 = STRING: "Battery Age Above Threshold" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.13 = STRING: "Communications Lost" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.14 = STRING: "Loads Not All On" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.15 = STRING: "Load 01 Off" iso.3.6.1.4.1.850.10.2.3.2.1.4.1.16 = STRING: "Load 02 Off" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.1 = STRING: "Load Level Below Threshold" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.2 = STRING: "Fault Okay" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.3 = STRING: "On Utility Power" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.4 = STRING: "Output Source Normal" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.5 = STRING: "Battery Okay" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.6 = STRING: "Battery Okay" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.7 = STRING: "Load Okay" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.8 = STRING: "Temperature Okay" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.9 = STRING: "Battery Capacity Above Warning Level" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.10 = STRING: "Output On" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.11 = STRING: "Self Test Passed" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.12 = STRING: "Battery Age Is OK" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.13 = STRING: "Communications Established" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.14 = STRING: "Loads All On" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.15 = STRING: "Load 01 On" iso.3.6.1.4.1.850.10.2.3.2.1.5.1.16 = STRING: "Load 02 On" iso.3.6.1.4.1.850.10.2.3.2.1.6.1.1 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.2 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.3 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.4 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.5 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.6 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.7 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.8 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.9 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.10 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.11 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.12 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.13 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.14 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.15 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.6.1.16 = INTEGER: 0 iso.3.6.1.4.1.850.10.2.3.2.1.23.1.1 = STRING: "Reduce the equipment draw on this device" iso.3.6.1.4.1.850.10.2.3.2.1.23.1.2 = STRING: "Possible unit replacement needed" iso.3.6.1.4.1.850.10.2.3.2.1.23.1.3 = STRING: "Prepare system for shutdown." iso.3.6.1.4.1.850.10.2.3.2.1.23.1.4 = STRING: "Service Unit Immediately" iso.3.6.1.4.1.850.10.2.3.2.1.23.1.5 = STRING: "Replace your battery." iso.3.6.1.4.1.850.10.2.3.2.1.23.1.6 = STRING: "Device shutdown is imminent." iso.3.6.1.4.1.850.10.2.3.2.1.23.1.7 = STRING: "Reduce load connected to device" iso.3.6.1.4.1.850.10.2.3.2.1.23.1.8 = STRING: "Check device ventilation" iso.3.6.1.4.1.850.10.2.3.2.1.23.1.9 = STRING: "Prepare system for shutdown." iso.3.6.1.4.1.850.10.2.3.2.1.23.1.10 = STRING: "Turn output on" iso.3.6.1.4.1.850.10.2.3.2.1.23.1.11 = STRING: "Try self-test again in 24 hours. Contact Tripp Lite support if failure occurs again." iso.3.6.1.4.1.850.10.2.3.2.1.23.1.12 = STRING: "Battery replacement is recommended" iso.3.6.1.4.1.850.10.2.3.2.1.23.1.13 = STRING: "Check communications cable" iso.3.6.1.4.1.850.10.2.3.2.1.23.1.14 = "" iso.3.6.1.4.1.850.10.2.3.2.1.23.1.15 = "" iso.3.6.1.4.1.850.10.2.3.2.1.23.1.16 = "" iso.3.6.1.4.1.850.90.1.1.1.1.0 = INTEGER: 1 iso.3.6.1.4.1.850.90.1.1.1.2.1.1.1 = INTEGER: 1 iso.3.6.1.4.1.850.90.1.1.1.2.1.2.1 = INTEGER: 1 iso.3.6.1.4.1.850.90.1.1.1.2.1.3.1 = STRING: "brad clements" iso.3.6.1.4.1.850.90.1.1.1.2.1.4.1 = STRING: "redacted" iso.3.6.1.4.1.850.90.1.1.2.1.0 = INTEGER: 1 iso.3.6.1.4.1.850.90.1.1.2.2.1.1.4 = INTEGER: 4 iso.3.6.1.4.1.850.90.1.1.2.2.1.2.4 = INTEGER: 1 iso.3.6.1.4.1.850.90.1.1.2.2.1.3.4 = STRING: "Poweralert Network Management 10.1.250.29_162" iso.3.6.1.4.1.850.90.1.1.2.2.1.4.4 = STRING: "10.1.250.29" iso.3.6.1.4.1.850.90.1.1.2.2.1.5.4 = INTEGER: 162 iso.3.6.1.4.1.850.90.1.1.2.2.1.6.4 = INTEGER: 2 iso.3.6.1.4.1.850.90.1.1.2.2.1.7.4 = STRING: "tripplite" iso.3.6.1.4.1.850.90.1.1.2.2.1.8.4 = "" iso.3.6.1.4.1.850.90.1.1.2.2.1.9.4 = "" iso.3.6.1.4.1.850.100.1.1.1.0 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.1.3.0 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.1.4.0 = STRING: "2447CV0AC881300689" iso.3.6.1.4.1.850.100.1.1.5.0 = INTEGER: 1 iso.3.6.1.4.1.850.100.1.1.6.0 = "" iso.3.6.1.4.1.850.100.1.2.1.0 = STRING: "0.3" iso.3.6.1.4.1.850.100.1.2.2.0 = INTEGER: 770 iso.3.6.1.4.1.850.100.1.3.1.0 = INTEGER: 1 iso.3.6.1.4.1.850.100.1.3.2.1.1.1 = INTEGER: 1 iso.3.6.1.4.1.850.100.1.3.2.1.2.1 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.3.2.1.3.1 = INTEGER: 210 iso.3.6.1.4.1.850.100.1.4.6.0 = INTEGER: 1 iso.3.6.1.4.1.850.100.1.6.1.0 = Gauge32: 0 iso.3.6.1.4.1.850.100.1.7.1.0 = STRING: "2016-01-08" iso.3.6.1.4.1.850.100.1.7.2.0 = STRING: "No Test" iso.3.6.1.4.1.850.100.1.8.1.0 = INTEGER: 1 iso.3.6.1.4.1.850.100.1.8.2.0 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.8.3.1.0 = INTEGER: 1 iso.3.6.1.4.1.850.100.1.8.3.4.0 = INTEGER: 1 iso.3.6.1.4.1.850.100.1.8.3.5.0 = INTEGER: 2 iso.3.6.1.4.1.850.100.1.9.1.0 = STRING: "10/22/2014" iso.3.6.1.4.1.850.100.1.10.1.0 = INTEGER: 3 iso.3.6.1.4.1.850.100.1.10.2.1.1.1 = INTEGER: 1 iso.3.6.1.4.1.850.100.1.10.2.1.1.2 = INTEGER: 2 iso.3.6.1.4.1.850.100.1.10.2.1.1.3 = INTEGER: 3 iso.3.6.1.4.1.850.100.1.10.2.1.2.1 = INTEGER: 2 iso.3.6.1.4.1.850.100.1.10.2.1.2.2 = INTEGER: 2 iso.3.6.1.4.1.850.100.1.10.2.1.2.3 = INTEGER: 2 iso.3.6.1.4.1.850.100.1.10.2.1.3.1 = INTEGER: 2 iso.3.6.1.4.1.850.100.1.10.2.1.3.2 = INTEGER: 2 iso.3.6.1.4.1.850.100.1.10.2.1.3.3 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.4.1 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.4.2 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.4.3 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.5.1 = "" iso.3.6.1.4.1.850.100.1.10.2.1.5.2 = "" iso.3.6.1.4.1.850.100.1.10.2.1.5.3 = "" iso.3.6.1.4.1.850.100.1.10.2.1.6.1 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.6.2 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.6.3 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.7.1 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.7.2 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.7.3 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.8.1 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.8.2 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.8.3 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.9.1 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.9.2 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.9.3 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.10.1 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.10.2 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.10.3 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.11.1 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.11.2 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.11.3 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.12.1 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.12.2 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.10.2.1.12.3 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.11.1.0 = INTEGER: 0 iso.3.6.1.4.1.850.100.1.12.1.0 = INTEGER: 2 iso.3.6.1.4.1.850.100.1.12.2.0 = INTEGER: 1 iso.3.6.1.4.1.850.100.1.12.3.0 = INTEGER: 0

testing with the default nut release on ubuntu: Network UPS Tools upsd 2.7.1

[test] driver = snmp-ups mibs=ietf port = 10.1.253.20

upsc test Init SSL without certificate database battery.charge: 100.00 battery.temperature: 24.00 battery.voltage: 83.00 device.mfr: Tripp Lite device.model: SU3000RTXL3UHV device.type: ups driver.name: snmp-ups driver.parameter.mibs: ietf driver.parameter.pollinterval: 2 driver.parameter.port: 10.1.253.20 driver.version: 2.7.1 driver.version.data: ietf MIB 1.4 driver.version.internal: 0.70 input.bypass.phases: 0.00 input.frequency: 59.90 input.phases: 1.00 input.transfer.high: 275.00 input.transfer.low: 130.00 input.voltage: 210.00 input.voltage.nominal: 208.00 output.current: 0.00 output.frequency: 59.90 output.phases: 1.00 output.realpower: 0.00 output.voltage: 208.00 ups.firmware: 10 ups.firmware.aux: 12.06.0067 ups.load: 0.00 ups.mfr: Tripp Lite ups.model: SU3000RTXL3UHV ups.status: OL

clepple commented 8 years ago

@bkcsfi the version in Ubuntu (2.7.1) is old. Can you please try with Rodney Dawes' PPA? The version number there says 2.7.3.1, but it seems to be tracking the Git master branch.

aquette commented 8 years ago

@bkcsfi thanks for trying with gen-snmp-subdriver.sh. However, the subtree pointed by the sysOID (.1.3.6.1.4.1.850.1) is empty. Could you please retry with the following: bash gen-snmp-subdriver.sh -H 10.1.253.20 -s .1.3.6.1.4.1.850

Note that you should also have the matching MIB file (allowing friendly name resolution of .1.3.6.1.4.1.850.*) in the same directory as gen-snmp-subdriver.sh

Otherwise, the segfault issue is confirmed to be solved, and I'm closing the present ticket. I've created another one (#309) for the additional Tripplite mib mapping. @bkcsfi please post the results of gen-snmp-subdriver.sh there, thx.