GENERICUPS(8) Network UPS Tools (NUT) GENERICUPS(8)NAMEgenericups - Driver for contact-closure UPS equipment
NOTE
This man page only documents the specific features of the
genericups driver. For information about the core driver,
see nutupsdrv(8).
SUPPORTED HARDWARE
This driver supports hardware from many different manufac-
turers as it only uses the very simplest of signaling
schemes. Contact closure refers to a kind of interface
where basic high/low signals are provided to indicate sta-
tus. This kind of UPS can only report line power and bat-
tery status.
This means that you will get "MFR", "MODEL", and "STATUS".
That's it. Anything else requires a smarter UPS.
CABLING
Cabling is different for every kind of UPS. See the table
below for information on what is known to work with a
given UPS type.
EXTRA ARGUMENTS
This driver supports the following settings in the
ups.conf(5):
upstype=type
Required. Configures the driver for a specific
kind of UPS. See the UPS Types section below for
more information on which entries are available.
mfr=string
Optional. The very nature of a generic UPS driver
sometimes means that the stock manufacturer data
has no relation to the actual hardware that is
attached. With the mfr setting, you can change the
value that is seen by clients that monitor this
UPS.
model=string
Optional. This is like mfr above, but it overrides
the model string instead.
TYPE INFORMATION
The essence of a UPS definition in this driver is how it
uses the serial lines that are available. These are the
abbreviations you will see below:
OL - On line (no power failure) (opposite of OB - on
battery)
LB - Low battery
SD - Shutdown load
CP - Cable power (must be present for cable to have
valid reading)
CTS - Clear to Send. Received from the UPS.
RTS - Ready to Send. Sent by the PC.
DCD - Data Carrier Detect. Received from the UPS.
RNG - Ring indicate. Received from the UPS.
DTR - Data Terminal Ready. Sent by the PC.
ST - Send a BREAK on the transmit data line
A - in front of a signal name (like -RNG) means that the
indicated condition is signaled with an active low signal.
For example, [LB=-RNG] means the battery is low when the
ring indicate line goes low, and that the battery is OK
when that line is held high.
UPS TYPES
0 = UPSonic LAN Saver 600
[CP=DTR+RTS] [OL=-CTS] [LB=DCD] [SD=DTR]
1 = APC Back-UPS/Back-UPS Pro/Smart-UPS with 940-0095A/C
cable
[CP=DTR] [OL=-RNG] [LB=DCD] [SD=RTS]
2 = APC Back-UPS/Back-UPS Pro/Smart-UPS with 940-0020B
cable
[CP=RTS] [OL=-CTS] [LB=DCD] [SD=DTR+RTS]
3 = PowerTech Comp1000 with DTR cable power
[CP=DTR] [OL=CTS] [LB=DCD] [SD=DTR+RTS]
4 = Generic RUPS Model
[CP=RTS] [OL=CTS] [LB=-DCD] [SD=-RTS]
5 = Tripp Lite UPS with Lan2.2 interface (black 73-0844
cable)
[CP=DTR] [OL=CTS] [LB=-DCD] [SD=DTR+RTS]
6 = Best Patriot with INT51 cable
[CP=DTR] [OL=CTS] [LB=-DCD] [SD=RTS]
7 = CyberPower Power99
also Upsonic Power Guardian PG-500
[CP=RTS] [OL=CTS] [LB=-DCD] [SD=DTR]
8 = Nitram Elite 500
[CP=DTR] [OL=CTS] [LB=-DCD] [SD=???]
9 = APC Back-UPS/Back-UPS Pro/Smart-UPS with 940-0023A
cable
[CP=none] [OL=-DCD] [LB=CTS] [SD=RTS]
10 = Victron Lite with crack cable
[CP=RTS] [OL=CTS] [LB=-DCD] [SD=DTR]
11 = Powerware 3115
[CP=DTR] [OL=-CTS] [LB=-DCD] [SD=ST]
12 = APC Back-UPS Office with 940-0119A cable
[CP=RTS] [OL=-CTS] [LB=DCD] [SD=DTR]
13 = RPT Repoteck RPT-800A/RPT-162A
[CP=DTR+RTS] [OL=DCD] [LB=-CTS] [SD=ST]
14 = Online P-series
[CP=DTR] [OL=DCD] [LB=-CTS] [SD=RTS]
15 = Powerware 5119
[CP=DTR] [OL=CTS] [LB=-DCD] [SD=ST]
16 = Nitram Elite 2002
[CP=DTR+RTS] [OL=CTS] [LB=-DCD] [SD=???]
17 = PowerKinetics 9001
[CP=DTR] [OL=CTS] [LB=DCD] [SD=???]
18 = TrippLite Omni 450LAN with Martin's cabling
[CP=DTR] [OL=CTS] [LB=DCD] [SD=none]
http://lists.exploits.org/upsdev/Jul2002/00012.html
19 = Fideltronic Ares Series
[CP=DTR] [OL=CTS] [LB=-DCD] [SD=RTS]
SIMILAR MODELS
Many different UPS companies make models with similar
interfaces. The RUPS cable seems to be especially popular
in the "power strip" variety of UPS found in office supply
stores. If your UPS works with an entry in the table
above, but the model or manufacturer information don't
match, don't despair. You can fix that easily by using
the mfr and model variables documented above in your
ups.conf(5).
TESTING COMPATIBILITY
If your UPS isn't listed above, you can try going through
the list until you find one that works. There is a lot of
cable and interface reuse in the UPS world, and you may
find a match.
To do this, first make sure nothing important is plugged
into the outlets on the UPS, as you may inadvertently
switch it off. Definitely make sure that the computer
you're using is not plugged into that UPS. Plug in some-
thing small like a lamp so you know when power is being
supplied to the outlets.
Now, you can either attempt to make an educated guess
based on the documentation your manufacturer has provided
(if any), or just start going down the list.
Step 1
Pick a driver to try from the list (genericups -h) and go
to step 2.
Step 2
Start the driver with the type you want to try -
genericups-x upstype=n /dev/port
Let upsd sync up (watch the syslog), and then run upsc to
see what it found. If the STATUS is right (should be OL
for on line), go to step 3, otherwise go back to step 1.
Step 3
Disconnect the UPS from the wall/mains power. This is
easiest if you have a switched outlet in between it and
the wall, but you can also just pull the plug to test.
The lamp should stay lit, and the status should switch to
"OB". If the lamp went out or the status didn't go to
"OB" within about 15 seconds, go to step 1. Otherwise,
continue to step 4.
Step 4
At this point, we know that OL and OB work. If nothing
else beyond this point works, you at least know what your
OL/OB value should be.
Wait for the UPS to start complaining about a low battery.
Depending on the size of your UPS battery and the lamp's
bulb, this could take awhile. It should start complaining
audibly at some point. When this happens, STATUS should
show "OB LB" within 15 seconds. If not, go to step 1,
otherwise continue to step 5.
Step 5
So far: OL works, OB works, and LB works.
With the UPS running on battery, run the genericups driver
with the -k switch to shut it down.
genericups-x upstype=n -k /dev/port
If the UPS turns off the lamp, you're done. At this
point, you have verified that the shutdown sequence actu-
ally does what you want. You can start using the gener-
icups driver with this type number for normal operations.
You should use your findings to add a section to your
ups.conf. Here is a quick example:
[myups]
driver = genericups
port = /dev/ttyS0
upstype = 1
Change the port and upstype values to match your system.
NEW SUPPORT
If the above testing sequence fails, you will probably
need to create a new entry to support your hardware. All
UPS types are determined from the table in the gener-
icups.h file in the source tree.
On a standard 9 pin serial port, there are 6 lines that
are used as the standard "high/low" signal levels. 4 of
them are incoming (to the PC, from the UPS), and the other
2 are outgoing (to the UPS, from the PC). The other 3 are
the receive/transmit lines and the ground.
Be aware that many manufacturers remap pins within the
cable. If you have any doubts, a quick check with a mul-
timeter should confirm whether the cable is straight-
through or not. Another thing to keep in mind is that
some cables have electronics in them to do special things.
Some have resistors and transistors on board to change
behavior depending on what's being supplied by the PC.
SPECIFIC MODEL NOTES
These have been contributed by users of this driver.
The Centralion CL series may power down the load if the
driver starts up with the UPS running on battery as the
default line settings contain the shutdown sequence. -
Neil Muller
The Tripp-Lite Internet Office 700 must be used with the
black 73-0844 cable instead of the gray 73-0743 cable.
This entry should work with any of their models with the
Lan 2.2 interface - see the sticker by the DB9 connector
on the UPS. - Stephen Brown
Type 5 should work with the Tripp-Lite Lan 2.1 interface
and the 73-0724 cable. This was tested with the OmniSmart
675 PNP on Red Hat 7.2. - Q Giese
Types 7 and 10 should both work with the PhoenixTec A1000.
BUGS
There is no way to reliably detect a contact-closure UPS.
This means the driver will start up happily even if no UPS
is detected. It also means that if the connection between
the UPS and computer is interrupted, you may not be able
to sense this in software.
Most contact-closure UPSes will not power down the load if
the line power is present. This can create a race when
using slave upsmon(8) systems. See the upsmon(8) man page
for more information.
The solution to both of these problems is to upgrade to a
smart protocol UPS of some kind that allows detection and
proper load cycling on command.
SEE ALSO
The core driver:
nutupsdrv(8)
Internet resources:
The NUT (Network UPS Tools) home page:
http://www.exploits.org/nut/
NUT mailing list archives and information:
http://lists.exploits.org/
Mon Mar 17 2003 GENERICUPS(8)