<div dir="ltr"><div>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?</div><div><br></div><div>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)?</div><div><br></div><div>From your SNMP walk, it seems that the card does support at least the standard IETF upsMIB, so at least to some extent snmp-ups should recognize it barring the network/crypto issues.</div><div><br></div><div>Jim<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 24, 2021 at 6:07 PM Mathieu Simon (Lists) <<a href="mailto:matsimon.lists@simweb.ch">matsimon.lists@simweb.ch</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi<br>
<br>
I've tried my luck at connecting nut-snmp to a central building UPS<br>
system which in our school which got a Centiel PremiumTower UPS system.<br>
<br>
However: So far not much luck, but I've tried to collect some as in the<br>
project support instructions. I'd appreciate some possible poointers<br>
what I could investigate next. :-)<br>
<br>
About the SNMP card: Centiel doesn't seem to make its own SNMP cards but<br>
OEMs them from a German company Generex, the cards is called "CS141".<br>
<br>
Apparently this cards seems to be used by quite some other OEMs<br>
considering the firmware variants in their download section.[1]<br>
The firware is slightly branded for Centiel (OEM logo in the web UI...)<br>
<br>
The card supports SNMPv2 and v3. Doing an SNMP walk works fine over<br>
SNMPv3, at least that's that. The results have been identical with both<br>
pfSense and Debian 10, but Debian was easier to get debug data so here<br>
is what I can provide:<br>
<br>
OS: Debian buster/10.9 (amd64)<br>
nut (package) version: 2.7.4-8<br>
<br>
Debug output of the driver:<br>
# /lib/nut/snmp-ups -DDDDDD -a exampleups \<br>
-x snmp_version=v3 -x secLevel=authPriv \<br>
-x secName=example \<br>
-x authPassword=exampleAuth -x privPassword=examplePriv \<br>
-x authProtocol=SHA -x privProtocol=AES<br>
Network UPS Tools - Generic SNMP UPS driver 0.97 (2.7.4)<br>
0.000000 send_to_all: SETINFO driver.parameter.port "172.30.42.10"<br>
0.000017 send_to_all: SETINFO driver.parameter.snmp_version "v3"<br>
0.000021 send_to_all: SETINFO driver.parameter.secLevel "authPriv"<br>
0.000027 send_to_all: SETINFO driver.parameter.authProtocol "SHA"<br>
0.000033 send_to_all: SETINFO driver.parameter.privProtocol "AES"<br>
0.000042 debug level is '6'<br>
0.001013 SNMP UPS driver: entering upsdrv_initups()<br>
0.001036 SNMP UPS driver: entering nut_snmp_init(snmp-ups)<br>
0.002212 Setting SNMP retries to 5<br>
0.002224 Setting SNMP timeout to 1 second(s)<br>
0.017458 SNMP UPS driver: entering load_mib2nut(auto)<br>
0.017470 trying the new match_sysoid() method<br>
0.017473 Entering nut_snmp_get_oid()<br>
0.017492 nut_snmp_get(.1.3.6.1.2.1.1.2.0)<br>
0.017495 nut_snmp_walk(.1.3.6.1.2.1.1.2.0)<br>
0.017497 nut_snmp_walk: max. iteration = 1<br>
0.018447 Can't get sysOID value<br>
0.018457 load_mib2nut: trying classic method with 'apcc' mib<br>
[...]<br>
<br>
(Considering that other classic methods also fail, I've removed them)<br>
<br>
[...]<br>
0.019260 load_mib2nut: trying classic method with 'ietf' mib<br>
0.019263 su_find_info: "ups.model" found<br>
0.019267 Testing ups.model using OID 1.3.6.1.2.1.33.1.1.2.0<br>
0.019272 Entering nut_snmp_get_str()<br>
0.019274 nut_snmp_get(1.3.6.1.2.1.33.1.1.2.0)<br>
0.019281 nut_snmp_walk(1.3.6.1.2.1.33.1.1.2.0)<br>
0.019286 nut_snmp_walk: max. iteration = 1<br>
0.019297 load_mib2nut: testOID provided and doesn't match MIB 'ietf'!<br>
0.019302 No supported device detected<br>
<br>
<br>
Maybe it helps to provide the returned Values when doing snmpget<br>
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.2.1.33<br>
<br>
I've attached at the bottom a (minimally redacted) output of snmpwalk[2]<br>
of that OID returned - maybe this helps to identify if I or Generex are<br>
doing something wrong or what needs to be added on the NUT side of things?<br>
<br>
Regards<br>
Mathieu<br>
<br>
<br>
[1] <a href="https://www.generex.de/support/downloads/ups/cs141/update" rel="noreferrer" target="_blank">https://www.generex.de/support/downloads/ups/cs141/update</a><br>
[2] snmpwalk -On -v3 -l authPriv -u example -a SHA -A "exampleAuth" -x<br>
AES -X "examplePriv" <ip> .1.3.6.1.2.1.33<br>
.1.3.6.1.2.1.33.1.1.1.0 = STRING: "CENTIEL"<br>
.1.3.6.1.2.1.33.1.1.2.0 = STRING: "Centiel UPS"<br>
.1.3.6.1.2.1.33.1.1.3.0 = STRING: "n/a"<br>
.1.3.6.1.2.1.33.1.1.4.0 = STRING: "CS141-SNMP V2.00.50 210317"<br>
.1.3.6.1.2.1.33.1.1.5.0 = STRING: "CS141 SNMP/WEB Adapter"<br>
.1.3.6.1.2.1.33.1.1.6.0 = STRING: "UPS,"<br>
.1.3.6.1.2.1.33.1.1.8.0 = STRING: "examplelocation"<br>
.1.3.6.1.2.1.33.1.1.9.0 = STRING: "examplecontact"<br>
.1.3.6.1.2.1.33.1.2.1.0 = INTEGER: 2<br>
.1.3.6.1.2.1.33.1.2.2.0 = INTEGER: 0<br>
.1.3.6.1.2.1.33.1.2.3.0 = INTEGER: 968<br>
.1.3.6.1.2.1.33.1.2.4.0 = INTEGER: 100<br>
.1.3.6.1.2.1.33.1.2.5.0 = INTEGER: 2730<br>
.1.3.6.1.2.1.33.1.2.6.0 = INTEGER: 0<br>
.1.3.6.1.2.1.33.1.2.7.0 = INTEGER: 999<br>
.1.3.6.1.2.1.33.1.3.1.0 = Counter32: 0<br>
.1.3.6.1.2.1.33.1.3.2.0 = INTEGER: 3<br>
.1.3.6.1.2.1.33.1.3.3.1.1.1 = INTEGER: 1<br>
.1.3.6.1.2.1.33.1.3.3.1.1.2 = INTEGER: 2<br>
.1.3.6.1.2.1.33.1.3.3.1.1.3 = INTEGER: 3<br>
.1.3.6.1.2.1.33.1.3.3.1.2.1 = INTEGER: 500<br>
.1.3.6.1.2.1.33.1.3.3.1.2.2 = INTEGER: 500<br>
.1.3.6.1.2.1.33.1.3.3.1.2.3 = INTEGER: 500<br>
.1.3.6.1.2.1.33.1.3.3.1.3.1 = INTEGER: 231<br>
.1.3.6.1.2.1.33.1.3.3.1.3.2 = INTEGER: 231<br>
.1.3.6.1.2.1.33.1.3.3.1.3.3 = INTEGER: 231<br>
.1.3.6.1.2.1.33.1.4.1.0 = INTEGER: 3<br>
.1.3.6.1.2.1.33.1.4.2.0 = INTEGER: 500<br>
.1.3.6.1.2.1.33.1.4.3.0 = INTEGER: 3<br>
.1.3.6.1.2.1.33.1.4.4.1.1.1 = INTEGER: 1<br>
.1.3.6.1.2.1.33.1.4.4.1.1.2 = INTEGER: 2<br>
.1.3.6.1.2.1.33.1.4.4.1.1.3 = INTEGER: 3<br>
.1.3.6.1.2.1.33.1.4.4.1.2.1 = INTEGER: 229<br>
.1.3.6.1.2.1.33.1.4.4.1.2.2 = INTEGER: 230<br>
.1.3.6.1.2.1.33.1.4.4.1.2.3 = INTEGER: 229<br>
.1.3.6.1.2.1.33.1.4.4.1.3.1 = INTEGER: 71<br>
.1.3.6.1.2.1.33.1.4.4.1.3.2 = INTEGER: 55<br>
.1.3.6.1.2.1.33.1.4.4.1.3.3 = INTEGER: 56<br>
.1.3.6.1.2.1.33.1.4.4.1.4.1 = INTEGER: 1324<br>
.1.3.6.1.2.1.33.1.4.4.1.4.2 = INTEGER: 1027<br>
.1.3.6.1.2.1.33.1.4.4.1.4.3 = INTEGER: 1156<br>
.1.3.6.1.2.1.33.1.4.4.1.5.1 = INTEGER: 6<br>
.1.3.6.1.2.1.33.1.4.4.1.5.2 = INTEGER: 5<br>
.1.3.6.1.2.1.33.1.4.4.1.5.3 = INTEGER: 5<br>
.1.3.6.1.2.1.33.1.5.1.0 = INTEGER: 500<br>
.1.3.6.1.2.1.33.1.5.2.0 = INTEGER: 3<br>
.1.3.6.1.2.1.33.1.5.3.1.1.1 = INTEGER: 1<br>
.1.3.6.1.2.1.33.1.5.3.1.1.2 = INTEGER: 2<br>
.1.3.6.1.2.1.33.1.5.3.1.1.3 = INTEGER: 3<br>
.1.3.6.1.2.1.33.1.5.3.1.2.1 = INTEGER: 231<br>
.1.3.6.1.2.1.33.1.5.3.1.2.2 = INTEGER: 231<br>
.1.3.6.1.2.1.33.1.5.3.1.2.3 = INTEGER: 231<br>
.1.3.6.1.2.1.33.1.6.1.0 = Gauge32: 0<br>
.1.3.6.1.2.1.33.1.7.1.0 = OID: .1.3.6.1.2.1.33.1.7.7.1<br>
.1.3.6.1.2.1.33.1.7.2.0 = INTEGER: 1<br>
.1.3.6.1.2.1.33.1.7.3.0 = INTEGER: 6<br>
.1.3.6.1.2.1.33.1.7.4.0 = STRING: "No test initiated."<br>
.1.3.6.1.2.1.33.1.7.5.0 = Timeticks: (0) 0:00:00.00<br>
.1.3.6.1.2.1.33.1.7.6.0 = INTEGER: 0<br>
.1.3.6.1.2.1.33.1.8.1.0 = INTEGER: 2<br>
.1.3.6.1.2.1.33.1.8.2.0 = INTEGER: -1<br>
.1.3.6.1.2.1.33.1.8.3.0 = INTEGER: -1<br>
.1.3.6.1.2.1.33.1.8.4.0 = INTEGER: -1<br>
.1.3.6.1.2.1.33.1.8.5.0 = INTEGER: 2<br>
<br>
_______________________________________________<br>
Nut-upsuser mailing list<br>
<a href="mailto:Nut-upsuser@alioth-lists.debian.net" target="_blank">Nut-upsuser@alioth-lists.debian.net</a><br>
<a href="https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser" rel="noreferrer" target="_blank">https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser</a><br>
</blockquote></div>