[Nut-upsdev] [PATCH] add support for more Matrix-UPS revisions

Chuck Anderson cra at WPI.EDU
Sat Feb 19 19:35:36 UTC 2011

As I requested here:


Add support for Matrix-UPS firmware 0XM/0XI with additional commands

Description of problem:

The attached patch adds support for Matrix-UPS revision strings 0XI 
and 0XM to the apcsmart driver.

The revision string itself isn't completely opaque--it is made up of 
different parts as documented on 
under "Old Firmware Revision".  This implies that many more 
combinations of characters could be added to support more revisions & 
configurations.  Indeed, 0XI and 0XM only differ by the placement of 
the 208V/240V input voltage select wire.

The first character can be 0 or 5 for Matrix-UPS 3000 vs. Matrix-UPS 
5000.  The second character is the actual firmware revision.  I've 
read in various forums about revisions U, W, X, Y, and Z.  There is 
probably a V as well.  The last character seems to be I for 240V and M 
for 208V, which I can change on mine by the placement of the input 
voltage select wire.

I've also tested the expanded command list which enables nut to access 
more functionality on my Matrix-UPS 3000.  I suggest that this same 
expanded list could be applied to all the other firmware combinations 
as well.

Please consider adding at least this patch which is limited to 0XI/0XM

-------------- next part --------------
Add support for Matrix-UPS firmware 0XM/0XI with additional commands.

Signed-off-by: Charles R. Anderson <cra at wpi.edu>

diff -up nut-2.6.0/drivers/apcsmart.h.compat nut-2.6.0/drivers/apcsmart.h
--- nut-2.6.0/drivers/apcsmart.h.compat	2010-12-24 08:24:29.000000000 -0500
+++ nut-2.6.0/drivers/apcsmart.h	2011-01-30 01:20:05.962757040 -0500
@@ -255,6 +255,8 @@ struct {
 	int	flags;
 } compat_tab[] = {
 	/* APC Matrix */
+	{ "0XI",	"789ABCDEFGKLMNOPQRSTUVWXYZcefgjklmnopqrsuwxz/<>\\^\014\026", 0 },
+	{ "0XM",	"789ABCDEFGKLMNOPQRSTUVWXYZcefgjklmnopqrsuwxz/<>\\^\014\026", 0 },
 	{ "0ZI",	"79ABCDEFGKLMNOPQRSUVWXYZcefgjklmnopqrsuxz/<>", 0 },
 	{ "5UI",	"79ABCDEFGKLMNOPQRSUVWXYZcefgjklmnopqrsuxz/<>", 0 },
 	{ "5ZM",	"79ABCDEFGKLMNOPQRSUVWXYZcefgjklmnopqrsuxz/<>", 0 },

More information about the Nut-upsdev mailing list