NUTUPSDRV(8) | NUT Manual | NUTUPSDRV(8) |
NAME
nutupsdrv - Generic manual for unified NUT drivers
SYNOPSIS
nutupsdrv -h
nutupsdrv [OPTIONS]
DESCRIPTION
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 Tools package.
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 package.
The core has three 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, as per the pollinterval parameter in ups.conf(5). The results of this command are presented to upsd. The driver will also handle setting variables and instant commands if available.
In the second mode, using -k, the driver can 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.
In the third mode, using -d, the driver will exit after some update loops, dumping the data tree (in upsc(8)-like format) to stdout. This can be useful to complement the nut-scanner(8) to discover devices, along with in-depth data.
Note
You probably don’t want to use any of these options directly. You should use upsdrvctl(8) (or upsdrvsvcctl(8) on systems with a service management framework like systemd or SMF) 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.
OPTIONS
-h
-a id
-s id
-D
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.
-d update_count
By default this prevents the driver process from backgrounding after startup. Note that the driver banner will be printed too, so when using this option in scripts, don’t forget to trim the first line, or use the NUT_QUIET_INIT_BANNER environment variable.
-q
The debugging comment above also applies here.
-c command
reload
reload-or-error
reload-or-exit
exit
With recent NUT v2.8.x releases, such commands can be sent using the Unix socket for driver-server interaction. As a fallback, like older releases, signals can be sent to the old driver instance’s PID (where possible).
-P pid
-F
-B
-i interval
-V
-L
-k
You should use upsdrvctl shutdown whenever possible instead of calling this directly. Note that the constrained operating system context for shutdown typically rules out use of upsdrvsvcctl shutdown.
-r directory
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 (but reconnection to devices may be no longer possible and could require a full restart of the driver).
-u username
When compiling NUT from source, the default username is typically nobody, and this may cause permission errors when the driver opens the UPS device node. You can use this option to temporarily override the defaults. For testing purposes, you can set this option to root to bypass permission errors, especially with USB-based drivers. However, you will want to remove this option later in order to avoid permission conflicts between the driver and the unprivileged copy of upsd(8).
-g groupname
-x var=val
This is like setting var=val in ups.conf(5), but -x overrides any settings from that file.
DIAGNOSTICS
Information about the startup process is printed to stdout and/or stderr. Additional messages after that point are only available in the syslog, unless the driver remains in foreground (e.g. due to raised debugging verbosity).
After upsd(8) starts, the UPS clients such as upsc(8) can be used to query the status of an UPS.
PROGRAM CONTROL
You should always use upsdrvctl(8) (or upsdrvsvcctl(8) on systems with a service management framework like systemd or SMF) to control the drivers. While drivers can be started by hand for testing purposes, it is not recommended for production use.
FILES
ups.conf
ENVIRONMENT VARIABLES
NUT_DEBUG_LEVEL sets default debug verbosity if no -D arguments were provided on command line, but does not request that the daemon runs in foreground mode.
NUT_CONFPATH is the path name of the directory that contains ups.conf and other configuration files. If this variable is not set, drivers use a built-in default, which is often /usr/local/ups/etc.
NUT_STATEPATH is the path name of the directory in which upsd and drivers keep shared state information. If this variable is not set, upsd and drivers use a built-in default, which is often /var/state/ups. The STATEPATH directive in upsd.conf(5) overrides this variable.
NUT_ALTPIDPATH is the path name of the directory in which upsd and drivers store .pid files. If this variable is not set, upsd and drivers use either NUT_STATEPATH if set, or ALTPIDPATH if set, or otherwise the built-in default STATEPATH.
NUT_QUIET_INIT_UPSNOTIFY=true can be used to prevent daemons which can notify service management frameworks (such as systemd) about passing their lifecycle milestones from emitting such notifications (including those about lack of system support for such modern features, once per run).
NUT_QUIET_INIT_BANNER=true can be used to suppress NUT tool name and version banner. NOT recommended for services due to adverse troubleshooting impact, but may be helpful in shell profiles or scripts which process NUT tool outputs.
BUGS
Some of the drivers may have bugs. See their manuals for more information.
SEE ALSO
Configuration:
Server:
Clients:
CGI programs:
Driver control:
Drivers:
Internet resources:
The NUT (Network UPS Tools) home page: https://www.networkupstools.org/historic/v2.8.3/
05/29/2025 | Network UPS Tools 2.8.3 |