Imported Upstream version 2.6.0
This commit is contained in:
parent
26fb71b504
commit
459aaf9392
510 changed files with 40508 additions and 18859 deletions
344
docs/man/belkinunv.txt
Normal file
344
docs/man/belkinunv.txt
Normal file
|
|
@ -0,0 +1,344 @@
|
|||
BELKINUNV(8)
|
||||
============
|
||||
|
||||
NAME
|
||||
----
|
||||
|
||||
belkinunv - Driver for Belkin "Universal UPS" and compatible
|
||||
|
||||
NOTE
|
||||
----
|
||||
This man page only documents the hardware-specific features of the
|
||||
belkin driver. For information about the core driver, see
|
||||
linkman:nutupsdrv[8].
|
||||
|
||||
SUPPORTED HARDWARE
|
||||
------------------
|
||||
The belkinunv driver is known to work with the Belkin Universal UPS
|
||||
models F6C800-UNV and F6C120-UNV, and is expected to work with other
|
||||
Belkin Universal UPS models. The driver only supports serial
|
||||
communication, not USB.
|
||||
|
||||
The Trust UPS and older Belkin units are not supported by this driver,
|
||||
and neither are the Belkin Home Office models (F6H500-SER and so
|
||||
forth). However, some Belkin models, such as the Regulator Pro, are
|
||||
supported by the linkman:belkin[8] driver, and the Home Office models
|
||||
are supported using the linkman:genericups[8] driver with
|
||||
`upstype=7`.
|
||||
|
||||
SOFT SHUTDOWN WORKAROUND
|
||||
------------------------
|
||||
One problem with the Belkin Universal UPS is that it cannot enter a
|
||||
soft shutdown (shut down the load until AC power returns) unless the
|
||||
batteries are completely depleted. Thus, one cannot just shut off the
|
||||
UPS after operating system shutdown; it will not come back on when the
|
||||
power comes back on. Therefore, the belkinunv driver should never be
|
||||
used with the *-k* option. Instead, the *-x wait* option is
|
||||
provided as a workaround.
|
||||
|
||||
When called with the *-x wait* option, *belkinunv* behaves as
|
||||
a standalone program (i.e., it does not fork into the background). It
|
||||
performs one simple task: it connects to the UPS, waits for AC power
|
||||
to return, and then exits with status 0.
|
||||
|
||||
This is meant to be used in a shutdown script as follows: during a
|
||||
shutdown, after all filesystems have been remounted read-only, and
|
||||
just before the system would normally be halted: check /etc/killpower
|
||||
(or similar) to see if this shutdown was caused by linkman:upsmon[8],
|
||||
and if yes, call *belkinunv -x wait*. If AC power comes back on,
|
||||
*belkinunv* exits, and things should be arranged so that the
|
||||
system reboots in this case. If AC power does not come back on, the
|
||||
UPS will eventually run out of batteries, kill the computer's power
|
||||
supply, and go into soft shutdown mode, which means everything will
|
||||
reboot properly when the power returns. In either case, a deadlock is
|
||||
avoided.
|
||||
|
||||
In addition, if an optional integer argument is given to the *-x wait*
|
||||
option, this causes *belkinunv* to wait not only for AC power to be present,
|
||||
but also for the battery charge to reach the given level. I use this as part of
|
||||
my startup scripts, to ensure that the batteries are sufficiently charged
|
||||
before the computer continues booting. This should be put very early in the
|
||||
startup script, before any filesystems are mounted read/write, and before any
|
||||
filesystem checks are performed.
|
||||
|
||||
Several other *-x* options are provided to fine-tune this
|
||||
behavior. See the <<_options,options>> below for detailed descriptions. See the
|
||||
<<_examples,examples>>
|
||||
below for examples of how to use *belkinunv* in shutdown and
|
||||
startup scripts.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
See also linkman:nutupsdrv[8] for generic options. Never use the
|
||||
*-k* option with this driver; it does not work properly.
|
||||
|
||||
*-x wait*[='level']::
|
||||
When this option is used, *belkinunv* does not fork into the
|
||||
background, but behaves as a standalone program. It connects to the UPS and
|
||||
waits until AC power is present. If 'level' is specified, it also
|
||||
waits until the battery charge reaches at least the given level in
|
||||
percent. Then, and only then, *belkinunv* exits. In addition,
|
||||
while *belkinunv* runs in this mode, it displays a status line
|
||||
with information on the UPS status and battery level. This is intended
|
||||
for use in the computer's shutdown and startup scripts, as described
|
||||
under <<_soft_shutdown_workaround,Soft Shutdown Workaround>> above.
|
||||
|
||||
*-x nohang*::
|
||||
This option only has an effect when used in conjunction with the *-x wait*
|
||||
option. It causes *belkinunv* to exit if a connection with
|
||||
the UPS cannot be established or is lost, instead of retrying forever,
|
||||
which is the default behavior. The *-x nohang* option should be
|
||||
used in a startup
|
||||
script, to ensure the computer remains bootable even if the UPS has
|
||||
been disconnected during the power failure (for instance, you attached
|
||||
your computer to a generator, carried it to a neighbor's house, or
|
||||
whatever).
|
||||
|
||||
*-x flash*::
|
||||
This option only has an effect when used in conjunction with the *-x wait*
|
||||
option. It causes the UPS load to be shut off for a short time
|
||||
("flashed") just after the AC power has returned and the requested
|
||||
battery level (if any) has been attained. This is useful if slaves are
|
||||
attached to this UPS; the flash will cause all of them to reboot. Note
|
||||
that, due to the design of the Belkin UPS hardware, the load shutdown lasts
|
||||
ca. 1--2 minutes; a shorter flash cannot be performed reliably. Also,
|
||||
the computers will reboot at the scheduled time, on battery power if
|
||||
necessary, even if AC power fails again in the meantime. This should
|
||||
not be a problem, as your startup scripts can catch this situation.
|
||||
|
||||
*-x silent*::
|
||||
This option only has an effect when used in conjunction with the *-x wait*
|
||||
option. It suppresses the status line which *belkinunv*
|
||||
would normally print.
|
||||
|
||||
*-x dumbterm*::
|
||||
This option only has an effect when used in conjunction with the *-x wait*
|
||||
option. It changes the way in which *belkinunv* prints its
|
||||
status line. Normally, terminal control sequences are used to
|
||||
overwrite the same line with new status information, each time the
|
||||
status is updated. This may not work on all terminals. If the *-x dumbterm*
|
||||
option is given, each status update is written on a new
|
||||
line.
|
||||
|
||||
VARIABLES
|
||||
---------
|
||||
*battery.charge*::
|
||||
|
||||
*battery.runtime*::
|
||||
not supported by all hardware.
|
||||
|
||||
*battery.voltage*::
|
||||
|
||||
*battery.voltage.nominal*::
|
||||
|
||||
*driver.version.internal*::
|
||||
|
||||
*input.frequency*::
|
||||
|
||||
*input.frequency.nominal*::
|
||||
e.g. 60 for 60Hz
|
||||
|
||||
*input.sensitivity*::
|
||||
writable: normal/medium/low
|
||||
|
||||
*input.transfer.high*::
|
||||
writable: high transfer voltage point in V
|
||||
|
||||
*input.transfer.low*::
|
||||
writable: low transfer voltage point in V
|
||||
|
||||
*input.voltage*::
|
||||
|
||||
*input.voltage.maximum*::
|
||||
|
||||
*input.voltage.minimum*::
|
||||
|
||||
*input.voltage.nominal*::
|
||||
|
||||
*output.frequency*::
|
||||
|
||||
*output.voltage*::
|
||||
|
||||
*ups.beeper.status*::
|
||||
writable. Values: enabled/disabled/muted. This variable controls the
|
||||
state of the panel beeper. Enabled means sound when the alarm is
|
||||
present, disabled means never sound, and muted means the sound is
|
||||
temporarily disabled until the alarm would normally stop sounding. In
|
||||
the muted state, the beeper is automatically turned back on at the
|
||||
next event (AC failure, battery test, etc). Also, the beeper can't be
|
||||
turned off during a critical event (low battery). Note that not all
|
||||
UPS models support the "disabled" state.
|
||||
|
||||
*ups.firmware*::
|
||||
|
||||
*ups.load*::
|
||||
|
||||
*ups.model*::
|
||||
|
||||
*ups.power.nominal*::
|
||||
e.g. 800 for an 800VA system
|
||||
|
||||
*ups.status*::
|
||||
a list of flags; see the <<_status_flags,status flags>> below.
|
||||
|
||||
*ups.temperature*::
|
||||
not supported by all hardware.
|
||||
|
||||
*ups.test.result*::
|
||||
|
||||
*ups.delay.restart*::
|
||||
time to restart (read only)
|
||||
|
||||
*ups.delay.shutdown*::
|
||||
time to shutdown (read only). This is always a multiple of 60 seconds.
|
||||
|
||||
*ups.type*::
|
||||
ONLINE/OFFLINE/LINEINT. This describes the basic layout of this UPS
|
||||
(for GUI clients which want to draw an animated picture of power
|
||||
flow). An offline UPS has a direct connection from AC input to AC
|
||||
output, and also a connection from AC input to the battery, and from
|
||||
the battery to AC output. An online UPS lacks the direct connection
|
||||
from AC input to AC output, whereas a line interactive UPS lacks the
|
||||
connection from AC input to the battery.
|
||||
|
||||
|
||||
COMMANDS
|
||||
--------
|
||||
|
||||
*beeper.enable, beeper.disable, beeper.mute*::
|
||||
Enable, disable or mute the panel beeper. Note that if the beeper is
|
||||
muted, it is automatically turned back on at the next event (AC failure,
|
||||
battery test, etc). Also, the beeper can't be turned muted during a
|
||||
critical event (low battery).
|
||||
|
||||
*reset.input.minmax*::
|
||||
Reset the variables *input.voltage.minimum* and
|
||||
*input.voltage.maximum*.
|
||||
|
||||
*shutdown.reboot*::
|
||||
Shut down load immediately for about 1--2 minutes.
|
||||
|
||||
*shutdown.reboot.graceful*::
|
||||
After 40 second delay, shut down load for about 1--2 minutes.
|
||||
|
||||
*shutdown.stayoff*::
|
||||
Shut down load immediately and stay off. The only way it can be turned
|
||||
back on is by manually pressing the front panel button.
|
||||
|
||||
*test.battery.start, test.battery.stop*::
|
||||
Start/stop 10 second battery test.
|
||||
|
||||
*test.failure.start, test.failure.stop*::
|
||||
Start/stop "deep" battery test.
|
||||
|
||||
|
||||
STATUS FLAGS
|
||||
------------
|
||||
|
||||
*OB*::
|
||||
load is on battery, including during tests
|
||||
|
||||
*OFF*::
|
||||
load is off
|
||||
|
||||
*OL*::
|
||||
load is online
|
||||
|
||||
*ACFAIL*::
|
||||
AC failure. Note that this refers to the AC input, and thus it is not
|
||||
the same as "OB". An AC failure can occur at any time, for instance,
|
||||
during a battery test, or when the UPS load is off.
|
||||
|
||||
*OVER*::
|
||||
overload
|
||||
|
||||
*OVERHEAT*::
|
||||
overheat
|
||||
|
||||
*COMMFAULT*::
|
||||
UPS fault
|
||||
|
||||
*LB*::
|
||||
low battery
|
||||
|
||||
*CHRG*::
|
||||
charging
|
||||
|
||||
*DEPLETED*::
|
||||
the battery is depleted. When the UPS raises this flag, it
|
||||
simultaneously switches off the load.
|
||||
|
||||
*RB*::
|
||||
replace battery
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
Here is an example for how *belkinunv* should be used in a
|
||||
computer's shutdown script. These commands should go in the very last
|
||||
part of the shutdown script, after all file systems have been mounted
|
||||
read-only, and just before the computer halts. Note that
|
||||
*belkinunv* must be installed in a directory which is still
|
||||
readable at that point.
|
||||
|
||||
|
||||
# NEAR END OF SHUTDOWN SCRIPT:
|
||||
# if shutdown was caused by UPS, perform Belkin UPS workaround.
|
||||
if [ -f /etc/killpower ] ; then
|
||||
echo "Waiting for AC power, or for UPS batteries to run out..."
|
||||
/usr/bin/belkinunv -x wait /dev/ttyS1
|
||||
|
||||
# we get here if the power came back on. Reboot.
|
||||
echo "Power is back. Rebooting..."
|
||||
reboot
|
||||
fi
|
||||
|
||||
And here is an example of how to use *belkinunv* in the startup
|
||||
script. These commands should go near the beginning of the startup
|
||||
script, before any file systems are mounted read/write, and before any
|
||||
file system integrity checks are done.
|
||||
|
||||
|
||||
# NEAR BEGINNING OF STARTUP SCRIPT:
|
||||
# if we are recovering from a power failure, wait for the UPS to
|
||||
# charge to a comfortable level before writing anything to disk
|
||||
if [ -f /etc/killpower ] ; then
|
||||
echo "Waiting for UPS battery charge to reach 60%..."
|
||||
/usr/bin/belkinunv -x wait=60 -x nohang /dev/ttyS1
|
||||
fi
|
||||
|
||||
EXIT STATUS
|
||||
-----------
|
||||
|
||||
When used normally, *belkinunv* forks into the background and its
|
||||
diagnostics are the same as for all NUT drivers, see
|
||||
linkman:nutupsdrv[8].
|
||||
|
||||
When used with the *-x wait* option, the exit status is normally
|
||||
*0*. If the *-x nohang* option has also been specified, an exit
|
||||
status of *1* indicates that communication with the UPS was lost. If the
|
||||
*-x flash* option has been specified, an exit status of *2*
|
||||
indicates that the timed shutdown has failed.
|
||||
|
||||
EXTRA ARGUMENTS
|
||||
---------------
|
||||
|
||||
This driver does not support any extra settings in linkman:ups.conf[5].
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
The core driver:
|
||||
~~~~~~~~~~~~~~~~
|
||||
linkman:nutupsdrv[8]
|
||||
|
||||
Internet resources:
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
- The NUT (Network UPS Tools) home page: http://www.networkupstools.org/
|
||||
- The documentation for the protocol used by this UPS:
|
||||
link:http://www.mscs.dal.ca/~selinger/ups/belkin-universal-ups.html[belkin-universal-ups.html]
|
||||
|
||||
AUTHOR
|
||||
------
|
||||
|
||||
Peter Selinger <selinger@users.sourceforge.net>
|
||||
Loading…
Add table
Add a link
Reference in a new issue