[Nut-upsdev] patch for old APC Smart-UPS 600

Konstantin 'Kastus' Shchuka kastus at epocrates.com
Sat Nov 25 05:43:09 CET 2006

Hi there,

I am using an old (really old) APC Smart-UPS 600. It worked fine
under apcupsd but when I tried NUT it did not work.

The error I was getting was:

sudo /lib/nut/apcsmart -DDD /dev/ttyS1
Network UPS Tools (version 2.0.4) - APC Smart protocol driver
        Driver version 1.99.8, command table version 2.0
debug level is '3'
Attempting firmware lookup
Firmware: [D4]
Not found in table - trying normal method
APC - Attempting to find command set
APC - Parsing out command set
Unable to split APC version string
Bailing out

I tried running commands manually from minicom, and indeed, the UPS
was returning D6, D5, or D4 in response to "b" command. I still do not
understand the inconsistency, but I have observed these 3 strings at least.

I came up with the following patch to apcsmart.h:

--- nut-2.0.4.orig/drivers/apcsmart.h
+++ nut-2.0.4/drivers/apcsmart.h
@@ -254,6 +254,10 @@
        /* APC600 */
        { "6QD",        "79ABCDEFGKLMNOPQRSUVWXYZcefgjklmnopqrsuxz", 0 },
        { "6TI",        "79ABCDEFGKLMNOPQRSUVWXYZcefgjklmnopqrsuxz", 0 },
+       /* Smart-UPS 600 */
+       { "D6",         "789ABCEFGKLMNOPQRSUVWXYZ", 0 },
+       { "D5",         "789ABCEFGKLMNOPQRSUVWXYZ", 0 },
+       { "D4",         "789ABCEFGKLMNOPQRSUVWXYZ", 0 },
        /* CS 350 */
        { "5.4.D",      "\1ABPQRSUYbdfgjmnx9",  0 },
I understand that it is a clumsy way to make it work but it was the easiest
for me.

I am not sure how many more old Smart-UPS 600 are still in use and if it's
worth including into NUT.

Kastus Shchuka

More information about the Nut-upsdev mailing list