Hi, I got a shiny pair of new PowerWare 9155 UPS (3 input phaes, one output phase), running parallel. Since I didn't want to install a Windows box to run Powerwares software I now went nut(s) ;-) So far things look pretty good, snmp-ups talks to both ups using the pw mib. Though I get these messages, when I start the driver: [ups2] nut_snmp_get: 1.3.6.1.4.1.534.1.4.4.1.3: Error in packet: (noSuchName) There is no such variable name in this MIB. [ups2] nut_snmp_get: 1.3.6.1.4.1.534.1.3.4.1.4.1: Error in packet: (noSuchName) There is no such variable name in this MIB. [ups2] nut_snmp_get: 1.3.6.1.4.1.534.1.3.4.1.4.2: Error in packet: (noSuchName) There is no such variable name in this MIB. [ups2] nut_snmp_get: 1.3.6.1.4.1.534.1.3.4.1.4.3: Error in packet: (noSuchName) There is no such variable name in this MIB. The first one is supposed to be PW_OID_OUT_CURRENT according to pwmib.h Does this message mean that the ups isn't reporting this value? The other three are completely missing in pwmib.h Does the UPS report these values and NUT does't know what to do with them? 1.3.6.1.4.1.534.1.3.4.1.4 should be PW_OID_IN_POWER (xupsInputWatts). My guess would be that .1-.3 are the 3 input phases? Could this be fixed in some way? Maybe the XUPS.mib from the cd has more information. Though I only found xupsInputWatts in there as well. Another thing I wonder about is that both UPS don't give me value for battery.runtime.low and both give an ups.status "WAIT" although there running fine. Maybe someone can shed some light on these questions. Cheers, Bernd
> Another thing I wonder about is that both UPS don't give me value for > battery.runtime.low and both give an ups.status "WAIT" although there > running fine.This isn't good. :-( The ups.status "WAIT" is a placeholder status that is inserted by the server while it is still waiting for the driver to complete its dump of all the variables. If that doesn't change, it means the driver is not reporting the ups.status to the server. Consequently, you'll have no idea what the line status is, the most important part of NUT. The fact that battery.runtime.low is not reported may be due to the fact that this variable is not reported by the UPS, or that it has not been reported by the driver yet.> Maybe someone can shed some light on these questions.Which version of NUT? Best regards, Arjen -- Eindhoven - The Netherlands Key fingerprint - 66 4E 03 2C 9D B5 CB 9B 7A FE 7E C1 EE 88 BC 57
Arjen de Korte
2007-Aug-14 13:31 UTC
[Nut-upsdev] [Nut-upsuser] Powerware 9155 with SNMP card
> I'm trying to add an instant command to pwmib: > > #define IETF_OID_UPS_TEST_ID "1.3.6.1.2.1.33.1.7.1.0" /* > UPS-MIB::upsTestID.0 */ > #define IETF_OID_UPS_TEST_QBATT "1.3.6.1.2.1.33.1.7.7.4" /* > UPS-MIB::upsTestQuickBatteryTest.0 */ > > { "test.battery.start", ST_FLAG_STRING, SU_INFOSIZE, > IETF_OID_UPS_TEST_ID, IETF_OID_UPS_TEST_QBATT, SU_TYPE_CMD | SU_FLAG_OK, > NULL }, > > what I hope it to do is write IETF_OID_UPS_TEST_QBATT into > IETF_OID_UPS_TEST_ID to trigger the test. I hope my understanding of the > code is right that in this way the string in snmp_info_t->dfl get > written to OID IETF_OID_UPS_TEST_ID? > > though for whatever reason upscmd -l ups doesnt list any instant > commands... is there anything else to be done to register an instant > command? apccmib.h and mgemib.h both seem to do nothing else?The problem is in the upsdrv_initinfo() function in 'snmp-ups.c': /* add instant commands to the info database. */ for (su_info_p = &snmp_info[0]; su_info_p->info_type != NULL ; su_info_p++) su_info_p->flags |= SU_FLAG_OK; if (SU_TYPE(su_info_p) == SU_TYPE_CMD) dstate_addcmd(su_info_p->info_type); It looks like we're missing some curly brackets here. Unlike what the indentation suggests, the dstate_addcmd() will not be called in the for() loop, but only when it has finished. At that time, su_info_p->info_type is NULL, so regardless of what SU_TYPE(su_info_p) evaluates to, this never adds something useful. I guess you're the first to notice this, congratulations. Can we persuade to join the development team? :-) Best regards, Arjen