[Nut-upsuser] Need some pointers with Centiel UPS / Generex SC141 SNMP

Mathieu Simon (Lists) matsimon.lists at simweb.ch
Mon May 24 16:48:28 BST 2021


Hi

I've tried my luck at connecting nut-snmp to a central building UPS
system which in our school which got a Centiel PremiumTower UPS system.

However: So far not much luck, but I've tried to collect some as in the
project support instructions. I'd appreciate some possible poointers
what I could investigate next. :-)

About the SNMP card: Centiel doesn't seem to make its own SNMP cards but
OEMs them from a German company Generex, the cards is called "CS141".

Apparently this cards seems to be used by quite some other OEMs
considering the firmware variants in their download section.[1]
The firware is slightly branded for Centiel (OEM logo in the web UI...)

The card supports SNMPv2 and v3. Doing an SNMP walk works fine over
SNMPv3, at least that's that. The results have been identical with both
pfSense and Debian 10, but Debian was easier to get debug data so here
is what I can provide:

OS: Debian buster/10.9 (amd64)
nut (package) version: 2.7.4-8

Debug output of the driver:
# /lib/nut/snmp-ups -DDDDDD -a exampleups \
 -x snmp_version=v3 -x secLevel=authPriv \
 -x secName=example \
 -x authPassword=exampleAuth -x privPassword=examplePriv \
 -x authProtocol=SHA -x privProtocol=AES
Network UPS Tools - Generic SNMP UPS driver 0.97 (2.7.4)
   0.000000     send_to_all: SETINFO driver.parameter.port "172.30.42.10"
   0.000017     send_to_all: SETINFO driver.parameter.snmp_version "v3"
   0.000021     send_to_all: SETINFO driver.parameter.secLevel "authPriv"
   0.000027     send_to_all: SETINFO driver.parameter.authProtocol "SHA"
   0.000033     send_to_all: SETINFO driver.parameter.privProtocol "AES"
   0.000042     debug level is '6'
   0.001013     SNMP UPS driver: entering upsdrv_initups()
   0.001036     SNMP UPS driver: entering nut_snmp_init(snmp-ups)
   0.002212     Setting SNMP retries to 5
   0.002224     Setting SNMP timeout to 1 second(s)
   0.017458     SNMP UPS driver: entering load_mib2nut(auto)
   0.017470     trying the new match_sysoid() method
   0.017473     Entering nut_snmp_get_oid()
   0.017492     nut_snmp_get(.1.3.6.1.2.1.1.2.0)
   0.017495     nut_snmp_walk(.1.3.6.1.2.1.1.2.0)
   0.017497     nut_snmp_walk: max. iteration = 1
   0.018447     Can't get sysOID value
   0.018457     load_mib2nut: trying classic method with 'apcc' mib
[...]

(Considering that other classic methods also fail, I've removed them)

[...]
   0.019260     load_mib2nut: trying classic method with 'ietf' mib
   0.019263     su_find_info: "ups.model" found
   0.019267     Testing ups.model using OID 1.3.6.1.2.1.33.1.1.2.0
   0.019272     Entering nut_snmp_get_str()
   0.019274     nut_snmp_get(1.3.6.1.2.1.33.1.1.2.0)
   0.019281     nut_snmp_walk(1.3.6.1.2.1.33.1.1.2.0)
   0.019286     nut_snmp_walk: max. iteration = 1
   0.019297     load_mib2nut: testOID provided and doesn't match MIB 'ietf'!
   0.019302     No supported device detected


Maybe it helps to provide the returned Values when doing snmpget
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.2.1.33

I've attached at the bottom a (minimally redacted) output of snmpwalk[2]
of that OID returned - maybe this helps to identify if I or Generex are
doing something wrong or what needs to be added on the NUT side of things?

Regards
Mathieu


[1] https://www.generex.de/support/downloads/ups/cs141/update
[2] snmpwalk -On -v3 -l authPriv -u example -a SHA -A "exampleAuth" -x
AES -X "examplePriv" <ip> .1.3.6.1.2.1.33
.1.3.6.1.2.1.33.1.1.1.0 = STRING: "CENTIEL"
.1.3.6.1.2.1.33.1.1.2.0 = STRING: "Centiel UPS"
.1.3.6.1.2.1.33.1.1.3.0 = STRING: "n/a"
.1.3.6.1.2.1.33.1.1.4.0 = STRING: "CS141-SNMP V2.00.50 210317"
.1.3.6.1.2.1.33.1.1.5.0 = STRING: "CS141 SNMP/WEB Adapter"
.1.3.6.1.2.1.33.1.1.6.0 = STRING: "UPS,"
.1.3.6.1.2.1.33.1.1.8.0 = STRING: "examplelocation"
.1.3.6.1.2.1.33.1.1.9.0 = STRING: "examplecontact"
.1.3.6.1.2.1.33.1.2.1.0 = INTEGER: 2
.1.3.6.1.2.1.33.1.2.2.0 = INTEGER: 0
.1.3.6.1.2.1.33.1.2.3.0 = INTEGER: 968
.1.3.6.1.2.1.33.1.2.4.0 = INTEGER: 100
.1.3.6.1.2.1.33.1.2.5.0 = INTEGER: 2730
.1.3.6.1.2.1.33.1.2.6.0 = INTEGER: 0
.1.3.6.1.2.1.33.1.2.7.0 = INTEGER: 999
.1.3.6.1.2.1.33.1.3.1.0 = Counter32: 0
.1.3.6.1.2.1.33.1.3.2.0 = INTEGER: 3
.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.1.2 = INTEGER: 2
.1.3.6.1.2.1.33.1.3.3.1.1.3 = INTEGER: 3
.1.3.6.1.2.1.33.1.3.3.1.2.1 = INTEGER: 500
.1.3.6.1.2.1.33.1.3.3.1.2.2 = INTEGER: 500
.1.3.6.1.2.1.33.1.3.3.1.2.3 = INTEGER: 500
.1.3.6.1.2.1.33.1.3.3.1.3.1 = INTEGER: 231
.1.3.6.1.2.1.33.1.3.3.1.3.2 = INTEGER: 231
.1.3.6.1.2.1.33.1.3.3.1.3.3 = INTEGER: 231
.1.3.6.1.2.1.33.1.4.1.0 = INTEGER: 3
.1.3.6.1.2.1.33.1.4.2.0 = INTEGER: 500
.1.3.6.1.2.1.33.1.4.3.0 = INTEGER: 3
.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.1.2 = INTEGER: 2
.1.3.6.1.2.1.33.1.4.4.1.1.3 = INTEGER: 3
.1.3.6.1.2.1.33.1.4.4.1.2.1 = INTEGER: 229
.1.3.6.1.2.1.33.1.4.4.1.2.2 = INTEGER: 230
.1.3.6.1.2.1.33.1.4.4.1.2.3 = INTEGER: 229
.1.3.6.1.2.1.33.1.4.4.1.3.1 = INTEGER: 71
.1.3.6.1.2.1.33.1.4.4.1.3.2 = INTEGER: 55
.1.3.6.1.2.1.33.1.4.4.1.3.3 = INTEGER: 56
.1.3.6.1.2.1.33.1.4.4.1.4.1 = INTEGER: 1324
.1.3.6.1.2.1.33.1.4.4.1.4.2 = INTEGER: 1027
.1.3.6.1.2.1.33.1.4.4.1.4.3 = INTEGER: 1156
.1.3.6.1.2.1.33.1.4.4.1.5.1 = INTEGER: 6
.1.3.6.1.2.1.33.1.4.4.1.5.2 = INTEGER: 5
.1.3.6.1.2.1.33.1.4.4.1.5.3 = INTEGER: 5
.1.3.6.1.2.1.33.1.5.1.0 = INTEGER: 500
.1.3.6.1.2.1.33.1.5.2.0 = INTEGER: 3
.1.3.6.1.2.1.33.1.5.3.1.1.1 = INTEGER: 1
.1.3.6.1.2.1.33.1.5.3.1.1.2 = INTEGER: 2
.1.3.6.1.2.1.33.1.5.3.1.1.3 = INTEGER: 3
.1.3.6.1.2.1.33.1.5.3.1.2.1 = INTEGER: 231
.1.3.6.1.2.1.33.1.5.3.1.2.2 = INTEGER: 231
.1.3.6.1.2.1.33.1.5.3.1.2.3 = INTEGER: 231
.1.3.6.1.2.1.33.1.6.1.0 = Gauge32: 0
.1.3.6.1.2.1.33.1.7.1.0 = OID: .1.3.6.1.2.1.33.1.7.7.1
.1.3.6.1.2.1.33.1.7.2.0 = INTEGER: 1
.1.3.6.1.2.1.33.1.7.3.0 = INTEGER: 6
.1.3.6.1.2.1.33.1.7.4.0 = STRING: "No test initiated."
.1.3.6.1.2.1.33.1.7.5.0 = Timeticks: (0) 0:00:00.00
.1.3.6.1.2.1.33.1.7.6.0 = INTEGER: 0
.1.3.6.1.2.1.33.1.8.1.0 = INTEGER: 2
.1.3.6.1.2.1.33.1.8.2.0 = INTEGER: -1
.1.3.6.1.2.1.33.1.8.3.0 = INTEGER: -1
.1.3.6.1.2.1.33.1.8.4.0 = INTEGER: -1
.1.3.6.1.2.1.33.1.8.5.0 = INTEGER: 2



More information about the Nut-upsuser mailing list