Just inherited a 7953 and trying to get it configured. The biggest hurdle is that the web interface doesn't support TLS1.2 or SSL3 so thats not accessible in Chrome, etc.
I thought it would therefore be easier to use SNMP and a php script as the only control I need is to turn on/off sockets.
Got the PDU setup and I can access SNMP but I am not seeing anything related to the outlet state, which from the MIB should be PowerNet-MIB::rPDUOutletStatusOutletState.
Is there something I need to do to allow this, or that needs to be activated?
You're in the right area in our SNMP MIB. Are you able to do a walk the PDU at all?
SNMPv1 is enabled on the PDU by default but if you inherited it, perhaps it is disabled or incorrectly configured? Check under Administration tab->Network sub tab->SNMPv1 configuration in the web. (Seems like you were maybe in the web at some point to copy/paste that firmware info though you said HTTPS wasn't working in modern browser. SNMP config can also be checked via Telnet/SSH or local serial console.) If you want to use SNMPv3, that can be turned on and you just have to configure it.
If you verify SNMPv1 or SNMPv3 is enabled and configured with community strings and access control settings, then I'd try a walk from the top of the MIB on the PDU and see what comes back.
The control outlet OID is here: .iso.org.dod.internet.private.enterprises.apc.products.hardware.rPDU.rPDUOutlet.rPDUOutletControl.rPDUOutletControlTable.rPDUOutletControlEntry.rPDUOutletControlOutletCommand
Then, you just will have to specify an SNMP instance on that OID (to indicate which outlet you want to control). Here is the description on that OID:
Getting this variable will return the outlet state. If the outlet is on, the immediateOn (1) value will be returned. If the outlet is off, the immediateOff (2) value will be returned. Setting this variable to immediateOn (1) will immediately turn the outlet on. Setting this variable to immediateOff (2) will immediately turn the outlet off. Setting this variable to immediateReboot (3) will immediately reboot the outlet. Setting this variable to delayedOn (4) will turn the outlet on after the rPDUOutletConfigPowerOnTime OID time has elapsed. Setting this variable to delayedOff (5) will turn the outlet off after the rPDUOutletConfigPowerOffTime OID time has elapsed. Setting this variable to delayedReboot (6) will cause the Switched Rack PDU to perform a delayedOff command, wait the rPDUOutletConfigRebootDuration OID time, and then perform a delayedOn command. Setting this variable to cancelPendingCommand (7) will cause any pending command to this outlet to be canceled.
rPDUOutletStatusOutletState is a read only OID to get the current outlet state. You'll want to use the OID I shared above to control the outlets.
If you have outlet groups you want to control, I think you can use that same OID somehow if you issue a command to one of the outlets in the same group (I'd have to do a walk on a device with groups to confirm that).
In addition to SNMP, we have a special CLI available via Telnet/SSH/serial connection that may be of help for scripting outlet control. Check here for more info and how to access -> http://www.apc.com/us/en/faqs/FA156163
Hope this helps.
Shortly after I posted this I figured out what was going wrong.
I ran snmpwalk with the first OID defined to run through the whole list:
snmpwalk -v 3 -l authNoPriv -u "wsername" -a MD5 -A "Pa55Word!" xxx.xxx.xxx.xxx .188.8.131.52.4.1.318
This then returned all the details for the device:
SNMPv2-SMI::enterprises.3184.108.40.206.1.1.0 = STRING: "B2"SNMPv2-SMI::enterprises.3220.127.116.11.1.2.0 = STRING: "v3.9.2"SNMPv2-SMI::enterprises.318.104.22.168.1.3.0 = STRING: "06/21/2006"SNMPv2-SMI::enterprises.322.214.171.124.1.4.0 = STRING: "AP7954"SNMPv2-SMI::enterprises.3126.96.36.199.1.5.0 = STRING: "xxxxxx"SNMPv2-SMI::enterprises.3188.8.131.52.2.1.0 = INTEGER: 6SNMPv2-SMI::enterprises.3184.108.40.206.2.2.0 = STRING: "On On On On On On On On On On On On On On On On On On On On On On On On "SNMPv2-SMI::enterprises.3220.127.116.11.2.3.0 = STRING: "No No No No No No No No No No No No No No No No No No No No No No No No "SNMPv2-SMI::enterprises.318.104.22.168.3.1.0 = INTEGER: 0SNMPv2-SMI::enterprises.322.214.171.124.3.2.0 = INTEGER: 0SNMPv2-SMI::enterprises.3126.96.36.199.3.3.0 = STRING: "pdu1.cwcs.co.uk"SNMPv2-SMI::enterprises.3188.8.131.52.4.1.0 = INTEGER: 24SNMPv2-SMI::enterprises.3184.108.40.206.220.127.116.11.1 = INTEGER: 1SNMPv2-SMI::enterprises.318.104.22.168.22.214.171.124.2 = INTEGER: 2SNMPv2-SMI::enterprises.3126.96.36.199.188.8.131.52.3 = INTEGER: 3SNMPv2-SMI::enterprises.3184.108.40.206.220.127.116.11.4 = INTEGER: 4SNMPv2-SMI::enterprises.318.104.22.168.22.214.171.124.5 = INTEGER: 5SNMPv2-SMI::enterprises.3126.96.36.199.188.8.131.52.6 = INTEGER: 6SNMPv2-SMI::enterprises.3184.108.40.206.220.127.116.11.7 = INTEGER: 7SNMPv2-SMI::enterprises.318.104.22.168.22.214.171.124.8 = INTEGER: 8SNMPv2-SMI::enterprises.3126.96.36.199.188.8.131.52.9 = INTEGER: 9SNMPv2-SMI::enterprises.3184.108.40.206.220.127.116.11.10 = INTEGER: 10SNMPv2-SMI::enterprises.318.104.22.168.22.214.171.124.11 = INTEGER: 11SNMPv2-SMI::enterprises.3126.96.36.199.188.8.131.52.12 = INTEGER: 12SNMPv2-SMI::enterprises.3184.108.40.206.220.127.116.11.13 = INTEGER: 13SNMPv2-SMI::enterprises.318.104.22.168.22.214.171.124.14 = INTEGER: 14SNMPv2-SMI::enterprises.3126.96.36.199.188.8.131.52.15 = INTEGER: 15SNMPv2-SMI::enterprises.3184.108.40.206.220.127.116.11.16 = INTEGER: 16SNMPv2-SMI::enterprises.318.104.22.168.22.214.171.124.17 = INTEGER: 17SNMPv2-SMI::enterprises.3126.96.36.199.188.8.131.52.18 = INTEGER: 18SNMPv2-SMI::enterprises.3184.108.40.206.220.127.116.11.19 = INTEGER: 19SNMPv2-SMI::enterprises.318.104.22.168.22.214.171.124.20 = INTEGER: 20SNMPv2-SMI::enterprises.3126.96.36.199.188.8.131.52.21 = INTEGER: 21SNMPv2-SMI::enterprises.3184.108.40.206.220.127.116.11.22 = INTEGER: 22...
I have tried to load the MIB into my test Ubuntu server, but its not having it, keeps returning "Cannot adopt OID in PowerNet-MIB: .." but continues and the OIDs are returned in the format I am familiar with:
iso.18.104.22.168.22.214.171.124.3.1 = STRING: "The MIB Module from SNMPv2 entities"iso.126.96.36.199.188.8.131.52.3.2 = STRING: "SNMP Management Architecture MIB"iso.184.108.40.206.220.127.116.11.3.3 = STRING: "Message Processing and Dispatching MIB"iso.18.104.22.168.22.214.171.124.3.4 = STRING: "USM User MIB"iso.126.96.36.199.188.8.131.52.3.5 = STRING: "VACM MIB"iso.184.108.40.206.220.127.116.11.4.1 = Timeticks: (0) 0:00:00.00iso.18.104.22.168.22.214.171.124.4.2 = Timeticks: (0) 0:00:00.00iso.126.96.36.199.188.8.131.52.4.3 = Timeticks: (0) 0:00:00.00iso.184.108.40.206.220.127.116.11.4.4 = Timeticks: (0) 0:00:00.00iso.18.104.22.168.22.214.171.124.4.5 = Timeticks: (0) 0:00:00.00iso.126.96.36.199.188.8.131.52 = INTEGER: 2iso.184.108.40.206.220.127.116.11.1.1 = INTEGER: 1iso.18.104.22.168.22.214.171.124.1.2 = INTEGER: 2iso.126.96.36.199.188.8.131.52.2.1 = STRING: "LOOPBACK"iso.184.108.40.206.220.127.116.11.2.2 = STRING: "lance"iso.18.104.22.168.22.214.171.124.3.1 = INTEGER: 24iso.126.96.36.199.188.8.131.52.3.2 = INTEGER: 6iso.184.108.40.206.220.127.116.11.4.1 = INTEGER: 1500...
Which I can then work. The above is something to do with the OS and not the APC device.
Thanks for looping back and sharing what you found.
Thought I would share the script I wrote for the benefit of others. Find it really frustrating when people get answers online and then don't share the solution of how they did something etc.
The attached script snmp.php (renamed to .txt so it could be uploaded) was a very quick prototype script I wrote to test the functionality of SNMP on the 7953 PDUs.
It's fairly simple as the script simply does an SNMP walk to get the port settings and then provides some simple controls using SNMP set. The script is missing validation, and other things that would help. It was written quickly and so has no functions etc. but hopefully provides someone with guidance.
I tried the following script https://github.com/maltris/sappss/blob/master/index.php initially, but it wouldn't work for me and I didn't like the jquery $.get stuff so rewrote it, only keeping the snmp3_set and snmp3_walk commands (with a minor alteration).
Choose a location
There are no forums in this space.