One of the worst parts of the day has to be calling AT&T or Comcast to request a dispatch to a branch office or to check up on a problematic Internet circuit. First you yell “Technical Support” to try and get past the prompts. Then once you get a person on the line, they ask “Did you reboot the modem?”
Rather than try and get someone on the phone from the branch office or walk a store manager through finding the modem, I tried to find an alternative. Using managed PDU/power strips I should be able to reboot the modems remotely.
In my search for a managed power strip I came across the Ubiquity mPower product line. The product line has 3 US models and 3 EU models. Personally I would go with the Pro version, as it has the Ethernet connection, while the two smaller models are Wi-Fi only.
Other players in this market, such as Raritan and Geist, supply the data center segment, but I found the mPower series to be cost effective for the branch office. Rack-mounted products cost twice as much for fewer ports. Ubiquity has a section on its website for resellers, but you can also pick up mPower units from newegg.com.
Ubiquity supplies free controller software that connects to each mPower unit to centrally manage all of your devices. This software runs on a Windows server and appears to be fairly lightweight. From the controller software you can track power usage, turn ports on and off, and label ports as you wish. The controller software isn’t required, as you can access each individual mPower unit from its own Web console.
The mPower unit is a scaled-down Linux box, so the core commands you are used to working with still apply. What’s most interesting is how Ubiquity handles the actual turning on and off of ports. There are a series of files in the mPower Pro titled output1, output2, output3, and so on. Each of these files has a value: 1 for ‘on’ and 0 for ‘off.’ Knowing this, you can automate device management.
I’ve written a small Python app to handle the interaction to the units, which can be found on GitHub:
The Python app makes an ssh connection to the mPower unit, and turns on or off the port you designate. Here’s an example:
You can integrate this product into your monitoring systems to deal with DSL/cable outages. Solarwinds, for example, can run external scripts based on certain criteria. If you detect a down DSL that is used as a backup, you can launch the Python app to automatically turn off the port for the DSL modem, and turn it back on after a desired period, rebooting the modem. You could potentially do something similar on a Rasberry Pi local to the office if DSL is the primary circuit.
Even without the automation, being able to reboot devices on demand without having to contact someone on site is worth the $95 in my book.