Sunday, January 14, 2024

APC SmartUPS Online Serial over USB

 Wow, long time no see.

So, as always, another post to avoid this relevant xkcd:

Hardware involved:

  • Dell R730XD (Arch Linux)
  • APC SmartUPS Online (SRT1500RMXLA)
  • Generic AliExpress minipc (router/pfSense)

Scenario:

The SmartUPS Online is managed by APCUPSD on the R730XD connected by the included RJ50 to Serial cable (940-1525A).  Other devices attached to the same SmartUPS are running APCUPSD and configured to query the R730XD over the network for UPS status.

Problem:

The R730XD is far and away the largest draw on the UPS, so it's the first thing that gets shutdown in a power outage.  However, now there is no automatic shutdown for other devices attached to the same UPS that are required for the network itself to function (DNS server, router, switch, cable modem, PoE injector).  The router device runs pfSense, but has no serial ports, and for some reason the USB connection to APCUPSD from this UPS provides limited information.

Solution:

A well-supported serial-to-usb converter (the one I used was FTDI based) with the serial/DB9 end of the UPS cable plugged into it.  Plugged in to a USB port on the pfSense minipc.  APCUPSD configuration:

UPS Cable: smart
UPS Type: modbus
Device: /dev/ttyU0

APCUPSD returns appropriate data for it being serial connected even though it is connected via USB. The other option on this particular minipc was to work up a rj45 console to db9 connection, which is where I was headed before I could use a serial to usb adapter.