1BLAZER_USB(8)                     NUT Manual                     BLAZER_USB(8)
2
3
4

NAME

6       blazer_usb - Driver for Megatec/Q1 protocol USB based UPS equipment
7

NOTE

9       This man page only documents the hardware-specific features of the
10       blazer driver. For information about the core driver, see nutupsdrv(8).
11

NOTE

13       Please note that this driver is deprecated and will not receive new
14       development. If it works for managing your devices — fine, but if you
15       are running it to try setting up a new device, please consider the
16       newer nutdrv_qx(8) instead, which should handle all Q* protocol
17       variants for NUT.
18
19       Please do also report if your device works with this driver, but
20       nutdrv_qx(8) would not actually support it with any subdriver!
21

SUPPORTED HARDWARE

23       The blazer driver is known to work with various UPSes from Blazer,
24       Energy Sistem, Fenton Technologies, General Electric, Mustek and many
25       others. The NUT compatibility table lists all the known supported
26       models. Keep in mind, however, that other models not listed there may
27       also be supported, but haven’t been tested.
28
29       All devices with a serial interface (use the blazer_ser driver) and
30       many with a USB interface (use the blazer_usb driver) are supported.
31

EXTRA ARGUMENTS

33       You may need to override or provide defaults for some values, depending
34       on the make and model of your UPS. The following are the ones that most
35       likely will need changing (see ups.conf(5)):
36
37       default.battery.voltage.high = value
38           Maximum battery voltage that is reached after about 12 to 24 hours
39           charging. If you want the driver to report a guesstimated
40           battery.charge, you need to specify this (see BATTERY CHARGE).
41
42       default.battery.voltage.low = value
43           Minimum battery voltage just before the UPS automatically shuts
44           down. If you want the driver to report a guesstimated
45           battery.charge, you need to specify this (see BATTERY CHARGE).
46
47       default.battery.voltage.nominal = value,
48       override.battery.voltage.nominal = value
49           Some devices show a wrong nominal battery voltage (or none at all),
50           so you may need to override or set a default value.
51
52       override.battery.packs = value
53           Some devices report a part of the total battery voltage. For
54           instance, if battery.voltage.nominal is 24 V, but it reports a
55           battery.voltage of around 2 V, the number of battery.packs to
56           correct this reading would be 12. The driver will attempt to detect
57           this automatically, but if this fails somehow, you may want to
58           override this value.
59
60       ondelay = value
61           Time to wait before switching on the UPS (minutes). Note that a
62           value below 3 minutes, may cause earlier firmware versions to not
63           switch on automatically, so it defaults to 3 minutes. The
64           acceptable range is 0..9999 minutes.
65
66       offdelay = value
67           Time to wait before shutting down the UPS (seconds). This value is
68           truncated to units of 6 seconds (less than 60 seconds) or 60
69           seconds (more than 60 seconds). Defaults to 30 seconds. The
70           acceptable range is 12..600 seconds.
71
72       norating
73           Some UPSes will lock up if you attempt to read rating information
74           from them. Setting this flag will make the driver skip this step.
75
76       novendor
77           Some UPSes will lock up if you attempt to read vendor information
78           from them. Setting this flag will make the driver skip this step.
79
80       protocol = string
81           Skip autodetection of the protocol to use and only use the one
82           specified. Supported values megatec, megatec/old, mustek and zinto.
83
84       runtimecal = value,value,value,value
85           Parameter used in the (optional) runtime estimation. This takes two
86           runtimes at different loads. Typically, this uses the runtime at
87           full load and the runtime at half load. For instance, if your UPS
88           has a rated runtime of 240 seconds at full load and 720 seconds at
89           half load, you would enter
90
91               runtimecal = 240,100,720,50
92
93           The first load should always be higher than the second. If you have
94           values available for loads other than 100 and 50 % respectively,
95           you can use those too, but keep them spaced apart as far as
96           reasonably possible. Just don’t get too close to no load
97           (prediction of runtime depends more on idle load for the battery
98           then).
99
100       chargetime = value
101           The time needed to fully recharge the battery after being fully
102           discharged. If not specified, the driver defaults to 43200 seconds
103           (12 hours). Only used if runtimecal is also specified.
104
105       idleload = value
106           Minimum battery load used by the driver to estimate the runtime. If
107           not specified, the driver defaults to 10%. Only used if runtimecal
108           is also specified.
109
110   USB INTERFACE ONLY
111       vendorid = regex, productid = regex, vendor = regex, product = regex,
112       serial = regex
113           Select a specific UPS, in case there is more than one connected via
114           USB. Each option specifies an extended regular expression (see
115           regex(7)) that must match the UPS’s entire vendor/product/serial
116           string (minus any surrounding whitespace), or the whole 4-digit
117           hexadecimal code for vendorid and productid. Try -DD for finding
118           out the strings to match.
119
120           Examples:
121
122           •   -x vendor="Foo.Corporation.*"
123
124           •   -x vendorid=051d* (APC)
125
126           •   -x product=".*(Smart|Back)-?UPS.*"
127
128       bus = regex
129           Select a UPS on a specific USB bus or group of buses. The argument
130           is a regular expression that must match the bus name where the UPS
131           is connected (e.g. bus="002", bus="00[2-3]").
132
133       device = regex
134           Select a UPS on a specific USB device or group of devices. The
135           argument is a regular expression that must match the device name
136           where the UPS is connected (e.g. device="001", device="00[1-2]").
137           Note that device numbers are not guaranteed by the OS to be stable
138           across re-boots or device re-plugging.
139
140       subdriver = string
141           Select a serial-over-USB subdriver to use. You have a choice
142           between phoenix, ippon, cypress, and krauler. When using this
143           option, it is mandatory to also specify the vendorid and productid.
144
145       langid_fix = value
146           Apply the language ID workaround to the krauler subdriver. This is
147           mandatory for some devices to work (LDLC, Dynamix and others). You
148           must to provide value (0x409 or 0x4095), according to your device
149           entry in NUT hardware compatibility list (HCL).
150

UPS COMMANDS

152       This driver supports some instant commands (see upscmd(8)):
153
154       beeper.toggle
155           Toggle the UPS beeper. (Not available on some hardware.)
156
157       load.on
158           Turn on the load immediately.
159
160       load.off
161           Turn off the load immediately (see KNOWN PROBLEMS).
162
163       shutdown.return
164           Turn off the load and return when power is back. Uses the timers
165           defined by ondelay and offdelay.
166
167       shutdown.stayoff
168           Turn off the load and remain off (see KNOWN PROBLEMS). Uses the
169           timer defined by offdelay.
170
171       shutdown.stop
172           Stop a shutdown in progress.
173
174       test.battery.start.deep
175           Perform a long battery test (Not available on some hardware.)
176
177       test.battery.start.quick
178           Perform a (10 second) battery test.
179
180       test.battery.start value
181           Perform a battery test for the duration of value minutes.
182
183       test.battery.stop
184           Stop a running battery test (not available on some hardware.)
185

BATTERY CHARGE

187       Due to popular demand, this driver will report a guesstimated
188       battery.charge and optionally battery.runtime, provided you specified a
189       couple of the EXTRA ARGUMENTS listed above.
190
191       If you specify both battery.voltage.high and battery.voltage.low in
192       ups.conf(5), but don’t enter runtimecal, it will guesstimate the state
193       of charge by looking at the battery voltage alone. This is not reliable
194       under load, as this only gives reasonably accurate readings if you
195       disconnect the load, let the battery rest for a couple of minutes and
196       then measure the open cell voltage. This just isn’t practical if the
197       power went out and the UPS is providing power for your systems.
198
199                                battery.voltage - battery.voltage.low
200           battery.charge =  ------------------------------------------ x 100 %
201                             battery.voltage.high - battery.voltage.low
202
203       There is a way to get better readings without disconnecting the load
204       but this requires one to keep track on how much (and how fast) current
205       is going in- and out of the battery. If you specified the runtimecal,
206       the driver will attempt to do this. Note however, that this heavily
207       relies on the values you enter and that the UPS must be able to report
208       the load as well. There are quite a couple of devices that report 0 %
209       (or any other fixed value) at all times, in which case this obviously
210       doesn’t work.
211
212       The driver also has no way of determining the degradation of the
213       battery capacity over time, so you’ll have to deal with this yourself
214       (by adjusting the values in runtimecal). Also note that the driver
215       guesses the initial state of charge based on the battery voltage, so
216       this may be less than 100 %, even when you are certain that they are
217       full. There is just no way to reliably measure this between 0 and 100 %
218       full charge.
219
220       This is better than nothing (but not by much). If any of the above
221       calculations is giving you incorrect readings, you are the one that put
222       in the values in ups.conf(5), so don’t complain with the author. If you
223       need something better, buy a UPS that reports battery.charge and
224       battery.runtime all by itself without the help of a NUT driver.
225

NOTES FOR THE PREVIOUS USER OF MEGATEC DRIVERS

227       The blazer drivers having replaced the megatec ones, some configuration
228       changes may be required by users switching to blazer.
229
230       Part of this, the following megatec options, in ups.conf, have to be
231       changed:
232
233       battvolts
234           You need to use default.battery.voltage.high and
235           default.battery.voltage.low
236
237       dtr and rts
238           You need to use cablepower
239
240       ignoreoff
241           This parameter can simply be discarded, since it was a wrong
242           understanding of the specification.
243

KNOWN PROBLEMS

245       Some UPS commands aren’t supported by all models. In most cases, the
246       driver will send a message to the system log when the user tries to
247       execute an unsupported command. Unfortunately, some models don’t even
248       provide a way for the driver to check for this, so the unsupported
249       commands will silently fail.
250
251       Both the load.off and shutdown.stayoff instant commands are meant to
252       turn the load off indefinitely. However, some UPS models don’t allow
253       this.
254
255       Some models report a bogus value for the beeper status (will always be
256       enabled or disabled). So, the beeper.toggle command may appear to have
257       no effect in the status reported by the driver when, in fact, it is
258       working fine.
259
260       The temperature and load value is known to be bogus in some models.
261

AUTHORS

263       •   Arjen de Korte <adkorte-guest at alioth.debian.org>
264
265       •   Alexander Gordeev <lasaine at lvk.cs.msu.su>
266

SEE ALSO

268       blazer_ser(8), nutupsdrv(8), upsc(8), upscmd(8), upsrw(8)
269
270   Internet Resources:
271       •   The NUT (Network UPS Tools) home page:
272           http://www.networkupstools.org/
273
274       •   The NUT HCL: http://www.networkupstools.org/stable-hcl.html
275
276
277
278Network UPS Tools 2.8.0           04/26/2022                     BLAZER_USB(8)
Impressum