[Nut-upsdev] PDU support for DigiPower and Aviosys devices

Arnaud Quette aquette.dev at gmail.com
Wed Sep 21 22:41:53 UTC 2011

2011/9/21 <simon-alioth at eazimail.com>
> Hi,

Hi Simon,

thanks for jumping on the upsdev list.

> I'm thinking about adding support for PDU (Power Distribution Unit) devices
> from Digipower [1] and Aviosys [2] to NUT via the SNMP interface.
> The specific devices I have in mind are the following:
> Digipower   AMz-1623/SW-08-1
> Aviosys IP Power 925x
> (both are 8-port PDUs which are SNMP capable via an ethernet interface)
> Does anybody have other DigiPower or Aviosys devices and if so would you
> share an SNMP dump of the vendor section of the MIB so that I can verify the
> internal differences?.
> From linux/bsd you can dump the vendor section of the MIB by typing:
> snmpwalk -v 1 -c private -CI .
> Or,
> snmpwalk -v 1 -c private -CI .
> Change as needed, where
>  private = SNMP community
> = IP of your device
>  vOID=Vendor OID
> Digipower vOID=17420
> Aviosys 9258 vOID=92.58 (for other models it probably follows the same xx.xx
> notation)
> One feature of the DigiPower PDUs is that internally the outlets are split
> into banks of 8, with a maximum of 16 banks per PDU. Whether the internal
> structure varies between ranges is not clear from the MIB. If you have one
> of there PDUs I'd be very interested in the MIB dumps to compare.
> If you want more info about these PDU devices and interfacing via command
> line, SNMP and script library have a look on this site [3].
> [1] http://www.digipower.com.tw/PDU/AmazingPDUswitched.htm
> [2] http://www.aviosys.com/9258sx.html
> [3] http://thornton.info/tools/pdudevices.htm

good to know that these can be addressed through SNMP.

you will need 3 things:
- the value of the sysOID ()
- a numeric SNMP walk of the sysOID pointed tree
- a textual SNMP walk of the sysOID pointed tree

I've just completed a thread that will give you more hints on this:

take a specific look at eaton-mib.c, since it has 3 PDU mib2nut definitions:

Note that we have started some simplification, by avoiding defines,
directly putting OIDs into the mib2nut structure.

Finally, since you have multiple mib2nut to create, and also seems to
like scripting, you may be interested in a bonus challenge ;-)
we have a script that almost does the above steps, for the usbhid-ups driver:

the same principle can be applied to an 'snmp-ups-subdriver.sh' script
(the above pointed file definitely need renaming).
this has been on my todo list for soooo long, and I'm probably too lazy...


More information about the Nut-upsdev mailing list