Mathieu Simon (Lists)
2021-May-24 15:48 UTC
[Nut-upsuser] Need some pointers with Centiel UPS / Generex SC141 SNMP
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
Jim Klimov
2021-Jun-13 13:50 UTC
[Nut-upsuser] Need some pointers with Centiel UPS / Generex SC141 SNMP
Just in case: there have been some mistakes in NUT codebase for SNMPv3 (or rather AES) support found and fixed during the past year, so the errors could be already in a 2.7.4 release (did not check for that). Do you have a chance to build current master branch from github and see if it works better for the SNMPv3 case? Alternately, it was not clear from your message if you had also tried NUT connection with the SNMP v1/v2c (and then a correct community name, otherwise SNMP server usually seems just AWOL and not responding)?>From your SNMP walk, it seems that the card does support at least thestandard IETF upsMIB, so at least to some extent snmp-ups should recognize it barring the network/crypto issues. Jim On Mon, May 24, 2021 at 6:07 PM Mathieu Simon (Lists) < matsimon.lists at simweb.ch> wrote:> 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 > > _______________________________________________ > Nut-upsuser mailing list > Nut-upsuser at alioth-lists.debian.net > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://alioth-lists.debian.net/pipermail/nut-upsuser/attachments/20210613/a87274d5/attachment-0001.htm>