nutupsdrv - generic manual for unified NUT drivers
nutupsdrv 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
For information on the specific drivers, see their individual man
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 package.
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 available.
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
You probably don't want to use any of these options directly. You
should use upsdrvctl(8) to control your drivers, and ups.conf(5) to
configure them. The rest of this manual describes options and
parameters that generally are not needed by normal users.
-h display an 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.
-a id autoconfigure this driver using the id section of ups.conf(5).
This argument is mandatory when calling the driver directly.
-D 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.
Set the poll interval for the device
-V print only version information, then exit
-L print parseable list of driver variables. Mostly useful for
configuration wizard programs.
-k ("kill" power) Force shutdown mode. The UPS will power off the
attached load, if possible.
You should use upsdrvctl shutdown whenever possible instead of
calling this directly.
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 within directory 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 'nobody', and is far from ideal.
define a variable called var with the 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=val in the ups.conf(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. The ups clients
such as upsc(8) can be used to query the status of a 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 production use.
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
upsc(8), upscmd(8), upsrw(8), upslog(8), upsmon(8)
upsset.cgi(8), upsstats.cgi(8), upsimage.cgi(8)
apcsmart(8), bcmxcp(8), bcmxcp_usb(8), belkin(8), belkinunv(8),
bestfcom(8), bestuferrups(8), bestups(8), blazer(8), cyberpower(8),
dummy-ups(8), etapro(8), everups(8), gamatronic(8), genericups(8),
isbmex(8), liebert(8), masterguard(8), megatec(8), megatec_usb(8),
metasys(8), mge-shut(8), mge-utalk(8), mge-xml(8), newmge-shut(8),
nitram(8), oneac(8), optiups(8), powercom(8), powerman-pdu(8),
powerpanel(8), rhino(8), richcomm_usb(8), safenet(8), snmp-ups(8),
solis(8), tripplite(8), tripplitesu(8), tripplite_usb(8),
usbhid-ups(8), upscode2(8), victronups(8)
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/
Wed Dec 31 2008