[Nut-upsdev] Documenting the NUT driver-qualification process

Charles Lepple clepple at gmail.com
Wed Jul 9 13:51:37 UTC 2014

On Jul 9, 2014, at 6:31 AM, Eric S. Raymond <esr at thyrsus.com> wrote:

> What I'd like to do is this: confer in real-time, perhaps via IRC,
> with someone who knows this process.  Ask about every step (thought
> processes and diagnostics).  *Write them down* and turn this into a 
> document on how to qualify and support a new device.

Happy to help, but scheduling something in real-time might not happen before this weekend. Feel free to email me off-list to schedule.

I would also recommend that someone who is less involved with the development of NUT volunteer as well. I fully admit that I have some preferences about how things "should" be done, and they don't seem to match what people are asking for. (A prime example: I think an UPS should shut down the system when the UPS says the battery has gone below a certain level, as determined by periodic battery tests, rather than shutting down after a certain time period on battery.)

A few miscellaneous points about the UPS HOWTO:

* While RS-232C interfaces are being phased out on servers and desktops, UPS vendors are just wrapping the serial protocol (or contact-closure lines) in a cheap USB-to-serial converter that may or may not show up as such in the OS. So you get the intersection of the flakiness of serial, plus the flakiness of USB. (The USB devices tend not to reconnect with the same device name, if the OS has a driver for the USB-to-serial converter.)

* The suggestions also seem to be subtly Linux-centric: a lot of the advantages of USB are lost on systems with less robust USB stacks, such as the BSD family.

* Several years ago, while developing drivers for early Tripp Lite models, I would have definitely recommended another vendor such as APC or MGE instead. Today, the tables are turned: MGE/Eaton have decreased their involvement in NUT, and APC has switched to a proprietary MODBUS-over-USB protocol that they have not publicly documented [1]. On the other hand, Tripp Lite approached the NUT project unsolicited with several documents worth of NUT integration testing results with their newer USB UPS models.[2] There is still some work to be done on correcting some of the values, but it's a move in the right direction.

[1] http://forums.apc.com/thread/5374

[2] http://lists.alioth.debian.org/pipermail/nut-upsuser/2013-October/008675.html

* I am not sure that "bigger is better" when it comes to replacement batteries. I have been buying slightly larger-capacity batteries for several different UPS brands and models, and the effect ranges from confusion about state-of-charge (~2002 350W APC; with battery door, incidentally) to fried battery charging circuitry (350W MGE Evolution).

* For testing power failure scenarios, I would use a power strip switch or a circuit breaker before tripping a GFCI. I have no scientific basis for that, just feels better for some reason.

* Although you certainly have a point about not letting UPS batteries wither on the shelf, if someone is planning to set up many independent UPS-computer pairs with inexpensive UPSes, it might be worth having a "hot spare" UPS that is rotated in occasionally during service windows. The battery charger failure I mentioned above did not allow me to continue using the UPS even without a battery, so I had to swap in another unit.

Charles Lepple
clepple at gmail

More information about the Nut-upsdev mailing list