This document intends to detail the change log for relatively recent work (roughly since the source code was tracked in Git).
configure.ac
(AC_INIT macro) forth and back are no longer needed
#if(n)def WIN32 we have
annotated the matching #else and #endif to help navigate in
that code base * update some comments * move a few WIN32-specific
declarations to start of scope
ups.status (set by upsd internally) [#2708]
make spellcheck-interactive-quick and
related changes [#2871]
/usr/bin/make appears from something I could not track down;
however there is a separate but similar "bmake" as
/usr/pkg/bin/bmake that can be installed. Probably a difference
of system vs. userland tooling variants.
experimental.ups.mode.buzzwords instead of
output.inverter.mode in dstate
output.inverter.mode by ups.mode
and experimental.ups.mode.buzzwords [#2708]
scripts/external_apis - they
landed into trunk before 2.8.3 release [#2807, #2813]
make
distcheck-light too.
make
dist was failing to build all man pages. Changed how the
*-prepped file dependencies are handled to fix. Custom man
sections were being implemented in configure, but automake runs
before they are chosen, so the Makefile.in were missing the install
logic. Changed to use _DATA targets with directories that can be
chosen at configure time Also added index.txt to DIST target to
fix distcheck Fixed substitution bug in external_apis/Makefile.am
output.inverter.mode{,.description} and
output.inverter.latency [#2708]
battery.charger.status
[#2708]
--with-dev-libnutconf option and its
impact on packaging [#2828]
--with-nutconf=auto
--with-all=yes correctly turned with_nutconf to no on systems
or build scenarios without the required level of C+\+ support, but
the defaulted with_dev_libnutconf became yes (following
with_all).
make -j [#2825]
find always exits with 0;
it is the stdout that we should check (like we do everywhere else)
find reporting that file does not exist
expr returning code 1 because resulting number
was 0 (on some platforms)
git commit the code changes during development.
NUT-Monitor{,-py2gtk2,-py3qt5}
Python UI client and its shell wrapper script
configure
--enable-extapi-enphase installation [#2813]
nooutstats [#2798]
lib/libupsclient-config --config-flags vs. libupsclient.pc
configure --with-all=auto
is now default for some time) * Assorted typos * Short content
clarifications and extensions here and there (long/significant ones
tracked by other commits)
-N to
prefix %UPSHOST%%t before the format string
(sudo) make install-as-root [#1298]
-D for
debugging (and foregrounding by default), like with other NUT
daemons
%UPSHOST% when multiple systems are being logged
%t for a TAB
character can now be used in the formatting string
battery.runtime should be used for battery backup time instead
.low one. Also the division was also faulty probably because I
copied and pasted the code from previous lines but the manual says
it shouldn’t be there. The commit should give correct backup time
readings and corrected variable name.
make check-NIT-sandbox-devel
and eventually kill $UPSMON_PID but this only stops the parent
process, but the forked-off child keeps running.
LIBUSB_DEBUG=INTEGER setting in ups.conf [#2616]
sockdebug for different platforms and share
the man page.
--with-modbus-includes=-I.../include
parameter without the /modbus sub-directory.
make,
should not use $BUILD_FLAG
DOMAIN.CONTEXT.SPEC suffixes are
not complete names
innovart31 in nutdrv_qx [#2712]
make check-NI-sandbox-devel and
LD_LIBRARY_PATH=pwd/clients/.libs valgrind --leak-check=full
--show-leak-kinds=all --track-origins=yes ./clients/.libs/upsmon -F
testgroup_sandbox_upsmon_master
now (includes the earlier
testcase_sandbox_start_drivers_after_upsd)
ups.status flag tokens [#2708]
ups.status [#415]
lrint() family of methods should be part of
C99 and above, returning a long approximation of a double or
float argument. Had to adjust dstate_setinfo() parameters from
(unsigned) int to long.
drivername -k) [#2670]
shutdown.default INSTCMD concept and upsdrv_shutdown_default()
shared method [#2670]
upsnotify()
[#1590, #2136] * introduce str_upsnotify_state() for meaningful
debug log messages; * suggest to export
NUT_QUIET_INIT_UPSNOTIFY=true where we "will not spam more about
it" for systems that do not currently expect to have notification
support or need
ABM_DISABLED
ABM_UNKNOWN for test ups.status
advanced_battery_mode flag for not
overwrite advanced_battery_monitoring if eaton_abm_enabled_fun()
was runned
advanced_battery_monitoring to disable in
case of advanced_battery_monitoring != ABM
if
(dstate_getinfo("battery.charger.type"))
battery.charger.type
on in nut-names.txt also
ecocontrol change description
ERR TOO-LONG
bypassauto in info_lkp_t
eaton_input_bypass_mode_info[]
outlet.n.status back and new one move to intro
outlet.1.protect.status also define in cmdvartab and
/docs/nut-names.txt
outlet.1.switch.status rename back to
outlet.1.status
switch (0-2) for
input.eco.switchable in nut-names.txt
input.eco.switchable,outlet.n.ecocontrol to cmdvartab and
/docs/nut-names.txt
info_lkp_t eaton_input_mode_info[] for
input.eco.switchable
info_lkp_t outlet_eco_yes_no_info[] to mge-hid.c
outlet_eco_yes_no_info[] from
powerp-bin.c
*outlet_eco_yes_no_info from mgr-hid.c
outlet_eco_yes_no_info[] error
info_lkp_t
outlet_eco_yes_no_info and valtab_t
outlet_eco_yes_no_info
default cases in switch lists,
and dislikes a default label in enum handling when all known
values are handled (and wants them all to be handled). The clash is
only resolvable by pragmas, like elsewhere in out codebase.
nut_usb_get_string() method
[#1925, #2604]
nut_usb_get_string() method - extend
[#1925, #2604]
nut_usb_get_string() method [#1925,
#2604]
umount, it works
too [#2591]
docs/config-prereqs.txt, if a more integrated client would be
made to follow up with this idea eventually.
--enable-NUT_STRARG-always setting have auto detection by
default [#2585] Flips to "yes" for gcc-13.x (clang having issues
is not proven at the moment)
configure --enable-NUT_STRARG-always
setting [#2585]
localtime_r() and gmtime_r() [#1611, #2583]
banner_is_disabled() to not preclude CLI
-V printouts [#2573]
upsdrvctl
status…) it is not pretty to see logged messages about an
unexpected connection loss. Having it coincide with a LOGOUT is
better for troubleshooting.
if
(!callback){...} check
if
(!callback){...} check
export envvars which are NUT
program configuration tweaks
NUT_QUIET_INIT_BANNER envvar support
and banner_is_disabled() common method [balancing issues #1789
vs. #316]
VERSION_FORCED and
VERSION_FORCED_SEMVER files in our release rituals, we have
support anyway and want to test it in-vivo [#1949]
tools/gitlog2version.sh
now in the loop [#1949]
0x06da
(Phoenixtec) suggest trying nutdrv_qx [#334]
ups.firmware and input.sensitivity
These variables were tested to work fine on a CP1350EPFCLCD UPS.
ChangeLog, we ignore the e-mail
for comparisons — and different signatures can matter!
pkg-config
--variable pc_path pkg-config for troubleshooting
bool_t
(currently commonly hacked into many NUT sources). Using
lower-cased true and false values, hoping for maximum
compatibility with C99 and newer language standards (if the
compilers do implement them on whatever obscure platform NUT gets
built on, and then our new nut_bool_t definition can be just an
alias for what the language gives us). A test case was added to
make sure it behaves as expected on different systems. Converting
the sources from their custom type definitions and usages would be
a separate step.
make from PATH.
init_snmp() is called once, every use of the library initializes
some data which it then does not release, at least on the test
system here.
libnutscan, version bumped [#2244, #2523 et al]
-m auto [#2244, #2516]
nut-scanner -m auto note - WIN32 is now
supported too [#2516]
-t timeout: fix to use strtol()
not atol() [#2244]
const as we do not change the original value anyway.
-m auto*/ADDRLEN
mode [#2244]
-m auto discovery: use shorter
addr/mask buffers [#2244]
-m auto: implement actually
converting discovered subnets into CIDR and adding to IP ranges for
scanning [#2244]
-m option [#2244]
-m auto mode with detection of configured network
interfaces
-L/opt/homebrew/Cellar/neon/0.32.5/lib would be required for
successful discovery.
base_libname includes path separator character(s) [#2431]
libcommonstr.la recipe A smaller helper library than
libcommonclient.la which is sometimes an overkill, e.g. in
nut-scanner where the libupsclient.so/.dll is loaded
dynamically for "Old NUT" scans and there is no specific use for
object files included into libcommonclient.la. More use-cases
with DMF codebase (currently not yet upstreamed). Combined from a
series of commits like * 3ba6b576cd2248484eaad41a9e2a480cbd2aa6a6 *
c418728e6ed7879f4a569ca0e3fd6f38fcb27eae *
5f16b7b7c89fa341090e886e7ca5cf8d981430eb *
bc4cd957280c67778a36b49b524092dc15d1aa8b
--with-doc=dist-auto
option [#2473]
make distcheck-light-man should test installability
of NUT-Monitor and PyNUT (even if as a co-bundle) Modernize
DISTCHECK_LIGHT_MAN_FLAGS for 2022\+ Replicate commit
e19fa235a7cecdf5bc5752ab87c3e6db81932dac from PR
https://github.com/networkupstools/nut/pull/1504
NUT_DEBUG_SYSLOG environment variable [#2394]
parameter struct to avoid GCC complains about
"‘parameter.value’ may be used uninitialized in this function".
This is not a real error because, if bicker_write is successful,
that struct is populated properly.
NULL for discarding the results
but bicker_receive_parameter() was accessing dst->id, effectively
preventing it. Fix that bug and improve the code: now
bicker_receive_parameter() validates the parameter id (so it can be
used freely) and it always logs debugging info about the parameter.
dst optional in
bicker_write The dst argument is optional in every other
function, so be consistent and make it optional also in this one.
parameter to dst This
should make clear that argument is just used for destination.
net start/stop to manage Windows
services [#2446, #2455]
char is by default signed and (as the name implies)
designed to access string characters. For accessing bytes, the
uint8_t type is more appropriate.
libupsclient.so was not loaded, we can not really use this
search. Seems like a copy-paste problem mis-adding the NUT
Simulation support.
test's evaluate all
conditions first and only handle them via boolean logic later. Oh
the audacity!
install scripts that automake uses seem to
struggle with that. Maybe just need to find a suitable automagic
keyword - but this can wait.
find "$@" -not -newer .git/HEAD" |\|
true ) 2>/dev/null && ls -la .git/HEAD "$@" 2>/dev/null ; then SKIP
; else WORK ; fi Hopefully this takes care of corner cases: * No
.git/HEAD ⇒ WORK (may be unsuccessfully, maybe not - e.g. Git
submodules referring to parent) * rm fails, maybe find returns
empty ⇒ DON’T CARE, go to LS * ls fails (one of target files is
absent - e.g. ChangeLog removed or never was there) ⇒ WORK Only
if the ChangeLog is still there after the attempt on its life, SKIP
and keep it
dump_data to decide about foreground mode, but after
moving the -D option handling (and this decision) upwards to
facilitate early debugging, the variable is never modified in time
anymore. Thanks for the catch to Eric Clappier and IPM/42ity team.
.txt exception (license etc.) getting spellchecked or
prepped.
maxreport flag for usbhid-ups driver, vs. max_report_size
setting in code
ci_build.sh are in quiet
mode for the first compilation attempt (usually the only one, if
all is OK) so these warnings are just not seen by build-log
analysis parser.
./autogen.sh && ./configure && make on some (not all) platforms.
dblatex (used in PDF generation) which treat
everything after the first dot as a file extension.
make spellcheck
which just reports a massive failure.
timegm
implementation but there is a _mkgmtime which does the same:
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/mkgmtime-mkgmtime32-mkgmtime64
_apc_modbus_date_from_nut to use timegm instead of
mktime which does not add the current time zone information. This
fixes dates that are off-by-one compared to what was set.
apc_map
mariable to potentially point to the wrong register map. This can
cause the re-read of the set value at the end of the function to
fail.
apc_modbus_command_map which defines the supported commands as a
tuple of command name, register offset and value to write. This
also adds a new instcmd status called
STAT_INSTCMD_CONVERSION_FAILED for when conversion of values
fails. On startup all the commands are registered using
dstate_addcmd. This also adds support for the upsdrv_shutdown
function. - For writable variables we added a new flag called
APC_VF_RW to the existing variables that indicates a writable
variable. We added code to convert from a string to UINT/INT/STRING
variables with output in APCs register format. There is a new
_apc_modbus_setvar function that handles setting variables and
rereading them from the device. This also adds a new setvar status
called STAT_SET_CONVERSION_FAILED for when conversion of values
fails. Variables are now correctly set as ST_FLAG_STRING and
ST_FLAG_RW and we call dstate_setaux to give a maximum length
for strings. - For outlet groups, we now have names, configurable
delays and commands per outlet group. Devices have an outlet group
called MOG (Main outlet group) that switches all the outputs of the
UPS and 1-3 SOGs (Switched outlet groups) that can be controlled
independently. Note that MOG is outlet.group.0 and the SOGs start
at outlet.group.1. The outlet groups should have markings with
the same index at the back of the unit. - This also reduces the
length of some of the defines to make the variable maps more
readable. - It also adds a comment to when the reopen matcher is
created that clarifies why we create it.
STAT_SET_UNKNOWN, which is
for variables that were not found, instead this should return
STAT_SET_INVALID, which means that the variable is not writable.
make spellcheck from different
directories (and of other-directory files) try to report the path
to text source relative to NUT source
strncpy does not necessarily zero terminate the buffer so we
replace it with snprintf and add error checking. This also fixes
an off-by-one in the snprintf error checking of the
_apc_modbus_double_to_nut and _apc_modbus_power_to_nut
functions and adds error checking to every snprintf call.
SIZEOF_ARRAY macro
and use where applicable This adds a new SIZEOF_ARRAY to
common.h and changes some code to use it.
$vendor we can have duplicate entries.
upsid setting [#2075]
Makefile.am but it does not
do so relative to "$srcdir" so trying to do a configure outside of
the source directory will fail.
man nut.conf for more info
apc_modbus to support the APC
Modbus protocol over serial ports, TCP connections and USB ports.
For USB support to work it needs a [patched libmodbus that has
support for the APC USB Modbus
encapsulation](https://github.com/EchterAgo/libmodbus/commits/rtu_usb).
If a libmodbus without USB support is detected the driver will
build with just the serial and TCP/IP support.
conf/upsmon.conf.sample.in, docs/man/upsmon.conf.txt, docs/man/upsmon.txt, docs/nut.dict: upsmon(.conf) docs and samples
(top_)srcdir and (top_)builddir attributes, so
empty values are non-toxic
snmp_info_t
got updated to conform with pre 5d97d07 instant commands layout,
but got merged after it. Reverting 8bcf255 so that command values
are correctly in su_info_t->dfl.
LISTEN * handling to not fiddle with
optionality of require_IPV6_V6ONLY for one use-case [#2013
review, #2012]
driver.state #1767, driver reload command #1903, driver
inter-instance communications via socket #1922 and others. Also
convert remaining single-digit X.Y versions to X.<Y\+1>0
double-digits.
secLevel is required to use non-trivial authentication [#734]
docs/new-drivers.txt by name for
device status data definitions
docs/download.txt: update references to NUT client for VMWare ESXi
docs/download.txt: update references to NUT client for VMWare ESXi
upsd would accept them and upscmd can request them [#1903]
ups.conf reloading in NUT
drivers [#1903]
(s)size_t variables
upsdrvctl shutdown. This
results in using that delay, instead of 1s. - Change shutdown delay
to 20s from 10s, because that seems more common, and 10s feels too
tight. - Add logging about shutdown. When run with -k,
ups.delay.shutdown has apparently not been initialized. Fall
back to 20, rather than 1, and log better.
allow_duplicates flag for common
USB matching options [#1756]
./ci_build.sh inplace operation
shortcut [#1714]
configure --enable-inplace-runtime [#1714]
--enable-inplace-runtime [#1714]
localcalculation. When enabled, driver will calculate
values of battery.runtime and battery.load locally. This is for
some Riello models (iPlug and iDialog series) that provides
incorrect values. Local calculation is done according to nominal
battery capacity, nominal battery voltage, actual battery charge,
maximum and actual UPS load. Added condition to filter off
situation when battery temperature variable is incorrectly set to
variable type maximum (255) - which is typical issue of some Riello
models (iPlug and iDialog series). If incorrect value is detected
temperature is set to 0.
ifdef
HAVE_USB_H (libusb-0.1 header)
ifdef
HAVE_USB_H (libusb-0.1 header)
-x generic suggestion apparently
became -x explore later in this timeline (also -d1 to dump and
exit after one data collection loop, without requiring a valid
NUT_STATEPATH).
PyNUTError("Always a string") to file-heading changelog
cppnit et al
time! No time: it outputs /\^sys/ - fatal
for powershell (or appveyor?) console scanner
common/common.c: get_libname(): prefer LD_LIBRARY_PATH first [#805]
make distcheck should test installability of
NUT-Monitor and PyNUT (even if as a co-bundle)
upsc ..." to
runcmd()
make install for
NUT-Monitor and/or PyNUT [#1462]
waitbeforereconnect keyword
make check at once on same host, they now have a
decent chance to not collide (not guaranteed though)
$(<F) is not POSIX compliant, while $(@F)
is, go figure [#1362 follow-up]
--enable-maintainer-mode
test_nutclient.py requires an
upsd running
echo -n
with a more portable printf
extern pDesc is defined in libhid.h which does not
seem to be used in/along-with hidparser.{c,h} currently - but this
collision may happen later (especially with code-copying around).
./ci_build.sh spellcheck to be more useful
make
maintainer-clean also removes .dirstamp files
expr - if the maths result was "0"
expr
char
su_scratch_buf[255] (original static array moved to another file
in master branch), and bump DRIVER_VERSION
su_scratch_buf instead of a local char[6] buffer.
configure example a bit friendlier for copy-pasting.
strcmp(mib,
"auto") many times
ulimit -n (minus known overhead)
tools/nut-ddl-dump.sh in the same manner (issue #1111)
make spellcheck from top dir should be quieter
(fallout from touchfiles)
systemctl restart lxc-net
after edits of /etc/lxc/dnsmasq-hosts.conf
fightwarn.*89.* regex branch name; do
not pollute logs and analysis of "usual fightwarn" builds
[D#] prefix impact
experimental.* namespace
disable_weak_ssl (currently not getting in our way, but can
change later)
phoenixtec_command()
memchr() later in
all cases.
//
comments same way as /*...
drivers/main.c: main.c: write upsdrv_initinfo/updateinfo() logs to syslog When a NUT driver is started (via upsdrvctl start), it runs the following sequence: 1. Run as a foreground process. 2. Do some basic initialization, log to stderr. 3. If not debugging: - fork()
pkg install libgd explicitly (needs
sudo)
make
check with the current test case
state_delinfo() not deleting immutable variables, comment
this near the function and log for runtime hits to help
troubleshooting.
poll_interval in
apcupsd-ups This commit removes the hardcoded poll-interval of
60 seconds and instead only makes sure that the user-defined
interval is greater than a minimum-interval.
dstate_delinfo() for LB-condition variables This commit fixes
the ignorelb flag for the apcupsd-ups driver. Previusly
"battery.charge" and "battery.runtime" was cleared before invoking
status_commit() which caused the LB-condition to always be
false.
ST_FLAG_IMMUTABLE in dstate_delinfo()
output.current LOAD_VA ⇒ ups.power NOMAPNT ⇒
ups.power.nominal Closes:
https://github.com/networkupstools/nut/pull/753
im, which is passed to
autonomy_calc(), can be equal to 4, blindly incrementing it by one,
when it’s 4, leads to an index out of bounds.
Basic homebrew UUID v4 implementation * Prefer to use static
buffer for UUID * log actual result of instcmd / setvar * Fix
tracking ID reporting due to static memory changes * upsclient:
use unsigned int for timeouts Also, explicit that upscli_cleanup()
takes no argument. * upscmd/upsrw: use unsigned int for timeout \+
our str_to_uint() for it Also, slightly reword the help message
for -t (timeout) option, in order to clarify which is the unit
(seconds) used for the provided value. * upscmd/upsrw: don’t sleep
after receiving a non-PENDING CMDSET_STATUS Also, remove some
nesting in do_cmd() and do_set(). * net-protocol: clarify the
format of GET CMDSET_STATUS \+ <status_id> <status_id> is not
optional to get the status of a command/setvar with CMDSET_STATUS,
so drop the [square brackets] from it. Also drop "quotes" in SET
CMDSET_STATUS’s <value>, since it’s expected to be a single word.
Plus, fix markup of INSTMCD’s <cmdparam> parameter. *
sock-protocol: align case and markup of command parameters *
dstate: fix handling of INSTCMD’s optional parameters We should
still support the old INSTCMD <cmdname> [<cmdparam>] format, and
not only consider <cmdparam> when also STATUS_ID <id> is
provided. Also, fix the format of our sock-protocol commands
mentioned in comments, and add function names to debug info. *
common: document the recently added things * upsd: in INSTCMD/SET
handlers, also accept NULL for status_id Plus: - use a simpler
approach to test if status_id is not empty, - align the way the SET
command is built to the one used for the INSTCMD command. * upsd:
drop unnecessary/unused global * upsd: move sanity checks of
cmdset_status_get() after declaration of vars Also, drop some
nesting in that function. * Move from CMDSET_STATUS / STATUS_ID to
TRACKING This is just a big, big rename, no code changes. * upsd:
refine the tracking API Add a couple of functions to change in a
predictable way the value of the general enablement of tracking and
make it visible only inside upsd.c. Also, move the tracking type
(tracking_t) and the list of items inside upsd.c. * net-protocol:
also return TRACKING between OK and <id>, for INSTCMD/SET VAR *
dstate: really fix handling of INSTCMD’s optional parameters
Erroring out on INSTCMD <cmdname> doesn’t seem like a good
idea… * common: massage default timeouts Rename the default
timeout used in network operations by upsclient and nut-scanner to
be more specific: from DEFAULT_TIMEOUT to DEFAULT_NETWORK_TIMEOUT.
Plus, make the default timeout used when retrieving the result of
an INSTCMD/SET VAR with TRACKING enabled a common #define’d value
(DEFAULT_TRACKING_TIMEOUT), and use it also to publish the default
value of the -t option in the help messages of upscmd and upsrw.
As suggested by Charles Lepple. * upsd: ignore case of UUID4 in
tracking API Also, remove some nesting in tracking_del(). *
libupsclient: generate manpages for
upscli_{read,send}line_timeout() To keep things simple, at least
for now, only generate manpages and not html pages (and, as such,
don’t even think of using our linkman AsciiDoc macro with those
functions, to avoid dead links). * libupsclient: bump version as
per recent changes - addition of upscli_{read,send}line_timeout(),
DELRANGE <varname> <minvalue> <maxvalue>, not
DELRANGE <varname> "<minvalue> <maxvalue>", as used in
dstate_delrange(). So, fix that unused (well, at least in NUT)
function to use the correct format. Also, remove an extraneous
additional space in the command used in dstate_addrange().
auglenstestsdir to install the augeas test_nut.aug file
[ and ] - no need for ".
pollfreq and USB interrupts Closes:
https://github.com/networkupstools/nut/issues/476
--with-usb to choose the library
configure appropriate
values for --with-usb-includes and --with-usb-libs (i.e. libusb
0.1/libusb-compat-only settings).
docs/man/Makefile.am: Some systems detect man-pages as "ASCII text"
driver.version.usb variable Reference:
https://github.com/networkupstools/nut/issues/300
driver.version.usb variable Reference:
https://github.com/networkupstools/nut/issues/300
driver.version.usb variable Reference:
https://github.com/networkupstools/nut/issues/300
libusb_set_interface_alt_setting (0,
{empty}0) (equivalent to libusb_set_altinterface(0) in libusb 0.1), as
was done in NUT 2.7.2 and earlier. However, the libusb 1.0
implementation was still missing the related code Reference:
https://github.com/networkupstools/nut/issues/300
libusb_set_interface_alt_setting (0,
{empty}0) (equivalent to libusb_set_altinterface(0) in libusb 0.1), as
was done in NUT 2.7.2 and earlier. However, the libusb 1.0
implementation was still missing the related code Reference:
https://github.com/networkupstools/nut/issues/300
libusb_set_interface_alt_setting (0,
{empty}0) (equivalent to libusb_set_altinterface(0) in libusb 0.1), as
was done in NUT 2.7.2 and earlier. However, the libusb 1.0
implementation was still missing the related code Reference:
https://github.com/networkupstools/nut/issues/300
ASCIIDOC_VERBOSE=-v make distcheck-light to pass. So let’s keep
it complaining but working.
--with-lib
references Credit: Paul Vermeer
docs/man/nutdrv_qx.txt, drivers/nutdrv_qx_bestups.c, drivers/nutdrv_qx_blazer-common.c, drivers/nutdrv_qx_blazer-common.h, drivers/nutdrv_qx_mecer.c, drivers/nutdrv_qx_megatec-old.c, drivers/nutdrv_qx_megatec.c, drivers/nutdrv_qx_mustek.c, drivers/nutdrv_qx_q1.c, drivers/nutdrv_qx_voltronic-qs-hex.c, drivers/nutdrv_qx_voltronic-qs.c, drivers/nutdrv_qx_zinto.c: nutdrv_qx: add ignoresab flag to support bogus devices Some UPSes incorrectly report the Shutdown Active bit (7th bit of the status byte) as always on (=1), consequently making the driver believe the UPS is nearing a shutdown (and, as a result, ups.status always contains FSD). To workaround this issue, add a new ignoresab flag that makes the driver do just what its name tells (IGNORE Status Active Bit) skipping the relative item in qx2nut tables. References: - http://lists.alioth.debian.org/pipermail/nut-upsdev/2015-March/006896.html
@
in port name Also reworded parts of the man page.
-lm.
http://news.gmane.org/find-root.php?message_id=544515BA.4060804%40niksoggia.it
data/driver.list.in: HCL: add devices supported by nutdrv_qx - Fideltronik LUPUS 500 USB Protocol: megatec USB subdriver: fabula Reference: http://lists.alioth.debian.org/pipermail/nut-upsuser/2014-June/009059.html
MAINTAINERS, docs/man/.gitignore, docs/man/Makefile.am, docs/man/al175.txt, docs/man/index.txt, docs/man/nutupsdrv.txt, docs/new-drivers.txt, drivers/Makefile.am, drivers/al175.c: al175: updated driver, please restore it Back in 2005 I was young and idealistic, that’s why you finally marked al175 as broken, but now I understand your points (some) and that in NUT you need good portability. So this time I’ve checked that al175 compiles with CC="gcc -std=c89 -pedantic", and CC="gcc -std=c99 -pedantic" Also, I’ve tried to clean-up the driver based on feedback from 2009, but unfortunately I no longer have hardware to test and will not have any in foreseable future, so the driver was reworked to meet the project code quality criteria, without testing on real hardware. Some bugs may have crept in. Changes since last posting in 2009:
drivers/apcsmart.c: apcsmart: verify/setup fixups legacy_verify()
* scripts/java/jNut/src/main/java/org/networkupstools/jnut/Client.java, scripts/java/jNut/src/main/java/org/networkupstools/jnut/Command.java, scripts/java/jNut/src/main/java/org/networkupstools/jnut/Device.java, .../java/jNut/src/main/java/org/networkupstools/jnut/NutException.java, .../jNut/src/main/java/org/networkupstools/jnut/StringLineSocket.java, scripts/java/jNut/src/main/java/org/networkupstools/jnut/Variable.java: Fix mail address typo for javadoc.
clients/upsmon.c: Makes the call to "wall" function non blocking,