nutupsdrv - generic manual for unified NUT drivers
is not actually a driver. This is a combined man page for the
shared code that is the core of many drivers within the Network UPS Tools
For information on the specific drivers, see their individual man pages.
UPS drivers provide a communication channel between the physical UPS hardware
and the upsd
(8) server. The driver is responsible for translating the
native protocol of the UPS to the common format used by the rest of this
The core has two modes of operation which are determined by the command line
switches. In the normal mode, the driver will periodically poll the UPS for
its state and parameters. The results of this command is presented to upsd.
The driver will also handle setting variables and instant commands if
The driver can also instruct the UPS to shut down the load, possibly after some
delay. This mode of operation is intended for cases when it is known that the
UPS is running out of battery power and the systems attached must be turned
off to ensure a proper reboot when power returns.
You probably don’t want to use any of these options directly. You should
(8) to control your drivers, and ups.conf
configure them. The rest of this manual describes options and parameters that
generally are not needed by normal users.
Display a help message without doing anything
else. This will also list possible values for -x in that driver, and
other help text that the driver’s author may have provided.
Autoconfigure this driver using the id
section of ups.conf(5). This argument is mandatory when calling the
Raise the debugging level. Use this multiple
times to see more details. Running a driver in debug mode will prevent it from
backgrounding after startup. It will keep on logging information to the
console until it receives a SIGINT (usually Ctrl-C) or SIGTERM signal.
The level of debugging needed depends both on the driver and the problem
you’re trying to diagnose. Therefore, first explain the problem you
have with a driver to a developer/maintainer, before sending them debugging
output. More often than not, if you just pick a level, the output may be
either too limited or too verbose to be of any use.
Raise log level threshold. Use this multiple
times to log more details.
The debugging comment above also applies here.
Set the poll interval for the device.
Print only version information, then
Print a parseable list of driver variables.
Mostly useful for configuration wizard programs.
("Kill" power) Forced shutdown mode.
The UPS will power off the attached load, if possible.
You should use upsdrvctl shutdown whenever possible instead of calling this
The driver will chroot(2) to directory
during initialization. This can be useful when securing systems.
In addition to the state path, many systems will require /dev/null to exist
for this to work. The serial ports are opened before
the chroot call, so you do not need to create them inside the jail. In fact,
it is somewhat safer if you do not.
If started as root, the driver will setuid(2)
to the user id associated with username
If you do not specify this value and start it as root, the driver will switch to
the default value that was compiled into the code. This is typically
, and is far from ideal.
Define a variable called var
value of var
in the driver. This varies from driver to driver - see the
specific man pages for more information.
This is like setting var
(5), but -x
overrides any settings from that file.
Information about the startup process is printed to stdout. Additional messages
after that point are available in the syslog. After upsd
(8) starts, the
UPS clients such as upsc
(8) can be used to query the status of an UPS.
You should always use upsdrvctl
(8) to control the drivers. While drivers
can be started by hand for testing purposes, it is not recommended for
Required configuration file. This contains all
details on which drivers to start and where the hardware is attached.
Some of the drivers may have bugs. See their manuals for more information.
CGI programs: upsset.cgi
Driver control: upsdrvctl
Internet resources: The NUT (Network UPS Tools) home page: