The NetBSD Project

CVS log for pkgsrc/sysutils/ups-nut-usb/Makefile

[BACK] Up to [] / pkgsrc / sysutils / ups-nut-usb

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.17 / (download) - annotate - [select for diffs], Thu Nov 9 16:41:16 2023 UTC (2 weeks, 6 days ago) by gdt
Branch: MAIN
Changes since 1.16: +1 -2 lines
Diff to previous 1.16 (colored)

sysutils/ups-nut: Update to 2.8.1

Upstream NEWS, less bugfixes, minor improvements, and developer-facing

Release notes for NUT 2.8.1 - what's new since 2.8.0

 - "UPS management protocol", Informational RFC 9271 published
   by IETF at and the
   IANA port number registry was updated accordingly at
   (even though this RFC is not formally an Internet Standard)

 - NUT documentation files were rearranged, renaming some to `*.adoc` pattern
   to facilitate automatic rendering in GitHub and IDE GUIs, and adding recipe
   support for GitHub issue/PR links. This `NEWS` file is now proper asciidoc
   rendered into `release-notes.pdf` (and HTML versions). [issue #1953, PR #2048]
   Internally, the documents would use a new way to define cross-linking to
   other pages and their chapters, to facilitate different renderers (including
   GitHub UI), and file names created for "chunked HTML" documentation format
   will no longer have the "chapter number, section number" format which is
   not easy to maintain over time with independent builds of documentation
   in NUT and the actual and historic snapshots for nut-website for example.
   Chapter/Section names will be adapted to produce "chunked HTML" file names
   instead. Documentation links rendered in GitHub UI should point to the HTML
   pages served by a current iteration of the NUT website. [PR #226, PR #669]

 - State tree structure and methods (including "dstate" wrapper for common
   driver internals) was enhanced with time-stamping of last modification
   (setting, changing, deleting the value or some fields in an entry):
   this allows to detect stale information in a centralized fashion [#2010]

 - nutdrv_qx updates:
   * a `battery_voltage_reports_one_pack` driver option was added for devices
     which "natively" report a `battery.voltage` for a single battery pack or
     cell, not for the whole assembly [#1279]

 - usbhid-ups updates:
   * added support for `subdriver` configuration option, to select the
     USB HID subdriver for the device manually where automatic match
     does not suffice (e.g. new devices for which no `vendorid`/`productid`
     pair was built into any driver, or for different-capability devices
     with same interface chips, notably "phoenixtec/liebert" and "mge") [#1369]
   * added `onlinedischarge_calibration` option for UPSes that report
     `OL+DISCHRG` when they are in calibration mode [#2104]

 - apc_modbus driver was introduced, to cover the feature gap between existing
   NUT drivers for APC hardware and the actual USB-connected devices (or their
   firmwares) released since roughly 2010, which deprecated standard USB HID
   support in favor of Modbus-based protocol which is used across the board
   (also with their network management cards). The new driver can monitor APC
   UPS devices over TCP and Serial connections, as well as USB with a patched
   libmodbus (check
   for now, PR pending). [#139, #2063]
   * For a decade until this driver got introduced, people were advised to
     use apcupsd project as the actual program which talks to a device, and
     NUT apcupsd-ups driver to relay information back and forth. This was a
     limited solution due to lack of command and variable setting support,
     as well as relaying of just some readings (just whatever apcupsd exposes,
     further constrained by what our driver knows to re-translate), with
     little leverage for NUT to tap into everything the device has to offer.
     There were also issues on some systems due to packaging (e.g. marking
     NUT and apcupsd as competing implementations of the same features) which
     required clumsy workarounds to get both installed and running. Finally,
     there is a small matter of long-term viability of that approach: last
     commits to apcupsd sources were in 2017 (with last release 3.14.14 in
     May 2016):

 - The `upsd` configured to listen on IPv6 addresses should handle only
   IPv6 (and not IPv4-mappings) to avoid surprises and insecurity; it
   will now warn if a host name resolves to several addresses (and will only
   listen on the first hit, as before in such cases) [#2012]

 - A definitive behavior for `LISTEN *` directives became specified, to try
   handling both IPv4 and IPv6 "any" address (subject to `upsd` CLI options
   to only choose one, and to OS abilities). When both address families are
   enabled, the `upsd` data server will first try to open an IPv6 socket
   asking for disabled IPv4-mapped IPv6 address support (if the OS honors
   that), and then an IPv4 socket (which may fail if the IPv6 socket already
   covers it anyway); in other words, you can end up with one or two separate
   listening sockets. [#2012]

 - Numerous daemons (`upsd`, `upsmon`, drivers, `upsdrvctl`, `upssched`)
   which accepted `-D` option for debug setting previously, now can also
   honour a `NUT_DEBUG_LEVEL=NUM` environment variable if no `-D` arguments
   were provided. Unlike those arguments, the environment variable does
   not enforce that daemons run in foreground mode by default [#1915]
   * Note that unlike some other NUT daemons, `upssched` with enabled
     debug does not stop reporting on `stderr`! [#1965]

Revision 1.16 / (download) - annotate - [select for diffs], Fri Nov 25 07:45:04 2022 UTC (12 months ago) by mrg
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3, pkgsrc-2023Q2-base, pkgsrc-2023Q2, pkgsrc-2023Q1-base, pkgsrc-2023Q1, pkgsrc-2022Q4-base, pkgsrc-2022Q4
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)

Avoid re-closing a udev that already was closed.  Avoids a double-close
that triggers a SEGV in a list-delete operation.

This may actually be the real bug for this code in libusb1.c:

static int nut_libusb_open(libusb_device_handle **udevp,
[ ... ]
#ifndef __linux__ /* SUN_LIBUSB (confirmed to work on Solaris and FreeBSD) */
       /* Causes a double free corruption in linux if device is detached! */

as the same double-free list issue occurs here.

Revision 1.15 / (download) - annotate - [select for diffs], Tue Jun 28 11:36:06 2022 UTC (17 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q3
Changes since 1.14: +2 -1 lines
Diff to previous 1.14 (colored)

*: recursive bump for perl 5.36

Revision 1.14 / (download) - annotate - [select for diffs], Tue Apr 26 23:28:26 2022 UTC (19 months ago) by gdt
Branch: MAIN
CVS Tags: pkgsrc-2022Q2-base, pkgsrc-2022Q2
Changes since 1.13: +1 -2 lines
Diff to previous 1.13 (colored)

sysutils/ups-nut-*: Update to 2.8.0

Tested on NetBSD 9 amd64 with a UPS that's more than 4 times older
than nut 2.7.4!

Upstream NEWS:

Release notes for NUT 2.8.0 - what's new since 2.7.4:

NOTE: Earlier discussions (mailing list threads, GitHub issues, etc.) could
refer to this change set (too long in the making) as NUT 2.7.5.

 - New (optional) keywords for configuration files were added,
   so existing NUT 2.7.x builds would not accept them if some
   deployments switch versions back and forth -- due to this,
   semantically the version was bumped to NUT 2.8.x.

 - Add support for openssl-1.1.0 (Arjen de Korte)

 - libusb-1.0 API support in addition to libusb-0.1 API [#300]

 - Add support for `DISABLE_WEAK_SSL=true` in upsd.conf to disable older/weaker
   SSL/TLS protocols and ciphers: when NUT is built against relatively recent
   versions of OpenSSL or NSS it will be restricted to TLSv1.2 or better.
   For least-surprise, currently defaults to `false` and complains in log
   [PR #1043]

 - Add support for `ALLOW_NO_DEVICE=true` (as an upsd.conf flag or environment
   variable passed from caller of the program), to allow starting the data
   server initially without any device configurations and reloading it later
   to apply config changes on the fly [PR #766]

 - Add support for `debug_min=NUM` setting (ups.conf, upsd.conf, upsmon.conf)
   to specify the minimum debug verbosity for daemons. This allows "in-vivo"
   troubleshooting of service daemons without editing init scripts or service
   unit definitions.

 - Improve support for upsdrvctl for managing of numerous device configs,
   including default "maxretry=3" and a "nowait" option to complete the
   "start of everything" mode after triggering the drivers and not waiting
   for them to complete initializing. This matters on systems that monitor
   from dozens to hundreds of devices.

 - Drivers support a new value for `synchronous` setting, which is the
   new default now: `auto`.  Initially after driver start-up this mode
   acts as the older default `off`, but would fall back to `on` in case
   the driver fails to send reports to `upsd` by overflowing the socket
   buffer in async mode -- so the next connections of this driver uptime
   would be synchronized (potentially slower, but safer -- blocking on
   writes to the data server).  This adaptation would primarily impact
   and benefit devices with many (hundreds of) data points, such as
   ePDUs and daisy chains. [issue #1309, PR #1315]

 - Daemons such as upsd, upsmon, upslog, and device drivers previously
   implied that enabled debugging (or upslog to stdout) means foreground
   running, otherwise the daemon was always sent to the background.
   Now there are explicit options for this (`-F`/`-B`), although default
   behavior is retained. This change is used for simplified service unit

 - Improvements for device discovery or driver "lock-picking", including
   general support for:
   * "Standalone" mode (`-s` option), to monitor a device which is not
     detailed or mentioned in ups.conf
   * `NUT_ALTPIDPATH` and `NUT_STATEPATH` environment variables to override
     the paths built into the driver binary [PR #473 and #507]
   * "Driver data dump" mode (`-d` option), to poll a device for one or
     few ('update_count' ) loops, report discovered values (dump the data
     tree in upsc-like format), and exit. This complements the `nut-scanner`
     for finding and identifying devices.

 - support for new devices:
   * IBM 6000 VA LCD 4U Rack UPS; 5396-1Kx (USB)
   * Phoenix Contact QUINT-UPS model 2320461 (Modbus)
   * Tripp-Lite SU3000LCD2UHV (USB; protocol 1330)
   * Emerson Avocent PM3000 PDU (SNMP)
   * HPE ePDU (SNMP)

 - nutdrv_qx: enhanced estimation of remaining battery runtime based
   on speed of voltage drop, which varies as they age [PR #1027]

 - nutdrv_qx: several subdrivers added or improved, including:
   * "snr" subdriver with USB connection, for SNR-UPS-LID-XXXX [PR #1008].
     Note that end-users should reference explicitly the `snr` subdriver
     in their `ups.conf` settings because of USB chip using the same
     values of VendorID/ProductID as fabula_subdriver, fuji_subdriver,
     and krauler_subdriver.
   * "hunnox" subdriver, as a dialect of earlier "fabula" [PR #638]
     adds support for Hunnox HNX-850 with USB connection and reported to work
     for Powercool, Iron Guardian, ARES devices and possibly many others from
     discussions linking to the pull request which introduced the driver.
   * "phoenixtec" subdriver for Masterguard A and E series, device series
     A700/1000/2000/3000(-19) and E40/60/100(-19). [PR #975]
   * "ablerex" subdriver provided by the OEM vendor, note that it replaces
     "krauler_subdriver" as default handler for VID:PID 0xffff:0x0000
     [PR #1135]
   * Legrand HID defined and handled by "krauler_subdriver" by default
     [PR #1075, issue #616]
   * add new "armac" subdriver, tested with Armac R/2000I/PSW, but should
     support other UPSes that work with "PowerManagerII" software from
     Richcomm Technologies from around 2004-2005 [PR #1239, issue #1238]

 - microsol-apc (starting at version 0.68 as derived from solis 0.67):
   adding support for newer APC Back-UPS BR hardware, such as
   APC Back-UPS BZ1500, BZ2200BI and BZ2200I [PR #994]

 - pijuice: added new i2c bus driver for PiJuice HAT, a battery UPS module
   for the Raspberry Pi systems [PR #730]

 - huawei-ups2000: added new driver for USB (Linux 5.12+ so far) and Serial
   RS-232 Modbus device support of Huawei UPS2000/2000A (1kVA-3kVA) series,
   and possibly some related FSP UPS models. [PR #954]

 - socomec_jbus: added new driver for modbus-based JBUS protocol over serial
   RS-232 for Socomec UPS (tested with a DIGYS 3/3 15kVA model, working
   on Linux x86-64 and Raspberry Pi 3 ARM). [PR #1313]

 - adelsystem_cbi: added new driver for ADELSYSTEM CBI2801224A, an all-in-one
   12/24Vdc DC-UPS, which supports the modbus RTU communication protocol
   [PR #1282]

 - generic_modbus: added new driver for TCP and Serial Modbus device support.
   The driver has been tested against PULS UPS (model UB40.241) via
   MOXA ioLogikR1212 (RS485) and ioLogikE1212 (TCP/IP), and configuration
   allows to map custom registers and addresses to NUT events [PR #1052]

 - genericups: added support for FTTx battery backup devices, and new signal
   type mappings for the contact closure pins interpretation (RB for replace
   battery, BYPASS for disconnected battery, and "none" or NULL for signals
   to ignore) [PR #1061]

 - add devices to HCL/DDL:
   * APC Back-UPS CS (USB)
   * CPS EC350G, EC750G (USB)
   * Eaton ATS 16 and 30 (SNMP)
   * Eaton 5E2200VA (USB)
   * Eaton 9PX Split Phase 6/8/10 kVA (XML/USB/SHUT)
   * Eaton 9PX (XML/USB/SHUT)
   * Eaton Ellipse PRO 650 VA (USB)
   * Ippon Back Comfo Pro II 650/850/1050 (USB)
   * Numeric Digital 800 (USB)
   * Opti-UPS PS1500E (USB)
   * Powercool 350VA to 1600VA (USB)

 - C++11 support in nutclient library and cppunit tests

 - Added C++ testing mock for TcpClient class (nutclientmem/MemClientStub:
   data stored in local memory) [PR #1034]

 - Dual Python 2 and 3 compatibility in development scripts; ability to
   run build activities and resulting built NUT programs on systems that
   do not have a binary named "python" [PR #1115 and some before it]

 - Added Russian translation for NUT-Monitor GUI client [PR #806]

 - Separated NUT-Monitor UI into two applications, NUT-Monitor-py2gtk2 and
   NUT-Monitor-py3qt5, suitable for two generations of Python ecosystem
   with their great differences; `NUT-Monitor` name is retained for wrapper
   script which calls one of these, such that the current system can execute
   [PRs #1310, #1354]

 - Various USB driver families: expanded device-matching with "device" in
   addition to "bus" and generic USB fields. This is needed to support
   multiple attached devices that seem identical by other fields (e.g.
   same vendor, same model, same USB bus, and no serial number) [PR #974]

 - Various USB driver families: Improved HID parsing for byte-stream to
   number conversions on different CPU architectures [PR #1024]

 - Various USB HID driver families: added support for composite devices
   utilizing interface greater than 0 for the UPS interface [PR #1044]

 - usbhid-ups:
   * added generic framework for fixing Report Descriptors which can be
     used for different manufacturers by adding code to the appropriate
     subdriver rather than polluting the main code with UPS specific
     exceptions, and applied fixes for known mistakes in (some releases
     of firmware for) CyberPower CPS*EPFCLCD [issue #439, PR #1245]
   * added `onlinedischarge` option for UPSes that report `OL+DISCHRG`
     when wall power is lost [PR #811]
   * changed detection of VendorID 0x06da handling of which is claimed
     by Liebert/Phoenixtec HID historically, and MGE HID (for AEG PROTECT
     NAS UPSes) since NUT 2.7.4, so that the higher-priority MGE subdriver
     would not grab each and all of the devices exposing that ID [PR #1357]
   * CPS HID: add input.frequency and output.frequency
   * OpenUPS2: only check OEM Information string once (fewer log messages)
   * Liebert GXT4 USB VID:PID [10AF:0000]
   * add battery voltage and input/output transfer voltage and frequency
     in Liebert/Phoenixtec HID mapping, to support PowerWalker VFI 2000 TGS
     better [PR #564, issue #560]
   * add a little delay between multicommands [PR #1228]
   * fix Eaton/MGE mapping for beeper handling
   * add IBM USB VID
   * add deep battery test for CyberPower OL3000RMXL2U
   * report the libusb version used
   * fixed CPU architecture dependent bitmask math issues, causing wrong
     numbers interpreted from wire protocol data in Big-Endian LP64 builds
     (SPARC64, s390x, etc.) [issue #1023, PRs #1024, #1040, #1055, #1226]
   * add Delta UPS Amplon R Series, tested on R1K and R3K model [PR #987]
   * add Delta Minuteman UPS VID/PID [PR #1230, issues #555 and #1227]
   * add AMETEK Powervar UPM [PR #733]
   * add Tripplite AVR750U (ProductID 0x3024) [PR #963]
   * add Arduino HID device support with new arduino-hid subdriver [PR #1044]
   * add new salicru-hid subdriver, tested with Salicru SPS Home 850 VA
     [PR #1199, issue #732]
   * add new ever-hid subdriver to support EVER UPS devices (Sinline RT Series,
     Sinline RT XL Series, ECO PRO AVR CDS Series) [PR #431]
   * add ability to set `` for APC HID UPS [PR #1318]

 - usbhid-ups / mge-shut: compute a realpower output load approximation for
   Eaton UPS when the needed data is not present

 - snmp-ups:
   * APC ePDU MIB support
   * add `input.phase.shift` variable
   * add configurable write-able `ondelay` (`ups.delay.start`) and `offdelay`
     (`ups.delay.shutdown`) as timeticks support [PR #276]
   * outlet groups
   * fix the rounding / truncation of some values
   * add for Eaton ePDU
   * add input.bypass.frequency for Eaton 3ph
   * fix support for Eaton 2-phase ("split phase") UPS
   * add flag to list currently loaded MIB-to-NUT mappings
   * fix input.L2.voltage on Eaton G2/G3 PDU
   * update Eaton Aphel Revelation MIB
   * support Raritan Dominion PX2 PDU
   * support Emerson Avocent PM3000 PDU
   * improve ALARM flag handling
   * add firmware version for new HPE Network card
   * add ups.load, battery.charge, input.{voltage,frequency} and output.voltage
     for CyberPower, as well as shutdown and other instant commands
   * several rounds of updates for Eaton devices, including new ATS and ePDU
     hardware families
   * fixed bit mask values for flags to surely use different numbers behind
     logical items (inevitably changing some of those macro symbols) [PR #1180]

 - snmp-ups and nut-scanner should now support more SNMPv3 Auth and Priv
   protocols, as available at NUT build time [PRs #1165, #1172]

 - nut-scanner: various improvements, including:
   * detection of libraries at runtime
   * tracing information
   * limiting parallelism (thread count) [PRs #1158, #1164]

 - nut-ipmipsu: improve FreeIPMI support to build cleanly against older and
   newer FreeIPMI versions [PR #1179]

 - the powerpanel driver now also supports CyberPower OR1500LCDRTXL2U with
   serial cable [PR #538]

 - powercom driver: implement `nobt` config parameter to skip battery check
   on initialization/startup [PR #1256]

 - netxml-ups:
   * Report calibration status
   * Fix for erroneous battery info (MGEXML/0.30) [PR #1069]

 - solis: various improvements and fixes

 - liebert-esp2: Correct battery V scaling, update docs, implement split-phase
   unit support [PR #412]

 - tripplite: the "Tripp-Lite SmartUPS driver" as tested with SMART2200NET
   learned to discover the firmware generation and some device features,
   and in particular to manage power separately on one or two outlet groups
   [PR #1048]

 - tripplite_usb: updated to recognize the "3005" protocol [PR #584]

 - libnutclient: introduce getDevicesVariableValues() to improve performances
   when querying many devices (up to 15 times faster)

 - nut-driver-enumerator: introduced a script for Linux systemd and
   Solaris/illumos SMF to inspect current NUT configuration in ups.conf
   file and generate service management instances for each currently
   tracked power device. Also introduced services to monitor the NUT
   configuration and react to editions of this file, mostly intended
   for deployments that do massive monitoring of dynamically changing
   farms of power devices.

 - Fix File descriptors leaks by upsmon and upssched (SELinux errors)

 - systemd support improvements:
   * reload support for upsd
   * Deliver systemd-tmpfiles config to pre-create runtime locations
     [PR #1037 for Issue #1030]
   * Update units with SyslogIdentifier=%N for better logging [PR #1054]

 - upsrw: display the variable type beside ENUM / RANGE

 - Added `PROTVER` as alias to `NETVER` to report the protocol version in use.
   Note that NUT codebase itself does not use this value and handles commands
   and reported errors individually [issue #1347]

 - Implement status tracking for instant commands (instcmd) and variables
   settings (setvar): this allows to get the actual execution status from the
   driver, and is available in libraries and upscmd / upsrw [PR #659]

 - Add support for extra parameter for instant commands, both in library and
   in upscmd

 - dummy-ups can now specify `mode` as a driver argument, and separates the
   notion of `dummy-once` (new default for `*.dev` files that do not change)
   vs. `dummy-loop` (legacy default for `*.seq` and others) [issue #1385]

 - new protocol variables:
   * `input.phase.shift`
   * ``
   * `outlet.N.type`
   * `battery.voltage.cell.max`, `battery.voltage.cell.min`
   * `battery.temperature.cell.max`, `battery.temperature.cell.min`
   * `battery.status`
   * `battery.capacity.nominal`
   * `` (and clarified purpose of ``)
   * `battery.packs.external` (and clarified purpose of `battery.packs`)
   * `experimental.*` namespace introduced [PR #1046] to facilitate
     introduction of NUT drivers and their data points for which we do
     not yet have concepts, or which the original driver contributors
     did not map well per suitable NUT standards: this allows to balance
     having those drivers available in the project vs. least surprise
     for when the explicitly experimental names are changed to something
     stable and standardized.
   * Proposed to track Date and Time values (still as "opaque strings")
     preferably in representations compatible to ISO-8601/RFC-3339 [PR #1076]
     (standards update; changes to actual codebase to be applied in the future)
   ** New routine to convert a US formatted date string "MM/DD/YYYY" to an
      ISO 8601 Calendar date "YYYY-MM-DD" was added to snmp-ups.c [PR #1078]

 - Master/Slave terminology was deprecated in favor of Primary/Secondary
   modes of `upsmon` client:
   * Respective keywords in the configuration files (`upsd.users` and
     `upsmon.conf`) are supported as backwards-compatible settings,
     but the obsoleted values are no longer documented.
   * Protocol keyword support was similarly updated, with `upsmon` now
     first trying to elevate privileges with `PRIMARY <ups>` request,
     and falling back to `MASTER <ups>` just in case it talks to an
     older build of an `upsd` server.
   * For the principle of least surprise, NUT codebase still exposes the
     `net_master()` (as handler for `MASTER` net command) in header and
     C code for the sake of existing linked binaries, and returns the
     `OK MASTER-GRANTED` line to the older client that invoked it.
   * Newly introduced `net_primary()` (as handler for `PRIMARY` net command)
     calls the exact same application logic, but returns `OK PRIMARY-GRANTED`
     line to the client.
   * Python binding updated to handle both cases, as the only found in-tree
     protocol consumer of the full-line text.
   * For more details see issue #840 and several pull requests referenced
     from it, and discussions on NUT mailing lists.

 - Build fixes:
   * In general, numerous fixes were applied to ensure portability and avoid
     warnings (fixing a number of real bugs that caused them); CI was extended
     to keep the codebase free of those types of warnings which we have got
     rid of, requiring builds to succeed cleanly in several dozen combinations
     of compiler versions, C standard revisions (C99 upwards, though on many
     OSes with GNU99+ extensions), operating systems and CPU architectures.
   * Public CI introduced to automatically test every contribution (PR) and
     resulting increment of main NUT codebase, including Travis CI and
     services, and a Jenkins farm on virtual hardware donated by;
     this augments testing earlier provided for some branches by Buildbot.
   * Added cppunit testing with valgrind for the C++ client library
   * Make targets added for shell script syntax checks for helper and service
   * Make targets added for spellcheck and for maintenance of the dictionary,
     including incremental spellcheck to only parse recently edited text files
   * The AsciiDoc detection has been reworked to allow NUT to be built from
     source without requiring asciidoc/a2x (using pre-built man pages from
     the distribution tarball, for instance)
   * Makefile contents rearranged for more resilient out-of-tree and in-tree
     builds beside those made from the root workspace directory
   * Makefiles are tested with GNU Make and BSD Make to ensure portable recipes
   * More use of `pkg-config` to detect dependencies at configure time, as
     well as fail-safe detection of presence of pkg-config (and its macros)
     to survive and build without it too
   * "slibtool" pedantic nuances now supported, allowing an alternative to
     GNU libtool
   * Build scripts updated to remove obsoleted calls to cleanly work with
     autoconf-2.70 releases in 2020 (also works with 2.69 which was the
     earlier release since 2012)
   * Dynamic library loading used in certain programs and use-cases improved,
     especially for 64-bit vs 32-bit builds on multiple-bitness OSes
   * Logging routines like `upsdebugx()` were refactored as macros so there
     is slightly less overhead when logging is disabled [PRs #685 and #1100]
   * Numerous classes of compilation warnings eradicated, many of those being
     potential issues with implicit data type conversions and varied numeric
     type width, signedness, string buffer size, uninitialized variables or
     structure fields; some more in progress
   * Several logical errors found and fixed during this walk over codebase.
   * Cases where compilers were overly zealous and particular code was written
     the way wit was intentionally, including some comparisons that help with
     different-bitness builds but indeed seem superfluous in a certain single
     bitness, were commented and encased in pragmas to disable the warnings
   * Basic coding style (indentations, lack of trailing white space) applied
     per developer guide, but not automatically enforced/checked yet.

 - Due to changes needed to resolve build warnings, mostly about mismatching
   data types for some variables, some structure definitions and API signatures
   of several routines had to be changed for argument types, return types,
   or both. Primarily this change concerns internal implementation details
   (may impact update of NUT forks with custom drivers using those), but a
   few changes also happened in header files installed for builds configured
   `--with-dev` and so may impact `upsclient` and `nutclient` (C++) consumers.
   At the very least, binaries for those consumers should be rebuilt to remain
   stable with NUT 2.8.0 and not mismatch int-type sizes and other arguments.

 - As usual, more bugfixes, cleanup and improvements, on both source code
   and documentation.

Revision 1.13 / (download) - annotate - [select for diffs], Mon Apr 18 19:49:18 2022 UTC (19 months, 1 week ago) by mrg
Branch: MAIN
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored)

fix a ups-nut-usb crash.  from the patch file:

  As comm_driver->get_interrupt() can return larger than the buffer size,
  limit the future accesses by this amount.  Bump the size of the buffer
  here as returns as high as 3500 have been seen.

bump ups-nut-usb revision.

with this, i am able to monitor a recent CyberPower UPS.

Revision 1.12 / (download) - annotate - [select for diffs], Mon May 24 19:54:21 2021 UTC (2 years, 6 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4, pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

*: recursive bump for perl 5.34

Revision 1.11 / (download) - annotate - [select for diffs], Thu Feb 11 10:05:13 2021 UTC (2 years, 9 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2021Q1-base, pkgsrc-2021Q1
Changes since 1.10: +2 -1 lines
Diff to previous 1.10 (colored)

ups-nut*: add for SSL support

Enable nss backend by default.
openssl backend only supports OpenSSL 1.0, so disabled for now.


From Edgar Fu.

Revision 1.10 / (download) - annotate - [select for diffs], Sun May 10 14:12:33 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.9: +2 -1 lines
Diff to previous 1.9 (colored)

sysutils/ups-nut-*: suppress USE_TOOLS+=perl warning

Revision 1.9 / (download) - annotate - [select for diffs], Fri Sep 21 00:59:53 2018 UTC (5 years, 2 months ago) by jym
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3
Changes since 1.8: +1 -2 lines
Diff to previous 1.8 (colored)

Update nut to 2.7.4 (from 2.6.5).

Notable changes:
 * GPLv2 or GPLv3 as license;
 * c++ lang addition;
 * upsdrvctl moved from libexec/ to sbin/ (thanks systemd), reflect this change
in rc.d script;
 * the timeout patch (patch-ab) has been implemented differently, but an
 error message has been left out. Move it to patch-snmp-error-msg.c;
 * tiff buildlink3 for ups-nut-cgi required (in addition to gd).

Changelog: (lengthy -- if truncated please refer to):

2016-03-09  Arnaud Quette <>

	* Fix autoreconf on Debian  For some reason, Automake
	  doesn't search the current directory correctly when searching for
	  helper scripts, when 'nut' is running as a git-submodule, as it is
	  the case with the website repository
	* update version to 2.7.4
	* drivers/apc-ats-mib.c: snmp-ups: add APC ATS input.source
	* drivers/snmp-ups.c: snmp-ups: fix the matching OID tests  For both
	  sysOID and classic methods, we used to test one of the two OIDs
	  provided in the mib2nut structures. However, these two OIDs
	  (oid_pwr_status and oid_auto_check) tend to be redundant and
	  confusing. Replace these matching by an extraction of
	* drivers/nut-libfreeipmi.c: nut-ipmipsu: fix compilation warnings
	* NEWS, UPGRADING, docs/FAQ.txt, docs/net-protocol.txt, docs/new-
	  drivers.txt, docs/nut-names.txt, docs/nutdrv_qx-subdrivers.txt,
	  docs/packager-guide.txt, docs/snmp-subdrivers.txt, lib/README,
	  scripts/augeas/README: Fix spelling and typo errors  Following the
	  spell-checking scope expansion, do a spell-checking pass
	* docs/documentation.txt: Update documentation as per the new devices
	* docs/features.txt, docs/user-manual.txt: Update documentation as
	  per the new devices scope
	* docs/ Expand spell-checking scope  Add more documents,
	  outside of the docs/ directory Closes:

2016-03-08  Arnaud Quette <>

	*, tools/, tools/ Check
	  driver.list[.in] format at make dist time  Instead of checking at configure time, move the checking and
	  modification into a script that is called at make dist time. The
	  script can also be called manually, and will try to fix both and driver.list

2016-03-07  Arnaud Quette <>

	* drivers/powerware-mib.c: Remove an erroneous test  This was made
	  test the enumerated values registration in snmp-ups, and should not
	  have been committed
	* data/ HCL: APC ATS AP7724 supported by snmp-ups
	  These Automatic Transfer Switch should be supported by snmp-ups,
	  however this was not tested at all Reference:
	* NEWS, UPGRADING: Update for release 2.7.4
	* drivers/, drivers/apc-ats-mib.c, drivers/apc-ats-mib.h,
	  drivers/snmp-ups.c: snmp-ups: support APC Automatic Transfer Switch
	  Following the recent extension of NUT scope and variable namespace,
	  to support Automatic Transfer Switch (ATS), implement SNMP support
	  for APC ATS (with help from "maaboo" through github) Reference:

2016-03-04  Arnaud Quette <>

	* drivers/baytech-mib.c, drivers/bestpower-mib.c, drivers/compaq-
	  mib.c, drivers/cyberpower-mib.c, drivers/eaton-mib.c, drivers/mge-
	  mib.c, drivers/netvision-mib.c, drivers/powerware-mib.c, drivers
	  /raritan-pdu-mib.c: snmp-ups: fix mib2nut structures  Non existent
	  OIDs, for testing MIB selection, must be expressed as NULL and not
	  as empty string ("") for the algorithm to work

2016-03-03  Daniele Pezzini <>

	* docs/download.txt: docs: update several download links

2016-03-03  Arnaud Quette <>

	* docs/man/upsrw.txt, docs/net-protocol.txt: Clarification on NUMBER
	  type float values  Clarify a bit more documentation on how to
	  express float values, when using upsrw.  That is to say, using
	  decimal (base 10) english-based representation, so using a dot, in
	  non-scientific notation.  So hexadecimal, exponents, and comma for
	  thousands separator are forbiden
	* clients/upsrw.c, docs/net-protocol.txt, server/netget.c: Prefer
	  NUMBER to NUMERIC for variable type  As per discussion on the
	  Github pull request, NUMBER would be more suitable than NUMERIC

2015-11-22  Daniele Pezzini <>

	* drivers/nutdrv_qx.c: nutdrv_qx: increase timeouts in 'sgs' USB
	  subdriver  Apparently the previously used timeouts in the 'sgs' USB
	  subdriver were not always enough, so increase them.

2015-11-11  Daniele Pezzini <>

	* data/ HCL: various TS Shara UPSes supported by
	  nutdrv_qx  Protocol: 'megatec' USB subdriver: 'sgs'
	* drivers/nutdrv_qx.c: nutdrv_qx: make sure 'sgs' USB subdriver uses
	  only what it reads  Since, in 'sgs' USB subdriver, we read only 8
	  bytes at a time and we expect the first byte to tell us the length
	  of the data that follows, make sure we don't use more than what we
	  read from the device in case the first byte is not what we expect
	  it to be.

2015-03-04  Daniele Pezzini <>

	* drivers/nutdrv_qx.c: nutdrv_qx: increase verbosity of 'sgs' USB
	  subdriver  In 'sgs' USB subdriver: - be more verbose when
	  debugging, - always print the return code when dealing with an

2014-01-31  Daniele Pezzini <>

	* docs/man/nutdrv_qx.txt: nutdrv_qx: update man page for new 'sgs'
	  USB subdriver

2014-01-31  Ronaldo Yamada <>

	* drivers/nutdrv_qx.c: nutdrv_qx: add new 'sgs' USB subdriver to
	  support TS Shara units

2016-03-02  Arnaud Quette <>

	* data/ HCL: added Eaton Powerware 9125-5000g
	  Supported with the additional USB card, with the bcmxcp_usb driver
	* docs/man/upsrw.txt, docs/net-protocol.txt: Clarification on NUMERIC
	  type float values  Clarify documentation on how to express float
	  values, when using upsrw.  That is to say, using decimal english-
	  based representation, so using a dot
	* drivers/mge-xml.c: netxml-ups: fix Eaton XML published data  Some
	  raw protocol data were wrongly published, and are now commented.
	  Also add some R/W flags to ambient thresholds Closes:
	* tools/nut-scanner/nut-scanner.c: nut-scanner: fix thread attachment
	  Add a test to have the right thread waiting for the scan to be
	  complete (patch from Michal Hlavinka, Red Hat)
	*, tools/nut-scanner/nutscan-init.c, tools/nut-
	  scanner/scan_avahi.c, tools/nut-scanner/scan_ipmi.c, tools/nut-
	  scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-
	  scanner/scan_usb.c, tools/nut-scanner/scan_xml_http.c: nut-scanner:
	  don't depend on development libraries  nut-scanner was previously
	  trying to use directly (libusb-0.1, libfreeipmi,
	  libnetsnmp, libavahi-client, libneon, libupsclient}. However, these
	  files are generally provided by the development packages. nut-
	  scanner now tries to look at some known paths, including the one
	  provided through --libdir, to find the correct libraries Closes:

2016-03-01  Arnaud Quette <>

	* clients/upsrw.c, docs/net-protocol.txt, server/netget.c: Default to
	  type NUMERIC for variables  Any variable that is not STRING, RANGE
	  or ENUM is just a simple numeric value. The protocol documentation
	  (net-protocol.txt) was previously stating that "The default <type>,
	  when omitted, is integer." which was not fully true, since a
	  variable could also be a float.  Hence, the wording was changed to
	  advertise this, and that each driver is then responsible for
	  handling values as either integer or float.  Moreover, instead of
	  returning a TYPE "UNKNOWN", return "NUMERIC", which is more
	  suitable, and aligned with the NUT protocol specification
	* tools/ SNMP subdriver generator: fix output
	* tools/ SNMP subdriver generator: discard commented
	  lines  Discard any commented mib2nut_info_t declaration, which
	  should thus not be taken into account

2016-02-26  Arnaud Quette <>

	* data/, drivers/, drivers/eaton-ats-mib.c,
	  drivers/eaton-ats-mib.h, drivers/snmp-ups.c: snmp-ups: support
	  Eaton Automatic Transfer Switch  Following the recent extension of
	  NUT scope and variable namespace, to support Automatic Transfer
	  Switch (ATS), implement SNMP support for Eaton ATS.  Note that this
	  device can also be supported through Eaton XML/PDC (XML over HTTP)
	  protocol, supported by the NUT netxml-ups driver
	* data/cmdvartab, docs/nut-names.txt: Extend namespace for Automatic
	  Transfer Switch (ATS)  Extend NUT namespace to support a new type
	  of power device: ATS - Automatic Transfer Switch.  These devices
	  are used to setup 2 power systems, such as UPS, to power a single
	  power supply system, and be able to automatically transfer between
	  the input sources in case of failure of the primary one. The added
	  variable are for now limited to 'input.source' and
	  'input.source.preferred', but may be extended if needed

2016-02-25  C Fraire <>

	* docs/scheduling.txt: Fix docs location of upssched to sbin

2016-02-25  Arnaud Quette <>

	* scripts/subdriver/ snmp-ups: add the last
	  missing element in the structure
	* drivers/apc-mib.c, drivers/bestpower-mib.c, drivers/compaq-mib.c,
	  drivers/cyberpower-mib.c, drivers/delta_ups-mib.c, drivers/huawei-
	  mib.c, drivers/ietf-mib.c, drivers/mge-mib.c, drivers/netvision-
	  mib.c, drivers/powerware-mib.c, drivers/xppc-mib.c,
	  scripts/subdriver/ snmp-ups: fix values
	  lookup terminating element  The terminating element should really
	  be NULL, and not the string "NULL", as it was originally done, back
	  in 2002
	* drivers/snmp-ups.c: snmp-ups: revert order of the NULL/"NULL" test
	  Fix a segfault when doing first the string comparison test
	* drivers/snmp-ups.c: snmp-ups: register values enumerations
	  Whenever there is a values lookup structure for read/write data,
	  push the values as enumerations for upsrw
	* drivers/snmp-ups.c: snmp-ups: try to lookup values for numeric
	  elements  Numeric elements can also use the value resolution
	* drivers/snmp-ups.c: snmp-ups: counter test sysOID with a test OID
	  Some devices have buggy sysOID exposed. Allow to counter test
	  another OID, to be able to select between different mapping

2016-02-24  Arnaud Quette <>

	* scripts/subdriver/ SNMP subdriver creation
	  script: allow sysOID override  Allow to use -s to override buggy
	  sysOID in some device FW. In this case, the sysOID entry in the
	  mib2nut structure should be set to NULL

2016-02-11  Arnaud Quette <>

	* drivers/raritan-pdu-mib.c: snmp-ups: fix macaddr support for
	  Raritan PDU  Raritan MIB was fixed to expose macaddr on
	  device.macaddr instead of ups.macaddr
	* drivers/baytech-mib.c: snmp-ups: fix macaddr support for Baytech
	  PDU  Baytech MIB was fixed to expose macaddr on device.macaddr
	  instead of ups.macaddr
	* drivers/eaton-mib.c: snmp-ups: fix and complete macaddr support for
	  Eaton  Eaton G2 and G3 can now expose the MAC address of the
	  device, using device.macaddr. Eaton G1 Aphel was fixed to expose
	  this data on device.macaddr instead of ups.macaddr
	* drivers/snmp-ups.c: snmp-ups: add support for hexadecimal octet
	* drivers/snmp-ups.c: snmp-ups: fallback for classic MIB detection
	  If the sysOID matching has failed, then snmp-ups uses ups.model to
	  get an OID to test. In case ups.model is not available, fallback to
	  trying to use device.model instead
	* docs/images/nut_layering.png, docs/images/nut_layering.svg: Refresh
	  and complete NUT architecture diagram

2016-02-08  Arnaud Quette <>

	* drivers/powerware-mib.c: snmp-ups: extend Eaton 3ph outputSource
	  values map  Add the new status values for xupsOutputSource
	  (., that maps to both ups.status and

2016-02-03  Arnaud Quette <>

	* drivers/powerware-mib.c: snmp-ups: improve support for Eaton 3ph
	  Improve support for temperature and humidity data, including: -
	  ups.temperature now available - fixing ambient.temperature
	  (previously pointing at a wrong OID) - ambient.humidity now
	  available - the following settings now available: *
	  ups.temperature.low * ups.temperature.high * ambient.humidity.high
	  * ambient.humidity.low * ambient.temperature.high *

2016-02-01  Daniele Pezzini <>

	* data/ HCL: various APCUPSD-controlled APC devices
	  via apcupsd-ups  Originally reported by GitHub user @Thermionix.

2016-01-31  Charles Lepple <>

	* docs/man/nutdrv_atcl_usb.txt: man/nutdrv_atcl_usb: point to
	  nutdrv_qx (fuji) for 0001:0000  Also update best guess for the USB-
	  to-serial converter situation.
	* docs/FAQ.txt: FAQ: udevadm for fixing permissions

2016-01-30  Charles Lepple <>

	* drivers/nut-libfreeipmi.c: FreeIPMI: do not split function
	  arguments with a conditional  Alternate approach to suggestion by
	  Romero B. de S. Malaquias  Closes:

2016-01-24  Charles Lepple <>

	* docs/config-notes.txt: Documentation: fix formatting  Put syntax
	  examples in verbatim mode, and remove spaces from ends of lines.
	* drivers/apc-hid.c: usbhid-ups: handle missing USB strings in APC
	  code  Closes:
	  Might fix:

2016-01-23  Charles Lepple <>

	* data/ HCL: added NHS Laser Senoidal 5000VA  Source:

2016-01-14  Arnaud Quette <>

	* drivers/snmp-ups.c: snmp-ups: fix staleness detection  With some
	  ePDUs or devices using template for outlet and,
	  communication loss with the device were not detected, due to the
	  handling mechanism. Simply skipping commands for templates, after
	  the init time, is sufficient to avoid this issue

2016-01-05  Arnaud Quette <>

	* drivers/snmp-ups.c: snmp-ups: improve stale communication recovery
	  Disable the 10 iterations to retry communicating with stale device.
	  This was leading up to 10 x 30 seconds, so 5mn, before being able
	  to get data again
	* docs/new-drivers.txt, docs/nut-names.txt: Document
	  battery.charger.status  This will in time replace the historic CHRG
	  and DISCHRG flags published in ups.status.  Closes

2016-01-03  Charles Lepple <>

	* data/ HCL: Sweex model P220 via blazer_usb

2016-01-04  Arnaud Quette <>

	* drivers/ietf-mib.c, drivers/ietf-mib.h, drivers/snmp-ups.c: snmp-
	  ups: add support for Tripplite units on IETF mib  These devices
	  expose ".", which could be supported through this
	  specific MIB.  For now, just link that to the IETF MIB, to provide
	  a first level of support  Reference:

2015-12-30  Arnaud Quette <>

	* First stab at checking format

2015-12-29  Charles Lepple <>

	* scripts/upower/95-upower-hid.rules: upower: update for AEG

2015-12-29  Arnaud Quette <>

	* drivers/powercom.c: Fix the processing of output voltage for KIN
	  units  The processing of output voltage requires to also take into
	  account the line voltage, as reported by Patrik Dufresne. This may
	  still need some further adjustments  Reference:
	* drivers/powercom.c: Fix the processing of input voltage for KIN
	  units  The processing of input voltage requires to also take into
	  account the line voltage, as reported by Patrik Dufresne. Also bump
	  the driver version to 0.16, since 0.15 was already used, but not
	  set  Reference:
	* drivers/mge-hid.c: Fix letter case for AEG USB VendorID  The letter
	  case of this VendorID may be important for generated files, such as
	  the udev ones (reported by Charles Lepple)

2015-12-28  Arnaud Quette <>

	* data/, drivers/mge-hid.c: HCL: AEG PROTECT B / NAS
	  supported by usbhid-ups  Reference:

2015-12-17  Daniele Pezzini <>

	* data/ HCL: Legrand Keor Multiplug supported by
	  nutdrv_qx  Reference:

2015-12-09  Andrey Jr. Melnikov <>

	* drivers/bcmxcp_usb.c: Don't call usb_close() after reset

2015-12-08  Andrey Jr. Melnikov <>

	* drivers/bcmxcp_usb.c: Call usb_reset() when driver unable to claim
	* drivers/bcmxcp.h, drivers/bcmxcp_usb.c: Refactor get_answer()
	  routine, make it properly deal with multi-packets responses. Lower
	  stack usage.

2015-07-27  Daniele Pezzini <>

	* common/common.c, common/str.c, drivers/bcmxcp.c, drivers/blazer.c,
	  drivers/blazer_ser.c, drivers/blazer_usb.c, drivers/libhid.c,
	  drivers/mge-xml.c, drivers/nutdrv_qx.c, drivers/powerp-bin.c,
	  drivers/powerp-txt.c, drivers/powerpanel.c, drivers/tripplitesu.c,
	  drivers/upscode2.c, include/common.h, include/str.h, server/upsd.c,
	  tools/nut-scanner/scan_usb.c: common: consolidate some string-
	  related functions  Move *trim*() functions from common to str.
	  Prepend the 'str_' common prefix. Bailout early if string is NULL
	  or empty. In *trim_m() functions, make sure the string containing
	  characters to be removed is not NULL and bailout early if empty.
	  Add new str_trim[_m]() functions to remove both leading and
	  trailing characters at the same time. Update all the tree
	  accordingly; versioning where appropriate.
	* common/, common/str.c, include/,
	  include/common.h, include/str.h: common: add some string-related

2015-11-10  Charles Lepple <>

	* data/ HCL: Electrys UPS 2500 (nutdrv_qx and
	  blazer_ser)  Closes
	* data/ HCL: Eaton E Series DX UPS 1-20 kVA uses
	  blazer_ser  Closes

2015-11-09  Arnaud Quette <>

	* drivers/eaton-mib.c: snmp-ups: add number of outlets in Eaton ePDU
	* docs/nut-names.txt: Add a variable for the number of outlets in a
	  group  Added '' which provides the number of
	  outlets in the outlet group 'n'

2015-11-06  Daniele Pezzini <>

	* drivers/nutdrv_qx_voltronic-qs.c: nutdrv_qx: update 'voltronic-qs'
	  subdriver  Since, for devices supported by 'voltronic-qs'
	  subdriver, in reality: - invalid commands or queries are echoed
	  back, - accepted commands are followed by action without any
	  further reply, update the subdriver interface accordingly. Also: -
	  change slightly the way we publish protocol as ups.firmware.aux, -
	  update F's reply examples and some info_type (ratings;
	  output.frequency) in QX to NUT table to reflect reality, - increase
	  version number.

2015-10-19  Daniele Pezzini <>

	* drivers/nutdrv_qx_voltronic-qs-hex.c: nutdrv_qx: improve 'T'
	  protocol support in 'voltronic-qs-hex' subdriver  Since the last
	  byte of the reply to the QS query (before the trailing CR) of
	  devices that implement the 'T' protocol holds in reality ratings
	  informations (nominal output frequency/voltage and nominal battery
	  voltage) in its bits, change the 'voltronic-qs-hex' subdriver
	  accordingly. Also: - change slightly the way we publish protocol as
	  ups.firmware.aux, - increase version number.
	* drivers/nutdrv_qx_voltronic-qs-hex.c: nutdrv_qx: simplify
	  {in,out}put voltage conversion in 'voltronic-qs-hex'  In
	  'voltronic-qs-hex' subdriver, instead of calculating separately the
	  fractional and integer part of input and output voltage, do it at
	  once. Also, increase version number.
	* drivers/nutdrv_qx_voltronic-qs-hex.c: nutdrv_qx: improve protocol
	  identification in 'voltronic-qs-hex'  Since 'V' protocol, in
	  reality, never happens to use the encoded version of the reply to
	  the QS query, but it always uses the plain version already
	  implemented in 'voltronic-qs' subdriver, remove it from the
	  identification process of 'voltronic-qs-hex' subdriver. Also,
	  remove some non-significant entries from the testing table and
	  increase version number.
	* drivers/nutdrv_qx_voltronic-qs-hex.c: nutdrv_qx: harmonize
	  declarations/definitions in 'voltronic-qs-hex'  In 'voltronic-qs-
	  hex' subdriver, the scope of support functions is limited to the
	  subdriver as rightly stated in forward declarations, so correct
	  their definitions to reflect that. Also, increase version number.

2015-10-09  Arnaud Quette <>

	* docs/nut-qa.txt: Reference Black Duck OpenHUB in QA documentation
	  Closes networkupstools/nut#192

2015-10-08  Arnaud Quette <>

	* drivers/snmp-ups.c: snmp-ups: also use __func__ for additional
	* drivers/powerware-mib.c: powerware-mib: more comments for RFC
	  device.event  Add more comments on the need to RFC device.event for
	  some data that are currently published under ups.alarm
	* drivers/powerware-mib.c: snmp-ups: improve Eaton 3-phase UPS alarms
	  reporting  Eaton 3phase UPS, using the Powerware MIB, can expose
	  many new alarms. Also use the standard driver "X.YY" versioning,
	  and bump subdriver release to "0.85"
	* drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups: fix and improve
	  the ups.alarms mechanism  This mechanism allows to walk a subtree
	  (array) of alarms, composed of OID references. The object
	  referenced should not be accessible, but rather when present, this
	  means that the alarm condition is TRUE. Both ups.status and/or
	  ups.alarm values can be provided
	* drivers/snmp-ups.c: snmp-ups: fix on some snprintf calls  Some
	  snprintf calls are using dynamically allocated variables, which
	  doesn't work with sizeof
	* drivers/snmp-ups.c: snmp-ups: use __func__ in debug messages
	* drivers/snmp-ups.c: snmp-ups: nut_snmp_get_oid() returns TRUE on
	* drivers/snmp-ups.c: snmp-ups: only use snprintf calls instead of
	* drivers/eaton-mib.c, drivers/snmp-ups.c: snmp-ups: simplify
	  handling of other alarms  outlet, outlet groups and phase alarms
	  are now using a simplified approach that does not require specific
	  lookup structure to adapt alarm messages. This applies to Eaton
	  ePDU G2/G3

2015-09-22  Arnaud Quette <>

	* drivers/snmp-ups.c: snmp-ups: fix a typo error in debug message
	  Unknown is spelled with an ending N (reported by Evgeny "Jim"
	  Klimov, from Eaton)
	* drivers/snmp-ups.c: snmp-ups: optimize phase number extraction
	  efficiency  Since we know that we are processing an alarm for a
	  phase "Lx", don't use strchr, but simply index (reported by Evgeny
	  "Jim" Klimov, from Eaton)
	* docs/nut-names.txt, drivers/eaton-mib.c: snmp-ups: use dash-
	  separator for out-of-range  For the sake of coherence with other
	  status relative to thresholds, "out of range" frequency status now
	  also use dash as separator, instead of space
	* drivers/eaton-mib.c: Fix a spelling error in comments
	* drivers/eaton-mib.c: snmp-ups: fix a typo error on Eaton ePDU G2/G3
	  MIB  Critical is really spelled critical, and not cricital, as used
	  in the various status thresholds value-lookup structures (reported
	  by Evgeny "Jim" Klimov, from Eaton)
	* data/cmdvartab: Mention the unit for ambient humidity information
	  Add an explicit mention that ambient information related to
	  humidity use the "(percent)" unit
	* data/cmdvartab, docs/nut-names.txt: Mention the unit for input
	  voltage information  Add an explicit mention that input information
	  related to voltage use the "Volts (V)" unit
	* data/cmdvartab: Mention the unit for ambient temperature
	  information  Add an explicit mention that ambient information
	  related to temperature use the "degrees C" unit

2015-09-18  Arnaud Quette <>

	* drivers/eaton-mib.c: snmp-ups: add outlet group identifier for
	  Eaton ePDU  Eaton ePDU can now publish the parent group of each
	* docs/nut-names.txt: Extend outlet collection namespace with group
	  ID  An outlet can now publish the group to which it belongs to
	* drivers/snmp-ups.c: snmp-ups: complete nut_snmp_get_{str,int}
	  These methods now allow to get the value of an OID returned by the
	  source OID (as for the sysOID). In case of failure (non existent
	  OID), the functions return the last part of the returned OID (ex:
	  1.2.3 => 3)
	* drivers/snmp-ups.c: snmp-ups: create a nut_snmp_get_oid() function
	  This method allows to get the value of an OID which is also an OID
	  (as for the sysOID), without trying to get the value of the pointed
	  OID. This will allow to use nut_snmp_get_{int,str}() the get the
	  value of the pointed OID

2015-09-17  Arnaud Quette <>

	* drivers/eaton-mib.c: snmp-ups: outlet groups type handling for
	  Eaton ePDU  Eaton ePDU can now publish the type of outlet group
	* docs/nut-names.txt: Extend outlet group collection namespace with
	  type  The type of outlet group can now be published, part of the
	  new data collection
	* drivers/eaton-mib.c: snmp-ups: outlet groups commands for Eaton
	  ePDU  Eaton ePDU can now handle commands outlet groups, including
	  on, off and reboot (cycle)
	* drivers/snmp-ups.c: snmp-ups: fix commands handling for outlet
	  groups  The su_instcmd() function of snmp-ups is now adapted to
	  support outlet groups
	* drivers/eaton-mib.c: Advanced outlets groups alarm handling for
	  Eaton ePDU  Eaton ePDU can now handle alarms on outlets groups, for
	  voltage and current, relative to the configured thresholds
	* drivers/snmp-ups.c: snmp-ups: improvements for outlet groups and
	  alarms  Improve the code for general template management, including
	  outlets and outlets groups for now, and add alarm management for
	  outlet groups, the same way as for outlets

2015-09-16  Arnaud Quette <>

	* drivers/snmp-ups.c: snmp-ups: fix set variable for outlet groups
	  The setvar() function of snmp-ups is now adapted to support outlet
	* drivers/eaton-mib.c: snmp-ups: outlet groups handling for Eaton
	  ePDU  Eaton ePDU can now handle outlet groups, including voltage
	  and current (with thresholds and status relative to the configured
	  thresholds), along with power and realpower. A subsequent commit
	  will address the alarms, settings and commands. Bump subdriver
	  version to 0.30
	* drivers/snmp-ups.c: snmp-ups: update debug message  The template
	  guestimation function name was changed, but the debug message was
	  left with the old function name

2015-09-15  Arnaud Quette <>

	* docs/nut-names.txt: Extend NUT namespace with
	  collection  A new data collection, called "", is now
	  available. It provides grouped management for a set of outlets. The
	  same principles and data than the outlet collection apply to
	* drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups: adapt template
	  mechanisms for outlet groups  The template handling mechanisms,
	  originally created for outlets, is now adapted to also manage
	  outlet groups

2015-09-14  root <>

	* docs/nut-names.txt: Add a note on the outlet.count variable

2015-09-14  Arnaud Quette <>

	* drivers/eaton-mib.c: snmp-ups: add nominal input current for Eaton
	  ePDU  snmp-ups now provides input.[Lx.]current.nominal for Eaton
	  ePDU G2/G3, both for 1phase and 3phase
	* drivers/eaton-mib.c: snmp-ups: better input.power handling for
	  Eaton ePDUs  Improve the way we declare and process input.power, as
	  previously done for input.realpower, in order to address the
	  variations between Eaton ePDUs G2 and G3

2015-09-11  Arnaud Quette <>

	* drivers/eaton-mib.c: snmp-ups: publish part number for Eaton ePDU
	  device.part was standardized in NUT namespace, so enable the
	  declaration for Eaton ePDU
	* drivers/eaton-mib.c: snmp-ups: 3-phase alarm handling for Eaton
	  ePDU  Eaton ePDU can now handle alarms on 3-phase, currently
	  limited to voltage and current, relative to the configured
	* drivers/snmp-ups.c: snmp-ups: implement 3-phase alarm handling
	  snmp-ups now allows to publish 3-phase alarms in ups.alarm, the
	  same way as with outlet.  Declaration of such alarms are done using
	  "Lx.alarm". info_lkp_t structures messages are shared templates
	  with outlets, and use the string formats to include the context
	  (outlet or phase) and the number (of the outlet or phase) in alarm
	  messages.  These alarms are then published in "ups.alarm", with the
	  standard mechanism for alarm publication
	* docs/nut-names.txt: Extend 3-phase collection namespace with alarms
	  3-phase data collection now allows to specify alarms, the same way
	  than with the outlet collection ("outlet.n.alarm"), but using
	  "Lx.alarm" (for example "L1.alarm").  These alarms are then
	  published in "ups.alarm", with the standard mechanism for alarm
	* drivers/eaton-mib.c: Advanced threshold handling for Eaton 3-phase
	  ePDU  Eaton ePDU can now handle warning and critical thresholds
	  settings and status for input voltage and current on 3-phase units.
	  Alarms are however still to be implement
	* docs/nut-names.txt: Extend 3-phase collection namespace with
	  threshold  3-phase data collection now allows to specify low / high
	  warning and critical thresholds for voltage and current. Status
	  relative to the thresholds also exist for these data

2015-09-07  Arnaud Quette <>

	* drivers/snmp-ups.c, drivers/snmp-ups.h: snmp-ups: fix loss of
	  precision when setting values  su_setvar() was losing precision
	  when converting and casting the provided values to send to the SNMP
	  agent. As an example, with an OID in millivolt (multiplier set to
	  0.001), when providing 238 (V) using upsrw, the value sent to the
	  SNMP agent was 237999, so leaking 0.1 volt

2015-09-04  Arnaud Quette <>

	* drivers/dstate.c: Extend ups.alarm internal buffer to 1024 chars
	  Currently, ups.alarm can hold up to 256 chars to expose alarms.
	  With the recent outlet alarms handling addition, the buffer may
	  quickly be to small.  Thus, increase to 1024, which may still not
	  be sufficient but already provides a bit more room
	* drivers/eaton-mib.c: snmp-ups: outlet alarm handling for Eaton ePDU
	  Eaton ePDU can now handle alarms on outlets, currently limited to
	  outlet voltage and current, relative to the configured thresholds
	* drivers/snmp-ups.c: snmp-ups: implement outlets / PDU alarm
	  handling  snmp-ups now allows to publish outlets and PDU alarms in
	  ups.alarm, the same way as with ups.status.  Declaration of such
	  alarms are done using the outlet template mechanism
	  ("outlet.%i.alarm"). info_lkp_t structures messages can also use
	  the string formats to include the outlet number in alarm messages.
	  These alarms are then published in "ups.alarm", with the standard
	  mechanism for alarm publication
	* docs/nut-names.txt: Extend outlet collection namespace with alarms
	  Outlet data collection now allows to specify alarms, using the
	  template definitions ("outlet.n.alarm").  These alarms are then
	  published in "ups.alarm", with the standard mechanism for alarm

2015-09-02  Arnaud Quette <>

	* drivers/eaton-mib.c: snmp-ups: outlet threshold handling for Eaton
	  ePDU  Eaton ePDU can now handle warning and critical thresholds
	  settings and status for outlet voltage and current
	* docs/nut-names.txt: Extend outlet collection namespace with
	  threshold  Outlet data collection now allows to specify low / high
	  warning and critical thresholds for voltage and current. Status
	  relative to the thresholds also exist for these data

2015-09-01  Arnaud Quette <>

	* drivers/eaton-mib.c: snmp-ups: alarms handling for Eaton ePDU
	  Eaton ePDU can now publish alarms, related to input status
	  (voltage, frequency and current) and ambient status (temperature
	  and humidity). Note that alarms are still published under
	  ups.alarms, though these should belong to either pdu.alarms or
	  better device.alarms
	* drivers/eaton-mib.c: Advanced input threshold handling for Eaton
	  ePDU  Eaton ePDU can now handle warning and critical thresholds
	  settings and status for input voltage and current, along with the
	  frequency status
	* data/cmdvartab, docs/nut-names.txt: Extend input collection
	  namespace with threshold  Input data collection now allows to
	  specify low / high warning and critical thresholds for voltage and
	  current. Status relative to the thresholds also exist for these
	  data, and for the frequency

2015-08-31  Arnaud Quette <>

	* drivers/eaton-mib.c: snmp-ups: ambient dry contacts support for
	  Eaton ePDU  Eaton ambient modules, connected on ePDU, now publish
	  the status of the connected dry contacts sensors
	* data/cmdvartab, docs/nut-names.txt: Extend ambient collection
	  namespace with dry contacts  Ambient data collection now allow to
	  specify dry contacts sensor status
	* drivers/eaton-mib.c: snmp-ups: fix Eaton Pulizzi Switched PDU
	  multiplier  As per the previous commit, to well handle integer RW
	* drivers/eaton-mib.c: snmp-ups: ambient threshold handling for Eaton
	  ePDU  Eaton ePDU can now handle warning and critical thresholds and
	  status for both humidity and temperature
	* data/cmdvartab, docs/nut-names.txt: Extend ambient collection
	  namespace with threshold  Ambient data collection now allow to
	  specify warning and critical thresholds
	* drivers/eaton-mib.c: snmp-ups: publish presence of Eaton ambient
	  sensor  Publish the actual presence of ambient sensor for Eaton
	  ePDU G2 and G3
	* data/cmdvartab, docs/nut-names.txt: Publish the actual presence of
	  an ambient sensor  A new data was created (ambient.present) to
	  publish the actual presence of an ambient sensor

2015-10-06  Charles Lepple <>

	* data/ HCL: Asium P700, Micropower LCD 1000 and Eaton

2015-10-06  Daniele Pezzini <>

	* data/ HCL: LYONN CTB-800V supported by nutdrv_qx
	  Protocol: 'voltronic-qs-hex'  Reference:

2015-08-22  Mariano <>

	* drivers/nutdrv_qx_voltronic-qs-hex.c: nutdrv_qx: add support for
	  LYONN CTB-800V  Small protocol validation change in 'voltronic-qs-
	  hex' subdriver to add support for the protocol used by the LYONN
	  CTB-800V UPS.

2015-09-28  Arnaud Quette <>

	* docs/new-drivers.txt: Fix spacing error

2015-09-22  Charles Lepple <>

	* drivers/solis.c, drivers/solis.h: solis: remove additional warnings
	  The "Waiting" flag is always zero, and several other variables were
	  not used.
	* drivers/solis.c, drivers/solis.h: solis: clean up warnings  Comment
	  out unused constants, and add 'static' and 'const' wherever

2015-09-20  Charles Lepple <>

	* drivers/, drivers/solis.c: solis: math fixes  As
	  mentioned here:

2015-09-19  bsalvador <>

	* drivers/solis.c, drivers/solis.h: solis: patch for Microsol Back-
	  Ups BZ1200-BR  patch for correct reading for Microsol Back-Ups
	  BZ1200-BR  (rebased onto solis_debug branch, and cleaned up
	  whitespace. -- CFL)  Closes and Closes

2015-09-16  Arnaud Quette <>

	* data/, docs/man/snmp-ups.txt, drivers/powerware-
	  mib.c, drivers/powerware-mib.h, drivers/snmp-ups.c: snmp-ups: add
	  Eaton Power Xpert Gateway UPS Card  This newer generation of SNMP
	  card is used for BladeUPS or other UPS, and is serving the same
	  XUPS MIB, as in the "pw" subdriver
	* scripts/subdriver/ Update SNMP subdriver
	  generation script  Complete the documentation, by adding some notes
	  and examples ; Fix the MIBs directories list and the "keep
	  temporary files" option

2015-09-11  Arnaud Quette <>

	* drivers/snmp-ups.c: Improve log/debug output trace

2015-09-08  Charles Lepple <>

	* drivers/solis.c: solis: resync with end-of-packet character (0.64)
	  Suggested by @rpvelloso in
	  ssues/231#issuecomment-134795747  Note that the driver could
	  possibly get out-of-sync after initial detection.

2015-09-07  Charles Lepple <>

	* docs/man/macosx-ups.txt, drivers/macosx-ups.c: macosx-ups:
	  gracefully handle disconnection of UPS  Tested on 10.9.5 and
	  10.10.5. Returns "data stale" when UPS disappears.

2015-09-07  Arnaud Quette <>

	* drivers/powerware-mib.c: Bump Powerware SNMP subdriver version

2015-09-04  Charles Lepple <>

	*, docs/configure.txt, docs/new-clients.txt, tools/nut-
	  scanner/README: doc: correct remaining `--with-lib` references
	  Credit: Paul Vermeer

2015-09-01  Arnaud Quette <>

	* drivers/snmp-ups.h: Minor updates to TODO comments
	* drivers/snmp-ups.c: Implement ups.alarm for SNMP  snmp-ups now
	  allows to publish alarms in ups.alarm, the same way as with

2015-08-31  Arnaud Quette <>

	* drivers/snmp-ups.c: Proper handling of integer RW variables  RW
	  variables were previously supposed to always be strings. Thus, the
	  multiplier (using the info_len field) was not applied. Also allow
	  setting float values, not only integer
	* drivers/snmp-ups.c, drivers/snmp-ups.h: Fix default SNMP retries
	  and timeout  The previous patch was using the default values from
	  Net-SNMP, which are set to -1. When the user was not providing
	  overriden values, this was causing the driver to not be able to
	  establish the communication with the device. The default values are
	  now fixed, as per documented (i.e. 5 retries and timeout of 1
	  second). Also bump the driver version to 0.74
	* docs/man/ups.conf.txt, drivers/dstate.c: Make more obvious the
	  socket write failure  Document the error that require the use of
	  the 'synchronous' flag. Also use debug level 1 instead of 2 for the
	  debug message

2015-08-23  Charles Lepple <>

	* drivers/solis.c: solis: Add upsdebug*() and upslogx() calls for

2015-08-18  Kenny Root <>

	* drivers/powerware-mib.c: Add for Powerware SNMP  Use
	  the IETF UPS MIB to indicate to Powerware devices that it should
	  restart when mains power is applied.
	* drivers/powerware-mib.c: Fix some indentation problems in PowerWare
	* drivers/powerware-mib.c: Add shutdown.return for Powerware SNMP
	  The Powerware MIB supports the concept of shutting down with a
	  delay and then returning when line power is restored. The delay is
	  set to 0 seconds currently.
	* drivers/powerware-mib.c: Add load.{off,on}.delay for Powerware SNMP
	  The commands to shut down with delay have existed since the first
	  version of the Powerware MIB so add the newer commands
	  "" and "load.on.delay" to aid in shutdown scripts.

2015-08-07  Arnaud Quette <>

	* drivers/dummy-ups.c, drivers/dummy-ups.h: Fix dummy-ups for
	  external value changes  dummy-ups allow to change the values of the
	  publicated variables through the standard upsrw tool. This method
	  is handy to script value changes, in a controlled way, compared to
	  the dynamic version (using the TIMER keyword in .dev files), which
	  changes the values in a non controlled way. Bump driver version to
	* m4/nut_check_libnss.m4: Fully check for a working Mozilla NSS
	  Rework the NSS tests so that just having runtime libraries
	  installed is not enough. Moreover, since GNU libc6 also provides a
	  nss.h header, the test now checks for both nss.h and ssl.h  Closes
	* docs/download.txt: Fix Red Hat / Fedora packages repository URL

2015-08-03  Tomas Halman <>

	* clients/nutclient.cpp: Problem: nutclient library sometimes reads
	  socket closed by server. Solution: proper read return value

2015-08-04  Arnaud Quette <>

	* tools/nut-scanner/scan_snmp.c: Fix a crash on a 2nd call to
	  libnutscan  on behalf of Tomas Halman, from Eaton Opensource Team

2015-07-24  Nash Kaminski <>

	* drivers/tripplitesu.c: tripplitesu: Fix initialization when
	  tripplite firmware is buggy  With some Tripplite SU1000RT2U (and
	  possibly more) UPS's, a firmware bug causes a malformed response to
	  the very first command that is sent after the serial port is opened
	  following a warm or cold boot of the system. My theory is that this
	  related to either the RS232 data lines or handshaking lines being
	  pulled high once the server's UART is powered however I have not
	  determined precisely if this is related to the data line being
	  pulled high or the handshaking lines being asserted. However, I
	  have been able to consistently reproduce the issue where the driver
	  fails to start on the first attempt after a cold/warm boot across 3
	  different machines and 2 SU1000RT2U UPS's. To workaround this, the
	  initial enumeration is repeated a 2nd time after 300ms(to allow all
	  garbage data to arrive) if the first attempt fails, which allows
	  the driver to consistently startup successfully on the 1st attempt.
	  Closes networkupstools/nut#220

2015-07-24  Tim Smith <>

	* INSTALL.nut: Spelling fixes  Spelling fixes and capitalization of

2015-07-23  Arnaud Quette <>

	* scripts/augeas/nutupsconf.aug.tpl: Update Augeas lens for ups.conf
	  Add the various missing global directives and ups fields

2015-07-20  Daniele Pezzini <>

	* data/ HCL: fix case and spacing

2015-07-18  Daniele Pezzini <>

	* drivers/nutdrv_qx.c: nutdrv_qx: when targeting 'UPS No Ack'
	  consider also the trailing CR  In 'fabula' and 'krauler' USB
	  subdrivers, take into account also the trailing CR in the reply
	  while looking for a 'UPS No Ack'.
	* drivers/nutdrv_qx.c: nutdrv_qx: stay true to return code in
	  'fabula' USB subdriver  In 'fabula' USB subdriver, when reading
	  'UPS No Ack' from device, since we already mimic a timeout, also
	  empty the reply.

2015-07-11  Charles Lepple <>

	* data/ HCL: Fideltronic INIGO Viper 1200 supported by

2015-07-02  Charles Lepple <>

	* drivers/usbhid-ups.c: usbhid-ups: bump version to 0.41  Both the
	  eaton_dual_reportdesc and usbhid_ups_input_vs_feature branches
	  claimed version 0.40, so let's disambiguate the merged version.

2015-07-02  Arnaud Quette <>

	* drivers/libhid.c: Add a debug trace for the number of HID objects
	* drivers/hidtypes.h: Fix testing typo  MAX_REPORT is really 500 (HID
	  objects), not 50!
	* drivers/hidparser.c: Report when there are further unprocessed HID
	  objects  Following the last commits, and especially the MAX_REPORT
	  one, warn whenever there are remaining HID objects that were not
	  processed. This may serve
	* drivers/hidtypes.h: Increase the maximum number of HID objects  The
	  previous value (300) was causing a trim of the remaining objects.
	  Increase the value to 500, which should give a bit of time
	* drivers/libshut.c, drivers/libshut.h, drivers/libusb.c, drivers
	  /usb-common.h, drivers/usbhid-ups.c: Add support for Eaton dual HID
	  report descriptor  All devices use HID descriptor at index 0.
	  However, some newer Eaton units have a light HID descriptor at
	  index 0, and the full version is at index 1 (in which case,
	  bcdDevice == 0x0202). This dual report descriptor approach is due
	  to the fact that the main report descriptor is now too heavy, and
	  cause some BIOS to hang. A light version is thus provided at the
	  default index, solving this BIOS issues

2015-06-27  Charles Lepple <>

	* drivers/macosx-ups.c: macosx-ups: fix for 10.10 (Yosemite); v1.1
	  In OS X 10.9 and earlier, IOPSGetPowerSourcesInfo() returned a
	  CFDictionary. In 10.10 it returns a CFArray. Programmers are
	  supposed to use IOPSGetPowerSourceDescription() to gloss over this
	  distinction.  However, this does not make it easy to distinguish
	  between a laptop battery and an UPS. So the "port" driver option no
	  longer has any effect.

2015-06-22  Arnaud Quette <>

	* scripts/upower/95-upower-hid.rules, tools/ Update
	  UPower HID rules and generator

2015-06-11  Charles Lepple <>

	* drivers/usbhid-ups.c: usbhid-ups.c: fall back to HID Input type if
	  not a Feature

2015-06-07  Charles Lepple <>

	* drivers/tripplite-hid.c: tripplite-hid.c: device.part is static
	  (version 0.82)

2015-06-04  Daniele Pezzini <>

	* drivers/nutdrv_qx.c: nutdrv_qx: make sure processed item's
	  boundaries are not wrong

2015-04-26  Nick Mayerhofer <>

	* docs/nutdrv_qx-subdrivers.txt, drivers/nutdrv_qx.c,
	  drivers/nutdrv_qx.h: nutdrv_qx: improve documentation for some

2015-06-04  Daniele Pezzini <>

	* docs/nutdrv_qx-subdrivers.txt, drivers/nutdrv_qx.c,
	  drivers/nutdrv_qx.h: nutdrv_qx: remove redundant comments and
	  update docs

2015-04-28  Nick Mayerhofer <>

	* drivers/nutdrv_qx_voltronic.c: nutdrv_qx: move var declaration in
	  'voltronic' subdriver  Move variable declaration to fulfill
	  condition '3.3. Portability' of the developer guide. Bump version.
	* drivers/libhid.c: libhid: replace "flush loop" with memset  Move to
	  the C way of setting memory (memset), replacing a for loop with a
	  few anti-patterns in it: - for (...; ; i++) - for (...; i <
	  MAGIC_NUMBER; ...) - for (...) array[i] = 0

2015-05-18  Daniele Pezzini <>

	* docs/nutdrv_qx-subdrivers.txt, drivers/nutdrv_qx.c,
	  drivers/nutdrv_qx.h, drivers/nutdrv_qx_bestups.c,
	  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_voltronic.c,
	  drivers/nutdrv_qx_zinto.c: nutdrv_qx: give subdrivers a last chance
	  to process the command  Add (and document) a new function
	  ('preprocess_command()') to preprocess the command to be sent to
	  the device, just before the actual sending and, in case of instant
	  commands/setvars, after the 'preprocess()' function has been
	  triggered (if appropriate). As an example, this function can be
	  useful to add to all commands (both queries and instant
	  commands/setvars) a CRC or to fill the command of a query with some
	  data. Also, in qx_process(), address buf size vs item->answer size
	  earlier. Update all subdrivers accordingly, bump versions.

2015-06-01  Arnaud Quette <>

	* docs/man/snmp-ups.txt, drivers/snmp-ups.c, drivers/snmp-ups.h:
	  Provide access to Net-SNMP timeout and retries  Two new extra
	  arguments are now available to allow overriding Net-SNMP number of
	  retries (snmp_retries) and timeout per retry (snmp_timeout). These
	  respectively maps to snmpcmd "-r retries" and "-t timeout"

2015-05-29  Arnaud Quette <>

	* scripts/upower/95-upower-hid.rules: Update UPower HID rules
	* tools/ Fix UPower device matching for recent kernels
	  As per the UPower patch below referenced, hiddev* devices now have
	  class "usbmisc", rather than "usb".  See

2015-05-28  Arnaud Quette <>

	* tools/nut-scanner/nut-scan.h, tools/nut-scanner/nut-scanner.c,
	  tools/nut-scanner/nutscan-device.c, tools/nut-scanner/nutscan-
	  device.h, tools/nut-scanner/nutscan-display.c, tools/nut-scanner
	  /nutscan-init.c, tools/nut-scanner/nutscan-init.h, tools/nut-
	  scanner/nutscan-ip.c, tools/nut-scanner/nutscan-ip.h, tools/nut-
	  scanner/nutscan-serial.c, tools/nut-scanner/nutscan-serial.h, tools
	  /nut-scanner/scan_avahi.c, tools/nut-scanner/scan_eaton_serial.c,
	  tools/nut-scanner/scan_ipmi.c, tools/nut-scanner/scan_nut.c, tools
	  /nut-scanner/scan_snmp.c, tools/nut-scanner/scan_usb.c, tools/nut-
	  scanner/scan_xml_http.c: Fix legal information on source-code
	  headers  Copyright and author were not mentioned as it should be.
	  Most of the nut-scanner copyright belongs to EATON, apart from few
	  parts. Files descriptions are now also in Doxygen format

2015-05-18  Daniele Pezzini <>

	* docs/nutdrv_qx-subdrivers.txt, drivers/nutdrv_qx.c,
	  drivers/nutdrv_qx.h, 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_voltronic.c,
	  drivers/nutdrv_qx_zinto.c: nutdrv_qx: make preprocessed value's
	  size_t a const  There's no need to intervene on the passed-to-the-
	  function value of a preprocessed value's size_t, so clarify it is a
	  const. Update all subdrivers accordingly, bump versions.
	* drivers/nutdrv_qx.c: nutdrv_qx: make sure an answer is not reused
	  if preprocess_answer() fails  If an item's preprocess_answer()
	  function fails, the answer should not be considered valid and
	  inherited by the following items with the same command. Therefore,
	  on failure, clear the answer so that the following items are forced
	  to query the device and preprocess the answer anew, if appropriate.

2015-05-13  Arnaud Quette <>

	* docs/download.txt: Update NUT packages for Windows to 2.6.5-6

2015-05-07  Arnaud Quette <>

	* scripts/systemd/ Restore systemd relationship
	  with nut-driver service  The Requires directive from nut-server to
	  nut-driver was previously removed, since it was preventing upsd
	  from starting whenever one or more drivers, among several, was
	  failing to start. Use the Wants directive, a weaker version of
	  Requires, which will start upsd even if the nut-driver unit fails
	  to start.  closes

2015-04-23  Arnaud Quette <>

	* Cleanup GPG signature before generation

2015-04-22  Arnaud Quette <>

	* bump version back to
	* Restore version 2.7.3 for release
	* docs/security.txt: Missing link reference update  The filename of
	  the previous GPG release key was not updated, leading to pointing
	  to the current release key

2015-04-08  Nick Mayerhofer <>

	* docs/nutdrv_qx-subdrivers.txt, drivers/nutdrv_qx.c,
	  drivers/nutdrv_qx.h: nutdrv_qx: clarify docs/inline comments

2015-04-16  Arnaud Quette <>

	* bump version to

2015-04-15  Arnaud Quette <>

	* update version to 2.7.3
	* docs/security.txt: Update release signature verification  The
	  release manager key has change. Update the documentation to reflect
	  it, along with keeping necessary for checking the previous releases
	* docs/download.txt: Fix formatting issue
	* NEWS, UPGRADING: Final update for release 2.7.3  Complete the
	  release information for NUT 2.7.3
	* docs/maintainer-guide.txt: Store some comments for latter

2015-04-10  Arnaud Quette <>

	* drivers/mge-hid.c: Improve Eaton ABM support for USB/HID units  As
	  per clarifications from David G. Miller (Eaton ABM expert) and
	  customers request, when ABM is enabled, we now both publish the
	  following as per the ABM information: - the 5 status bits
	  {charging, discharging, floating, resting, off} under
	  battery.charger.status - the 2 historical status bits {CHRG,
	  DISCHRG} under ups.status When ABM is disabled, we just publish the
	  2 historical status bits {CHRG, DISCHRG} under ups.status, as per
	  UPS.PowerSummary.PresentStatus.{Charging,Discharging}, as done

2015-04-02  Arnaud Quette <>

	* conf/ups.conf.sample, docs/man/ups.conf.txt, drivers/dstate.c,
	  drivers/dstate.h, drivers/main.c: Improve synchronous driver flag
	  implementation  The previous commit was suffering a number of
	  issues. The present commit fixes these, along with adding more
	  documentation and a better and more understandable implementation
	  code. Thanks to Daniele Pezzini for the thorough review  Closes:

2015-04-01  Arnaud Quette <>

	* docs/man/ups.conf.txt, drivers/dstate.c, drivers/dstate.h,
	  drivers/main.c: Implement synchronous driver flag  As per issue
	  #197, NUT drivers work by default in asynchronous mode. This means
	  that all data are pushed by the driver on the communication socket
	  to upsd (Unix socket on Unix, Named pipe on Windows) without
	  waiting for these data to be actually consumed.  With some HW, such
	  as ePDUs, that can produce a lot of data, asynchronous mode may
	  cause some congestion, resulting in the socket to be full, and the
	  driver to appear as not connected.  By enabling the 'synchronous'
	  flag, the driver will wait for data to be consumed by upsd, prior
	  to publishing more.  This can be enabled either globally or per

2015-04-07  Arnaud Quette <>

	* scripts/systemd/ Do not Require systemd nut-
	  driver for nut-server  Put the Requires=nut-driver.service in
	  comment for nut-server systemd unit file. Thus we don't require
	  drivers to be successfully started! This was a change of behavior
	  compared to init SysV, and could prevent from accessing
	  successfully started drivers, or at least to audit a system

2015-04-04  Charles Lepple <>

	* UPGRADING: UPGRADING: mention SSL permissions (#199)
	* docs/security.txt: NSS SSL documentation  Addresses new behavior as
	  part of the NSS forking fix (#199). Formatting and wording fixed as

2015-04-04  milien Kia <>

	* server/upsd.c: Initialize SSL after deamonize and downgrade to
	  user.  Fix issue #190 - upsd: NSS SSL only working in debug mode

2015-04-02  Arnaud Quette <>

	* drivers/eaton-mib.c: Better input.realpower handling for Eaton
	  ePDUs G2/G3  Improve the way we declare and process
	  input.realpower, in order to address the variations between Eaton
	  ePDUs G2 and G3

2015-03-19  Arnaud Quette <>

	* docs/nut-names.txt: Document new variables and commands addition
	  The variables and commands that were added were not described in
	  the NUT namespace document. These are: input.transfer.delay -
	  battery.energysave.load - battery.energysave.delay -
	  battery.charger.status - outlet.1.shutdown.return -
	* drivers/bcmxcp.c: Fix the letter case of ABM and outlets status
	  For more coherence with NUT status publication, these status are
	  now lower case
	* drivers/bcmxcp.c: Add missing Author

2014-10-10  gavrilov-i <>

	* data/cmdvartab, drivers/bcmxcp.c, drivers/bcmxcp.h: drivers/bcmxcp:
	  advanced features  Closes: #158  Added setvar function exec result
	  parsing  Add command to turn load on after shutdown.stayoff and
	  shutdown.return.  Outlet control changed. Outlet control via
	  commands "outlet.n.load.on/off" like in other drivers. Variable
	  outlet.n.staus now only for reading.  Some code changes in
	  outlet.n.shutdown.return command -  now supporting more than 3
	  outlets (up to 9).  Add descriptions to new and some old variables
	  and commands.  Add "bypass.start" command, for enabling bypass. For
	  returning in On-Line mode exec "load.on" command.  Additional
	  checks of UPS vars. Now add zero var only if it could be changed.

2015-04-01  Arnaud Quette <>

	* drivers/eaton-mib.c: Workaround input.{power,realpower} for Eaton
	  ePDUs  Add variable declarations to handle missing
	  input.{power,realpower} on Eaton ePDUs G2 and G3 1phase. On 3phase,
	  these variables point at SNMP OIDs that sum up the 3 phases
	  information. These OIDs should also be present on 1phase, however
	  it's actually not the case. So simply duplicate the L1 declaration

2015-03-31  Arnaud Quette <>

	* drivers/powerware-mib.c: Implement battery.charger.status for Eaton
	  SNMP  This new official variable now replaces the historic
	  'vendor.specific.abmstatus', as per other similar implementations
	  (in usbhid-ups and bcmxcp drivers)

2015-03-27  Arnaud Quette <>

	* drivers/mge-hid.c: Implement Eaton ABM support for USB/HID units
	  Add support for Eaton Advanced Battery Monitoring, for USB/HID
	  units. Information are provided through the new
	  battery.charger.status. For now, at least, when ABM is enabled, the
	  historic CHRG and DISCHRG flags are not published anymore in

2015-03-26  Stuart Henderson <>

	* data/, docs/man/snmp-ups.txt, docs/snmp-
	  subdrivers.txt, drivers/, drivers/huawei-mib.c, drivers
	  /huawei-mib.h, drivers/snmp-ups.c: snmp-ups: new subdriver for
	  Huawei  "Hi, the [commit] below adds a new subdriver for snmp-ups
	  to support Huawei UPS, based on an observed walk from a UPS5000-E
	  with a few bits filled in from the MIBs (copy at"

2015-03-25  Daniele Pezzini <>

	* drivers/nutdrv_qx_voltronic.c: nutdrv_qx: add support in
	  'voltronic' subdriver for P13 protocol

2015-03-24  Arnaud Quette <>

	* drivers/mge-hid.c: Complementary Energy Saving data for Eaton USB
	  devices  Add a 2nd HID path for battery.energysave.delay. Depending
	  on the exact device model, different implementations may be used

2015-03-22  Daniele Pezzini <>

	* NEWS: nutdrv_qx: update NEWS about new 'fuji' USB subdriver

2015-03-21  Daniele Pezzini <>

	* drivers/nutdrv_qx.c, drivers/nutdrv_qx.h: nutdrv_qx: typedef
	  testing_t only if TESTING is #defined  First reported by GitHub
	  user @nickma82
	* docs/man/nutdrv_qx.txt, docs/nutdrv_qx-subdrivers.txt: nutdrv_qx:
	  document 'voltronic-qs-hex' subdriver in man pages
	* 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: -
	  /nut-upsdev/2015-March/006896.html -

2015-03-11  Arnaud Quette <>

	* data/cmdvartab, docs/nut-names.txt: Add some new variable names,
	  related to ePDUs  Add new variables names, related to ePDUs, such
	  as input.*.load, input.*.realpower and input.*.power
	* drivers/eaton-mib.c: Minor update to comments

2015-02-04  Arnaud Quette <>

	* drivers/eaton-mib.c: Fix outlet.{power,realpower} data mapping
	  According to the new mapping using the input collection, these two
	  data mapping were targeting at the wrong OIDs.

2015-02-03  Arnaud Quette <>

	* drivers/eaton-mib.c: Fix and complete a bit Eaton ePDUs support
	  Add some new data mapping to improve support for Eaton ePDUs. This
	  commit includes some new NUT data names that requires approval
	  before being merged

2015-03-19  Arnaud Quette <>

	* data/cmdvartab, docs/nut-names.txt, drivers/mge-hid.c: Add more
	  Energy Saving features for Eaton USB devices  Add two new Energy
	  Saving features: - battery.energysave.delay: to configure the delay
	  before switching off the UPS if running on battery and load level
	  low (in minutes) - battery.energysave.realpower: to switch off the
	  UPS if running on battery and power consumption on UPS output is
	  lower than this value (expressed in Watts). Note that documentation
	  in nut-names.txt and cmdvartab was limited to difference with an
	  upcoming branch merge, that will add the others
	* drivers/mge-hid.c: Align Energy Saving variable names  Change
	  ups.load.energysave to battery.energysave.load, to be coherent with
	  the latest commit made in the bcmxcp driver

2015-03-10  Arnaud Quette <>

	* data/cmdvartab, drivers/mge-hid.c: Add a new EnergySaving threshold
	  for Eaton UPSs  Add 'ups.load.energysave' parameter, to enable
	  energy saving when the power consumption on the UPS output drops
	  below this value (in percent). This new variable however requires
	  to go through the NUT RFC process to get approved

2015-03-19  Arnaud Quette <>

	* tools/ Also distribute helper script

2015-03-18  Daniele Pezzini <>

	* data/ HCL: EUROCASE EA200N 2000VA supported by
	  nutdrv_qx  Protocol: 'megatec' USB subdriver: 'fuji'  Reference: ht
	* drivers/nutdrv_qx_bestups.c, drivers/nutdrv_qx_blazer-common.c,
	  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: remove redundancy in blazer-common-dependent subdrivers
	  Since main nutdrv_qx driver already sets an alarm when FSD arises
	  (see nutdrv_qx.c>ups_alarm_set()), there is no need to do so in the
	  various subdrivers. So, in order to prevent a duplicated alarm
	  message, remove all unneeded code from the affected subdrivers (all
	  the ones that depend on nutdrv_qx_blazer-common).

2015-03-17  Daniele Pezzini <>

	* data/ HCL: update Mecer ME-1000-WTU (supported by
	  nutdrv_qx)  Tested by @sliverc (Oliver Sauder) on NUT 2.7.1

2015-03-16  Daniele Pezzini <>

	* docs/man/nutdrv_qx.txt: nutdrv_qx: document USB subdrivers'
	* drivers/nutdrv_qx.c: nutdrv_qx: add workaround in 'fuji' subdriver
	  to support all shutdown.returns  As 'fuji' subdriver discards all
	  the commands of more than 3 characters, in order to support 'SnRm'
	  shutdown.returns (and hence the standard 'S.5R0003' shutdown.return
	  with DEFAULT_{ON,OFF}DELAYs) map 'SnRm' shutdown.returns to the
	  corresponding 'Sn' commands, meanwhile ignoring ups.delay.start and
	  making the UPS turn on the load as soon as power is back.
	* drivers/nutdrv_qx.c: nutdrv_qx: fix command handling in 'fuji'
	  subdriver  'fuji' subdriver supported devices only allow one 8
	  bytes interrupt as a command/query: make the subdriver discard (and
	  echo back) all the too long commands.

2014-11-08  Daniele Pezzini <>

	* docs/man/nutdrv_qx.txt: nutdrv_qx: update man for the new 'fabula'
	  and 'fuji' USB subdrivers

2014-06-26  Daniele Pezzini <>

	* drivers/nutdrv_qx.c: nutdrv_qx: add new 'fuji' USB subdriver  Add a
	  new USB subdriver ('fuji') to support models manufactured by Fuji
	  (and others) and accompained by UPSmart2000I software.

2015-03-15  Charles Lepple <>

	* docs/developers.txt, docs/new-drivers.txt: doc: document build
	  dependencies, etc.  Closes:
	* docs/nutdrv_qx-subdrivers.txt: doc: fold a few long preformatted
	  lines in nutdrv_qx developer guide
	* docs/FAQ.txt: docs: FAQ update  This addresses several issues: * *  and  Closes:
	* docs/man/ docs/man: provide additional detail for
	  missing asciidoc/a2x error
	* configure: indicate required version of
	  Asciidoc/A2X/dblatex  Still doesn't address data-only packages like
	  docbook-xsl, so leaving this issue open.  Reference:
	* docs/, docs/man/ Pass --nonet to xsltproc
	  This prevents xsltproc from downloading DocBook XSL files for each
	  step in the documentation build process.  Reference:  Still need to
	  document what to do if the build fails.

2015-03-10  Arnaud Quette <>

	* docs/documentation.txt: Reference DDL on the Documentation page
	  Add a reference to the NUT Devices Dumps Library (DDL) on the
	  Documentation page, both for the website and the distributed
	  documentation. There are separate references, to distinguish the
	  DDL interest from a user and a developer point of view

2015-03-06  Arnaud Quette <>

	* tools/ First stab at a helper script to generate
	  device dumps  This preliminary version only generates .dev (static)
	  dump files. However, a merge with, which generates
	  .seq files (dynamic simulation) is to be considered, along with an
	  improved version for the newer .nds format

2015-02-24  Charles Lepple <>

	* data/ HCL: CPS Value 1500ELCD-RU @ 2.6.3  Source:
	* data/ HCL: JAWAN JW-UPSLC02 with blazer_usb @ 2.7.2

2015-02-22  Charles Lepple <>

	* scripts/python/app/NUT-Monitor, scripts/python/app/
	  NUT-Monitor: updated version to 1.3.1

2015-02-14  Charles Lepple <>


2015-02-14  Daniele Pezzini <>

	* docs/man/nutdrv_qx.txt: nutdrv_qx: specify 'bestups' ranges in man

2015-01-03  Daniele Pezzini <>

	* drivers/nutdrv_qx_bestups.c: nutdrv_qx: bestups - add support for
	  'M' query

2014-11-02  Daniele Pezzini <>

	* docs/man/nutdrv_qx.txt, docs/nutdrv_qx-subdrivers.txt: nutdrv_qx:
	  update man pages for new 'bestups' subdriver
	* drivers/, drivers/nutdrv_qx.c,
	  drivers/nutdrv_qx_bestups.c, drivers/nutdrv_qx_bestups.h:
	  nutdrv_qx: add BestUPS subdriver (protocol=bestups)  A subdriver
	  using Best Power/Sola Australia protocol as described in Based also on
	  bestups.c and meant to eventually replace it.

2015-02-14  Michael Fincham <>

	* scripts/python/app/NUT-Monitor: Correct unsafe permissions on
	  ~/.nut-monitor (Debian #777706)  fix-permissions-on-start.debdiff

2015-02-14  Michal Soltys <>

	* drivers/apcsmart.c: apcsmart: fix SEGV in apc_getcaps()  ups ...

2015-02-13  Michal Soltys <>

	* drivers/apcsmart.c, drivers/apcsmart.h: apcsmart: fix command set
	  parsing for protocol version 4  The issue was discovered with
	  Smart-UPS RT 10000 XL by surr, see  When protocol
	  version is 4, command set query returns string with additional
	  section after another '.' .  This patch updates the code to handle
	  such string as well.

2015-02-10  Charles Lepple <>

	* bump version to for snapshots
	* scripts/upower/95-upower-hid.rules: upower: regenerate for Powercom
	  PID 0001 (PR #121)
	* add bug report URL  Should be
	  compatible with Autoconf 2.59 and newer.

2015-02-04  Arnaud Quette <>

	* drivers/netvision-mib.c: Improve support for on-battery detection
	  Add support for upsAlarmOnBattery OID, to better detect on-battery
	  events (reported by Henning Fehrmann)
	* drivers/libhid.c, drivers/libhid.h: Fix compilation warning related
	  to sign comparison

2015-01-31  Ryan Underwood <>

	* drivers/apc-hid.c, scripts/upower/95-upower-hid.rules: Add a
	  product ID for APC AP9584 USB kit.  Resolves

2015-01-12  Charles Lepple <>

	* scripts/upower/95-upower-hid.rules: upower: regenerate rules file
	  for OpenUPS PID 0xd005
	* Add systemd unit dir fix for 'make distcheck'

2015-01-11  Sergey Kvachonok <>

	* Undo ${systemdsystemunitdir} mangling.  Running sed
	  's/\/lib/\${libdir}/' destroys any ${systemdsystemunitdir} values
	  that don't start with '/lib' e.g. '/usr/lib64/systemd/system'
	  becomes '/usr/usr/lib6464/systemd/system'.  If a local installation
	  prefix is needed use appropriately prefixed --with-
	  systemdsystemunitdir='' parameter instead.

2015-01-02  Charles Lepple <>

	* docs/cables.txt, docs/config-notes.txt, docs/configure.txt,
	  docs/features.txt, docs/history.txt, docs/man/nutdrv_qx.txt, docs
	  /nut-names.txt, docs/scheduling.txt, docs/security.txt: docs: typo

2015-01-01  Charles Lepple <>

	* docs/cables.txt: docs: MGE NMC pinout  Closes
	* docs/cables.txt: docs: Best Power cable pinout  Closes
	* INSTALL.nut: docs: clarify group ownership of directory in
	  INSTALL.nut  Closes
	* docs/man/dummy-ups.txt: docs: dummy-ups repeater mode requires `@`
	  in port name  Also reworded parts of the man page.

2014-12-17  bsalvador <>

	* drivers/solis.c: Update solis.c to force ScanReceivePack()

2014-12-12  Andy Juniper <>

	* clients/upslog.c, docs/man/upslog.txt: upslog: break out of sleep
	  on SIGUSR1 and log immediately  Reference:

2014-11-25  Charles Lepple <>

	* data/ HCL: additional NHS models

2014-11-17  Charles Lepple <>

	* data/ HCL: NHS Sistemas de Energia: Expert C
	  Isolador series  Source:

2014-11-07  Arnaud Quette <>

	* scripts/subdriver/ Various minor fixes to the
	  SNMP subdriver generator

2014-11-06  Charles Lepple <>

	* drivers/openups-hid.c: openups-hid: Fix scale factors for 0xd005
	  (0.4)  Previous commit had extra scale factors applied.
	* drivers/openups-hid.c, drivers/openups-hid.h: openups-hid: voltage
	  scale factors based on product IDs
	* drivers/openups-hid.c: openups-hid: remove a const; this will
	  require more thought  The USB matching routines should have their
	  parameters marked as "const" to indicate that they do not modify
	  the matching tables, but that will require more invasive changes.
	  Roll this back for now.

2014-11-05  Charles Lepple <>

	* drivers/openups-hid.c: openups-hid: const and float/double fixups
	* drivers/openups-hid.c: openups-hid: add USB ProductID d005 for

2014-11-05  Arnaud Quette <>

	* Store the git start point as a variable  For
	  ChangeLog, we now store the git start point (older reference) in a
	  separate variable, to make the process more clear

2014-10-31  Charles Lepple <>

	* docs/download.txt: Update VMware ESXi package link (from René

2014-10-29  Charles Lepple <>

	* scripts/upower/95-upower-hid.rules: upower: Update Belkin and
	  Liebert rules  Follow-up to issue #159.
	* drivers/belkin-hid.c, drivers/liebert-hid.c: usbhid-ups: comments
	  describing Belkin/Liebert/Phoenixtec situation  Follow-up to issue
	* data/ HCL: Rucelf UPOII-3000-96-EL supported by
	  blazer_ser  Manufacturer:  Closes:

2014-10-28  Elio Parisi <>

	* drivers/riello_usb.c: riello_usb: explicitly claim USB interface

2014-10-20  Elio Parisi <>

	* drivers/riello_usb.c: riello_usb: timeouts and error handling
	  (0.03)  Small changes in riello_usb.c that solved some problem with
	  managing transmission errors between the Raspberry Pi and Riello
	  ups (thanks to Fredrik berg): introducing timeout in reading ups
	  data in cypress_command; enhanced handling error codes
	* drivers/riello_ser.c: riello_ser: enhanced handling error codes

2014-10-20  Charles Lepple <>

	* docs/.gitignore: docs: docinfo.xml is now auto-generated

2014-10-20  Nik Soggia <>

	* drivers/ missing -lm in drivers/  Both
	  bcmxcp and bcmxcp_usb use ldexp(), so both need `-lm`.

2014-10-10  Paul Chavent <>

	* drivers/belkin-hid.c: drivers : add Liebert GXT3 device.
	* drivers/main.c: drivers : fix possible memory leak.  In arguments
	  parsing, if user option is passed.

2014-09-30  Michal Soltys <>

	* drivers/apcsmart.c: apcsmart: increase passes in setvar_enum()
	  Current 6 is not enough for bigger units - especially if we swap to
	  the value directly preceeding the current setting.

2014-09-27  Daniele Pezzini <>

	*, docs/, docs/docinfo.xml,
	  docs/ docs: add NUT version number/date in PDF
	  documents  Reference:
	* docs/chunked.xsl, docs/common.xsl, docs/xhtml.xsl: docs: move
	  DocBook options common to html stylesheets to common.xsl
	* docs/, docs/common.xsl: docs: add NUT version
	  number/date into footer of HTML pages  Reference:

2014-09-28  Arnaud Quette <>

	* docs/configure.txt: Clarify a bit more Avahi build requirements
	* tools/nut-scanner/ Don't reference subdir-object with
	  $(top_srcdir)  Replace references to objects in separate
	  directories that were using $(top_srcdir) by the expanded version
	  '../../'. The variable was otherwise part of the path, resulting in
	  build failures. This completes commit f8abb9b  Closes
	* Explicitly use subdir-objects in automake init
	  Closes networkupstools/nut#155

2014-09-27  Arnaud Quette <>

	*, m4/nut_check_asciidoc.m4: Also check for source-
	  highlight at configure time  source-highlight is used for
	  documentation generation. It's however optional, so we just check
	  for the sake of completion

2014-09-27  Arnaud Quette <>

	* docs/man/, docs/man/asciidoc.conf: Add NUT version
	  number into footer of HTML man pages  Override AsciiDoc default for
	  footer-txt to include NUT version number into footer of HTML man
	  pages. This commit addresses the 2nd point of

2014-09-26  Charles Lepple <>

	* drivers/tripplite_usb.c: tripplite_usb: set input.voltage.nominal
	  back to 230V (0.30)  Keeps the input.voltage and output.voltage
	  scaling from 0.28  Discussion:

2014-09-26  Arnaud Quette <>

	* conf/, docs/man/nut.conf.txt,
	  docs/man/upsmon.conf.txt, docs/packager-guide.txt: Replace outdated
	  references to shutdown.txt  shutdown.txt was merged into config-
	  notes.txt during the AsciiDoc conversion of the whole documentation
	  and website. This content is now available in the docs/config-
	  notes.txt file, section [[UPS_shutdown]] "Configuring automatic
	  shutdowns for low battery events"
	* conf/ Fix default value of POWERDOWNFLAG
	  POWERDOWNFLAG path changed from the hard-coded value /etc/killpower
	  to the build-time generated @CONFPATH@/killpower. This resulted in
	  an unexpected value '/etc/nut/killpower', at least on Debian.
	  (reported by Laurent Bigonville)  Closes networkupstools/nut#74

2014-09-25  Daniele Pezzini <>

	* drivers/nutdrv_qx.c: nutdrv_qx: move to ltrim_m()/rtrim_m()
	* common/common.c, include/common.h: Add ltrim_m()/rtrim_m()
	  functions to trim several chars at the same time  Also, make
	  ltrim() / rtrim() wrappers around ltrim_m() / rtrim_m().
	* common/common.c: Make ltrim() modify the input string  Also, always
	  check string length in both ltrim() and rtrim().  Reference:

2014-09-25  Charles Lepple <>

	* data/ HCL: sort Tripp Lite models by name, then
	  increasing power  I know this doesn't allow the cell merging code
	  to do as much, but this should make it easier to find models.
	* data/ HCL: add Tripp Lite OMNIVSINT800
	  (tripplite_usb)  Source:
	* drivers/tripplite_usb.c: tripplite_usb: scale min/max voltages for
	  SMART protocol (0.29)  Observed in a dump file from driver version
	  0.11. Scale input.voltage.minimum and input.voltage.maximum the
	  same way as other voltages.
	* drivers/tripplite_usb.c: tripplite_usb: fix voltage scaling for
	  240V/1001 (0.28)  Reported by Dave Williams:  The
	  input.voltage and output.voltage scaling for Protocol 1001 did not
	  factor in the input_voltage_scaled value.

2014-09-24  Arnaud Quette <>

	* scripts/python/app/nut-monitor.appdata.xml: Fix compliance of NUT-
	  Monitor FreeDesktop AppData file  Following the upstream update (by
	  David Goncalves), update the screenshots width and height to
	  conform to AppData specification:  Closes

2014-05-18  Charles Lepple <>

	* drivers/genericups.c: genericups: log cable type overrides as they
	  are parsed  Fixes networkupstools/nut#28  Better than nothing, but
	  without a unit to test against, I don't want to make any more
	  intrusive changes.

2014-09-17  Arnaud Quette <>

	* docs/nut-qa.txt: Minor update and completion  Use the new Debian
	  package tracker URL and add Redhat / Fedora bug tracker

2014-09-15  Daniele Pezzini <>

	* data/ HCL: add devices supported by nutdrv_qx  -
	  Fideltronik LUPUS 500 USB Protocol: 'megatec' USB subdriver:
	  'fabula' Reference:
	  upsuser/2014-June/009059.html  - FTUPS FT-1000BS(T) / Voltronic
	  Power Apex 1KVA Protocol: 'voltronic-qs-hex' USB devices -> USB
	  subdriver: 'cypress'  - FTUPS FT-1000BS / Voltronic Power Imperial
	  1KVA Protocol: 'voltronic-qs' USB devices -> USB subdriver:

2014-07-11  Daniele Pezzini <>

	* drivers/nutdrv_qx.c: nutdrv_qx: improve the USB matching procedure
	  Consider also the iManufacturer/iProduct strings when checking
	  devices (if subdriver is not specified) to assign the right
	  subdriver in case the VID:PID couple is not specific enough.

2014-06-30  Daniele Pezzini <>

	* drivers/nutdrv_qx.c: nutdrv_qx: add new 'fabula' USB subdriver  Add
	  a new USB subdriver ('fabula') to support models
	  manufactured/rebranded by Fideltronik and accompained by
	  UPSilon2000 software.  Reference:

2014-09-03  Daniele Pezzini <>

	* drivers/, drivers/nutdrv_qx.c, drivers
	  /nutdrv_qx_voltronic-qs-hex.c, drivers/nutdrv_qx_voltronic-qs-
	  hex.h: nutdrv_qx: add Voltronic-QS-Hex subdriver (protocol
	  =voltronic-qs-hex)  A subdriver using a protocol, specific to UPSes
	  manufactured by Voltronic Power, partially Hex-encoded (e.g. 'QS'
	  reply) and supporting some megatec commands.
	* docs/nutdrv_qx-subdrivers.txt: nutdrv_qx: update docs about added
	  support for more complex UPS answers
	* drivers/nutdrv_qx.c, drivers/nutdrv_qx.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.c,
	  drivers/nutdrv_qx_voltronic.c, drivers/nutdrv_qx_zinto.c:
	  nutdrv_qx: add basic support for more complex UPS answers  Add
	  support (also in 'TESTING' mode) for '\0' chars in raw UPS answers
	  and the ability to preprocess answers before anything else (e.g.:
	  for CRC, decoding, ...). Increase verbosity of USB subdrivers and
	  serial communication. Always print also the return code when
	  dealing with an error. Update all subdrivers accordingly, bump

2014-09-08  Charles Lepple <>

	* docs/documentation.txt: docs: Add link to Roger Price's openSUSE

2014-09-04  Daniele Pezzini <>

	* drivers/nutdrv_qx.c: nutdrv_qx: prevent a vicious loop when
	  unexpected answers happen  If a 'QX_FLAG_QUICK_POLL' item gets an
	  unexpected (non-empty) answer and, after returning from
	  'qx_ups_walk()', it is not followed by at least one item using a
	  different 'command', the driver will loop endlessly using the same
	  'broken' answer instead of trying to get a new one from the UPS. To
	  solve this issue, make sure to have an empty 'previous_item' when
	  starting 'qx_ups_walk()'. Also, bail out of 'qx_ups_walk()' when a
	  'QX_FLAG_QUICK_POLL' item can't be preprocessed properly through

2014-09-04  Charles Lepple <>

	* docs/man/asem.txt: docs: recommend I2C bus name for asem driver

2014-09-03  Arnaud Quette <>

	* docs/man/nut-scanner.txt: Fix typo error in nut-scanner doc  The
	  example network range scanned when using is actually to*7* not (i.e. not .128) as previously
	  stated (reported by Evgeny 'Jim' Klimov)  Closes

2014-09-02  Charles Lepple <>

	* data/, drivers/belkin-hid.c: HCL: Belkin Regulator
	  PRO-USB 050d:0f51 (0.17)

2014-08-22  Charles Lepple <>

	* data/ HCL: Mecer ME-100-WTU with blazer_usb  USB
	  VID:PID = 0665:5161  Tested by @silvec (Oliver Sauder) on NUT 2.6.3

2014-08-19  Charles Lepple <>

	* docs/documentation.txt: docs: update links for two articles

2014-08-17  Charles Lepple <>

	* tools/ nut-usbinfo: fix FreeBSD devd.conf to use
	* scripts/upower/95-upower-hid.rules: 95-upower-hid.rules: updated by  URL updated in previous commit.
	* tools/ nut-usbinfo: change link from Alioth SVN to
	* scripts/udev/.gitignore: udev: ignore 62-nut-usbups.rules  Follow-
	  up commit to networkupstools/nut#140

2014-08-17  Yann E. MORIN <>

	* conf/ conf/: fix parallel install  Do not reference the
	  upsmon.conf.sample twice, otherwise install, with a high number of
	  make jobs, may fail, like so:
	  s/256/2567e13cd5bc702bc3a38a1d6fc8e34022cc7db5/build-end.log   ---
	  This is not a rare occurence, as my testing managed to trigger the
	  issue in about 1 test out of 10 on average, on a not-so-fast

2014-08-16  Charles Lepple <>

	* tools/ nut-usbinfo: ignore *.orig files

2014-08-14  milien Kia <>

	*, docs/man/, m4/nut_check_asciidoc.m4: Test
	  presence of xmllint for manpages doc generation.
	*, docs/man/, m4/nut_check_asciidoc.m4: Test
	  presence of xsltproc for manpages doc generation.

2014-08-04  Charles Lepple <>

	* docs/man/ups.conf.txt, drivers/libusb.c: Remove redundant
	  usb_set_altinterface(), unless user requests it  Adds flag/value to
	  USB driver options.  Closes networkupstools/nut#138

2014-08-09  Charles Lepple <>

	* drivers/blazer_usb.c, drivers/libusb.c, drivers/nutdrv_qx.c,
	  drivers/tripplite_usb.c, drivers/usb-common.h, drivers/usbhid-
	  ups.c: libusb.c: consolidate USB-related addvar() calls
	* drivers/cps-hid.c: usbhid-ups (CPS): determine battery.voltage
	  scale factor at runtime  If the battery.voltage reading is greater
	  than 1.4x battery.voltage.nominal, apply a scale factor of 2/3 to
	  bring the voltage back in line.  Closes networkupstools/nut#142

2014-08-08  Arnaud Quette <>

	* docs/man/nut-scanner.txt: Fix typo error  Fix a typo error on "-B"
	  option (reported by Evgeny 'Jim' Klimov)

2014-08-05  Arnaud Quette <>

	* scripts/python/ Distribute FreeDesktop AppData file for
	  NUT Monitor  FreeDesktop AppData file for NUT Monitor was not
	  distributed, waiting for some approval

2014-08-01  Arnaud Quette <>

	* scripts/udev/, scripts/udev/README: Fix USB permission
	  issues related to Linux / udev  Rename udev rules file to 62-nut-
	  usbups.rules, to prevent NUT USB privileges from being overwritten
	  Closes #140
	* docs/cables.txt: Fix typo error on Eaton / MGE USB-RJ45 cable

2014-07-14  Charles Lepple <>

	* scripts/Aix/.gitignore: Ignore generated AIX spec file

2014-07-14  Giuseppe Corbelli <>

	* AUTHORS, docs/man/asem.txt: asem: additional documentation

2014-07-13  Charles Lepple <>

	* docs/man/upscli_get.txt: upscli_get(): mention SIGPIPE handling
	  Closes: #132
	* data/ HCL: distinguish between Tripp Lite old and
	  new protocol 3005

2014-07-13  Arnaud Quette <>

	* scripts/python/app/nut-monitor.appdata.xml: Complete FreeDesktop
	  AppData file for NUT Monitor  As per Richard Hughes comments, in
	  #127, complete the description field

2014-07-12  Arnaud Quette <>

	* scripts/Aix/ Minor adjustments as per Github
	* docs/configure.txt: Add missing documentation for configure option
	  The new asem driver introduced --with-linux_i2c, for which
	  documentation was missing in configure documentation

2014-07-11  Charles Lepple <>

	* NEWS, data/, docs/man/, docs/man/asem.txt,
	  docs/man/index.txt: asem: documentation

2014-07-07  Giuseppe Corbelli <>

	*, data/, drivers/,
	  drivers/asem.c: Support for ASEM UPS on Linux/i2c  Patch from
	  root.php?  Builds on
	  Ubuntu 12.10 and 14.04; requires libi2c-dev

2014-07-05  Charles Lepple <>

	* drivers/tripplite_usb.c: tripplite_usb: fix typos in bin2d() and
	  control_outlet() (0.27)
	* drivers/tripplite_usb.c: tripplite_usb: control_outlet() for
	  protocol 3005 (0.26)
	* drivers/tripplite_usb.c: tripplite_usb: Additional 3005 protocol
	  support (0.25)
	* drivers/tripplite_usb.c: tripplite_usb: basic support for 3005
	  binary protocol (0.24)  Based on logs from SMART500RT1U

2014-07-04  vesnn <>

	* drivers/powercom.c: Update powercom.c  Fix Powercom Imperial
	  initialization for models since 2009 with USB interface.

2014-06-23  Arnaud Quette <>

	* scripts/python/app/nut-monitor.appdata.xml: Create a FreeDesktop
	  AppData file for NUT Monitor  appData files provide to users long
	  descriptions, screenshots and other useful information on
	  application. This will mainly serve for Software Center like

2014-06-19  Charles Lepple <>

	* data/ HCL: Lacerda New Orion 800VA with blazer_usb

2014-06-17  Charles Lepple <>

	* data/ HCL: add APC-Microsol entry for solis
	* drivers/solis.c: solis: silence clang warnings about extra
	  parentheses  Since we're in the neighborhood (#133)...  Typically,
	  the idiom is either:  if ( a == b )  for equality checking, or:  if
	  ( ( a = b ) )  for assignment with a comparison.
	* drivers/solis.c, drivers/solis.h: solis: eliminate fixed-length
	  string buffer for model name  The new APC model name overflows the
	  buffer. (#133)

2014-06-16  bsalvador <>

	* drivers/solis.c: Update on solis.c to add more support  to Back-UPS
	* drivers/solis.c: Update solis.c to support Microsol-APC Unit.
	  Added support to Back-UPS 1200BR (Microsol-APC) unit.

2014-06-15  Charles Lepple <>

	* docs/man/upscli_get.txt, docs/man/upscli_list_next.txt,
	  docs/man/upscli_list_start.txt: docs: synchronize upscli_*
	  numq/numa with header  There were a few leftover signed int
	  parameters in the man pages, but the headers and implementation use
	  'unsigned int'.  Closes:
	* docs/man/solis.txt: docs: mention APC in Microsol driver man page
	* docs/man/apcsmart.txt: docs: point APC Microsol users from apcsmart
	  to solis  Also make some of the formatting and grammar self-
	* drivers/solis.c: solis: recognize APC BZ1200-BR and BZ2200BI-BR
	  (0.62)  Patch suggested by Bruno Salvador for BZ1200-BR, and also
	  tested by Douglas A. Augusto on BZ2200BI-BR.  Reference: *
	  ups-rs-1200va-600w-bivolt-115-nt.20247/ *

2014-06-08  Arnaud Quette <>

	* scripts/subdriver/ Inline documentation fixes

2014-06-03  george <>

	* scripts/python/module/ Fixed version description.
	* scripts/python/module/ Added author information, bumped
	  version.  According to the semantic versioning scheme
	  (, adding features that do not break backwards
	  compatibility with previous releases means that the minor version
	  number should be incremented.
	* scripts/python/module/ Change format of raise keyword.
	  Fixes PyNUT Python 3 compatibility.
	* scripts/python/module/ PyNUT: Create a custom exception
	  class.  This maintains backwards compatibility, and allows calling
	  programs to use "except PyNUTError" instead of "except Exception"
	  when using PyNUT methods.  See for more
	* scripts/python/module/ Fix error when raising without an
	  Exception.  Raising without a valid exception is invalid:  >>>
	  raise Traceback (most recent call last): File "<stdin>", line 1, in
	  <module> TypeError: exceptions must be old-style classes or derived
	  from BaseException, not NoneType >>> raise Exception Traceback
	  (most recent call last): File "<stdin>", line 1, in <module>
	  Exception  Changing this to "raise Exception" fixes this problem.

2014-06-01  Charles Lepple <>

	* docs/man/tripplite_usb.txt, drivers/tripplite_usb.c: tripplite_usb:
	  last tweaks, for now.  Initialize bv_12V to a dummy value, since
	  gcc can't see that it is used in the union of both conditionals
	  where it is set.  Also, align the documentation with the strange
	  definition of empty used by the Tripp Lite state-of-charge
	* drivers/tripplite_usb.c: tripplite_usb: silence warning (0.23)
	  Pedantic, to be sure, but someone might try the driver with a
	  protocol not listed, and sure enough, bv_12V won't be initialized.
	* docs/man/tripplite_usb.txt, drivers/tripplite_usb.c: tripplite_usb:
	  expose battery_min/_max as variables (0.22)

2014-05-27  Charles Lepple <>

	* data/ HCL: GRAFENTHAL PR-3000-HS supported by snmp-
	  ups  Tested with 2.6.5-3 (0.68) on Windows (IETF MIB 1.4).  Some
	  NUT variables are zero - further testing may be needed.  Reference:

2014-05-23  Charles Lepple <>

	* drivers/tripplite_usb.c: tripplite_usb: use dv/dq charge
	  calculation for all models (0.21)

2014-05-20  Andrew Burdo <>

	* drivers/powercom-hid.c: Add comments for some values.
	* drivers/usbhid-ups.c: Reuse variable.
	* drivers/usbhid-ups.c: Add default case.

2014-05-18  Charles Lepple <>

	* scripts/upower/95-upower-hid.rules: upower: regenerate rules file
	  USB VID:PID = 10af:0004  This dependency graph makes my head spin.
	* version to for snapshots

2014-05-13  Daniele Pezzini <>

	* drivers/compaq-mib.c: compaq-mib: comment out no longer used items
	  As per 31827d5faa86377efb7a92b7aec322cc4c7a275f

2014-05-03  Daniele Pezzini <>

	* docs/download.txt: docs: add Void Linux in download/Binary packages

2014-05-03  Charles Lepple <>

	* docs/ docs: add mge-usb-rj45.jpg to distribution

2014-05-02  Arnaud Quette <>

	* docs/images/cables/mge-usb-rj45.jpg: Add MGE information on USB-
	  RJ45 cable  The illustration matching the previous commit was still
	  needed on the nut repository, and not on the nut-website on
	* docs/cables.txt: Add MGE information on USB-RJ45 cable  These
	  information were provided by MGE years ago, and were waiting for
	  counter testing. Martin De Graaf - Loyer has now fixed this. Note
	  that the matching illustration will be committed on the new nut-
	  website repository

2014-04-29  Andrew Burdo <>

	* drivers/powercom-hid.c, drivers/usbhid-ups.c: Bump versions.
	* data/, docs/man/usbhid-ups.txt: Update documentation.
	* drivers/usbhid-ups.c: Reconnect on interrupt read error.
	* drivers/libhid.c, drivers/libhid.h, drivers/powercom-hid.c, drivers
	  /usbhid-ups.c: Reading from the interrupt pipe implies that you use
	  INPUT flagged objects.
	* drivers/powercom-hid.c: Remove erroneous status.
	* drivers/powercom-hid.c: Comment non-compliant variables.

2014-04-17  Andrew Burdo <>

	* drivers/libhid.c, drivers/libhid.h, drivers/powercom-hid.c, drivers
	  /usbhid-ups.c: Add support for 0d9f:0001 (USB HID, Powercom).

2014-04-17  Arnaud Quette <>

	* NEWS, UPGRADING, Update for release 2.7.2  Complete
	  the release information for NUT 2.7.2

2014-04-17  Stephen J. Butler <>

	* drivers/tripplite-hid.c: Scale for SMART1500LCDT

2014-04-07  Arnaud Quette <>

	* drivers/compaq-mib.c: Fix erroneous status in HP/Compaq SNMP MIB
	  Using the most recent HP firmware (1.76), erroneous on-battery
	  status were reported. Also disable an erroneous low-battery
	  definition (pointing nowhere), while waiting for actual
	  improvements (report and patch from Philippe Andersson ; Closes

2014-04-06  Daniele Pezzini <>

	* drivers/mge-xml.c: mge-xml: fix compile-time warnings, versioning

2014-04-05  Charles Lepple <>

	* data/ HCL: Numeric Digital 800 plus  USB VID:PID =
	  0665:5161  Reference: networkupstools/nut#115 (blazer_usb @ 2.6.4;
	  waiting for confirmation with nutdrv_qx)
	* data/ HCL: Eaton Powerware 3105 supported by
	  bcmxcp_usb  Closes networkupstools/nut#117
	* data/, drivers/belkin-hid.c: usbhid-ups/belkin-hid:
	  add support for Emerson Network Power Liebert PSI 1440  USB VID:PID
	  = 10af:0004

2014-04-05  Arnaud Quette <>

	* drivers/al175.c: Fix data format warnings on all architectures
	  Complete commit 7daa0feb6ed4f1c29bfe14c8e491ba198a4ba643, and
	  actually fix some of the warnings related data format. Also bump
	  al175 driver revision
	* clients/ Update libupsclient library version
	  information  Following the recent export of libcommon functions in
	  libupsclient, update the library version information to 4:0:0

2014-04-04  Arnaud Quette <>

	* drivers/al175.c: Fix data format warnings  Fix a few warnings
	  related data format, in debug code
	* clients/ Add libnutclient library version information
	  Add the missing LDFLAGS for adding version information

2014-03-21  Arnaud Quette <>

	* data/ [HCL] CABAC UPS-1700DV2 supported by
	  blazer_usb  Reported by jammin84  Closes #113
	* clients/, common/ Link libupsclient with
	  libcommon  Fix undefined references related to functions of
	  libcommon. This issue was reported on Debian: (patch from Matthias Klose ; Closes
	  Github issue #73)

2014-03-18  Charles Lepple <>

	* data/ [HCL] Digitus DN-170014 supported by
	  richcomm_usb  Reference:
	  /nut-upsdev/2014-March/006695.html -or-

2014-03-05  Charles Lepple <>

	* UPGRADING: Added note about --enable-option-checking=fatal  Closes
	  #99 (really)

2014-03-05  milien Kia <>

	* scripts/Aix/ Make web source path independant from
	  specific version.
	* scripts/Aix/ Use configure-dependant variables
	  instead of statically defined ones for user and group.
	* Use $target_cpu instead of calling uname to know cpu
	  type. Fix crosscompilation.

2013-06-14  Vaclav Krpec <>

	* scripts/Aix/, scripts/Aix/nut.init: AIX: packaging &
	  init script improvements  (cherry picked from commit

2013-06-12  Vaclav Krpec <>

	* scripts/Aix/nut.init: Fixed client startup detection  (cherry
	  picked from commit 23df5e811cc9008bfa0a37bd174b59890a3760a6)
	* scripts/Aix/ Fixed AIX RPM specfile  (cherry picked
	  from commit 11ba37bf36dcda0398c8c62fab838dd00e54c5db)

2013-06-11  Vaclav Krpec <>

	* scripts/Aix/ Allow libneon-based XML driver &
	  scanning for AIX  (cherry picked from commit

2013-06-10  Vaclav Krpec <>

	* clients/ Fix of AIX-specific parseconf linking bug
	  Added dummy do_upsconf_args to binaries that use libcommon to
	  satisfy the linker. libcommon links libparseconf, which calls
	  do_upsconf_args supplied from above as an implementation-specific
	  routine.  (cherry picked from commit

2013-04-25  Vaclav Krpec <>

	* clients/, clients/upsclient.c,
	  linupsclient: NUT scanning on AIX bugfix  1/ A simmilar bug like in
	  Solaris is in AIX itself---non-blocking connect may return -1 while
	  errno == 0.  Shall be treated as EINPROGRESS. 2/ Linking of on AIX requires libcommon, otherwise scanning for
	  NUT crashes with SIGSEGV on unresolved usplogx  (cherry picked from
	  commit 16177f99bc995852bb86d2183958f24f11993632)

2013-03-13  Vaclav Krpec <>

	* AIX packages: make package does the trick  (cherry
	  picked from commit 1d25bd2868339decace5b3028c834746f2824670)

2013-03-12  Vaclav Krpec <>

	* scripts/Aix/, scripts/Aix/nut.init: AIX packaging:
	  nut-client uninstal bugfix  Packages clean uninstallation
	  (lost/forgotten commit)  (cherry picked from commit

2013-03-08  Vaclav Krpec <>

	* clients/upsclient.c, Solaris/i386: non-blocking
	  connect WA  (cherry picked from commit

2013-03-04  Vaclav Krpec <>

	*,, scripts/Aix/,
	  scripts/Aix/nut.init: AIX packaging  AIX init script and RPM spec.
	  file added  (cherry picked from commit

2014-03-03  Charles Lepple <>

	* data/ HCL: various updates  * Closes
	  upsdev/2013-November/006564.html *
	  * *
	* docs/nut-qa.txt: NUT QA document: updated and reworded
	* docs/nut-qa.txt: NUT QA document: CR->LF
	* docs/FAQ.txt: FAQ: minor updates  Update the bestfortress entry,
	  fix the mythicbeasts URL, and reword a few entries.

2014-02-13  Charles Lepple <>

	* docs/man/upsimage.cgi.txt: upsimage.cgi(8): update GD homepage

2014-03-03  milien Kia <>

	* drivers/nutdrv_qx.h: Detect if TRUE (and FALSE) are already defined
	  and define bool_t accordingly.

2014-02-27  Arnaud Quette <>

	* UPGRADING: Add a note on Hardware Abstraction Layer removal
	* INSTALL.nut,,, docs/,
	  docs/configure.txt, docs/developers.txt, docs/features.txt,
	  docs/macros.txt, docs/new-drivers.txt, docs/nut-hal.txt, docs
	  /packager-guide.txt, drivers/, drivers/dstate-hal.c,
	  drivers/dstate-hal.h, drivers/main-hal.c, drivers/main-hal.h,
	  m4/nut_check_libhal.m4, m4/nut_config_libhal.m4: Remove the
	  remaining HAL files and references  Remove the remaining build
	  rules, source code and documentation related to the FreeDesktop
	  Hardware Abstraction Layer (HAL) support. For the record, with this
	  HAL implementation, NUT drivers were sending data over DBus
	  (Closes: #99)

2014-02-24  Charles Lepple <>

	* drivers/blazer_usb.c, drivers/libusb.c, drivers/nutdrv_qx.c,
	  drivers/riello_usb.c, drivers/usbhid-ups.c: OpenBSD ports tree
	  patches for EPROTO  Closes networkupstools/nut#44

2014-02-26  Arnaud Quette <>

	* scripts/, scripts/README, scripts/hal/.gitignore,
	  scripts/hal/, tools/ Remove the
	  generation of HAL support files  Remove the code supporting the
	  generation of HAL FDI file. This is the first commit of a set to
	  address Github issue #99
	* drivers/snmp-ups.c: Fix snmp-ups segmentation fault  A basic sanity
	  check was missing in the core code of snmp-ups, causing a driver
	  crash under some specific circumstances, at driver initialisation
	  time. Hence, this does not affect production systems
	* README, UPGRADING, docs/FAQ.txt, docs/config-notes.txt,
	  drivers/, scripts/Solaris/,
	  scripts/Solaris/, scripts/Solaris/,
	  scripts/systemd/ Closes #96: Install upsdrvctl to
	  $prefix/sbin  Install upsdrvctl to $prefix/sbin rather than
	  $driverexec. upsdrvctl has been historically standing beside the
	  drivers. It now resides in the system binaries ($prefix/sbin)

2014-02-25  Arnaud Quette <>

	* drivers/mge-hid.c: Add improved support for Eaton 5P  Add the
	  necessary hooks to improve support for Eaton 5P range. This
	  includes post-processing of the model name, along with handling
	  rules for battery voltage (actual and nominal)

2014-02-19  Daniele Pezzini <>

	* docs/, docs/chunked.xsl, docs/common.xsl,
	  docs/xhtml.xsl: docs: prevent smartphones from being too smart
	  (docbook)  Add HTML <meta> tag to not auto-create telephone number
	  links on mobile browsers also in docbook processed documents.
	  Reference:  XSL
	  files source: -
	  /docbook-xsl/common.xsl -
	  xsl/xhtml.xsl -
	* docs/man/asciidoc.conf: docs: prevent smartphones from being too
	  smart  Add HTML <meta> tag to not auto-create telephone number
	  links on mobile browsers.  Reference:

2014-02-15  Arnaud Quette <>

	* docs/acknowledgements.txt: Update NUT team membership for Daniele
	  Pezzini  Daniele Pezzini is a now a NUT senior developer

2014-02-14  Arnaud Quette <>

	* docs/acknowledgements.txt, docs/website/news.txt: Formalizing the
	  end of the relationship with Eaton  The situation of the
	  relationship with Eaton has evolved, and since 2011 Eaton does not
	  support NUT anymore. This may still evolve in the future. But for
	  now, please do not consider anymore that buying Eaton products will
	  provide you with official support from Eaton, or a better level of
	  device support in NUT.

2014-02-14  Charles Lepple <>

	* devd: use staging directory for distcheck
	* drivers/, drivers/snmp-ups.c, drivers/xppc-mib.c,
	  drivers/xppc-mib.h: snmp-ups: add XPPC-MIB for Tripp Lite
	* scripts/subdriver/
	  documentation updates

2014-02-10  Charles Lepple <>

	* scripts/subdriver/ fix
	  option typos  * Use '-M' for MIB directories, to match snmpwalk and
	  the help text. * Add space before '-c' in snmpwalk (not sure how
	  this worked before)
	* scripts/ cosmetic: Indent scripts/
	  EXTRA_DIST continuation lines
	* scripts/ Add to distribution

2014-02-14  Arnaud Quette <>

	* docs/acknowledgements.txt: Update NUT team membership for
	  Frédéric Bohe  Frederic Bohe, NUT senior developer and Eaton
	  contractor from 2009 to 2013, is now a retired member. Thanks for
	  all the hard work on the Windows port, nut-scanner, Unix packaging,
	  support, ... Also update the developers membership page, from
	  Alioth to GitHub

2013-02-24  Charles Lepple <>

	*,, scripts/,
	  scripts/devd/.gitignore, scripts/devd/,
	  scripts/devd/README, tools/ FreeBSD: generate
	  devd.conf files for USB UPSes  This adds a --with-devd-dir=PATH
	  option to ./configure, which defaults to /usr/local/etc/devd (or
	  /etc/devd, whichever is found first).  Unlike udev, there does not
	  seem to be a way to re-trigger rules at runtime. This means you
	  will likely need to unplug and replug your UPS after installing the
	  new nut-usb.conf file.

2014-02-13  Arnaud Quette <>

	* .gitignore, server/.gitignore: Minor completion to gitignore files
	  Add a few more exotic targets, related to debug or official

2014-02-11  Daniele Pezzini <>

	* .gitignore, clients/.gitignore, common/.gitignore, conf/.gitignore,
	  data/.gitignore, data/html/.gitignore, docs/.gitignore,
	  docs/man/.gitignore, docs/website/.gitignore,
	  docs/website/scripts/.gitignore, drivers/.gitignore,
	  include/.gitignore, lib/.gitignore, m4/.gitignore,
	  scripts/.gitignore, scripts/HP-UX/.gitignore,
	  scripts/Solaris/.gitignore, scripts/augeas/.gitignore,
	  scripts/avahi/.gitignore, scripts/hal/.gitignore,
	  scripts/hotplug/.gitignore, scripts/python/.gitignore,
	  scripts/systemd/.gitignore, scripts/udev/.gitignore,
	  scripts/ufw/.gitignore, server/.gitignore, tests/.gitignore,
	  tools/.gitignore, tools/nut-scanner/.gitignore: Simplify gitignore
	  files  Remove redundancies and old/svn things. Limit the scope
	  wherever it makes sense. Ignore all cscope files and test logs.
	  Make ignoring generated files easier to maintain.

2014-02-11  Charles Lepple <>

	* drivers/libshut.c: libshut: partially revert PnP/RTS change
	  Reported by Baruch Even. It is unclear how this will work after
	  running nut-scanner, but it is more important to keep the drivers
	  working.  Reference: 65db105 /
	  2013-09-24T08:18:00Z!  Closes:

2014-02-09  Daniele Pezzini <>

	* docs/man/nutdrv_qx.txt: nutdrv_qx: update manpage for the newly
	  supported Voltronic Power P98 units
	* drivers/nutdrv_qx.c, drivers/nutdrv_qx_mecer.c,
	  drivers/nutdrv_qx_mecer.h: nutdrv_qx: improve support for
	  '(ACK/(NAK' and Voltronic Power P98 UPSes  In 'mecer' subdriver's
	  claim function try to get protocol (QPI, for Voltronic Power
	  devices) used by the UPS: - supported devices are Voltronic Power's
	  P98 units - if the UPS doesn't support the QPI command, use its
	  reply to identify whether it uses '(ACK\r'/'(NAK\r' replies  This
	  way we can catch '(ACK/(NAK' devices, while previously the 'mecer'
	  subdriver was 'hidden' by the 'megatec' (echo back/'ACK/NAK') one.
	  Plus Q1 units with 'ACK'/'NAK' replies or echoing back not
	  supported and rejected commands are no longer wrongly 'claimed' by
	  the 'mecer' subdriver.

2014-02-03  Daniele Pezzini <>

	* docs/.gitignore, docs/, docs/documentation.txt: docs:
	  build PDF also for cables.txt

2014-02-02  Daniele Pezzini <>

	*,, docs/.gitignore, docs/,
	  docs/man/.gitignore, docs/man/, docs/stable-hcl.txt,
	  docs/user-manual.txt, docs/website/.gitignore,
	  docs/website/, docs/website/css/ie-overrides.css,
	  docs/website/css/xhtml11-quirks.css, docs/website/css/xhtml11.css,
	  docs/website/faviconut.ico, docs/website/faviconut.png,
	  docs/website/news.txt, docs/website/old-news.txt,
	  docs/website/projects.txt, docs/website/scripts/.gitignore,
	  docs/website/scripts/filter_png.js, docs/website/scripts/jquery.js,
	  docs/website/scripts/nut_jquery.js, docs/website/scripts/toc.js,
	  docs/website/ups-protocols.txt, docs/website/web-layout.conf,
	  docs/website/website.txt, tools/, tools/
	  website: move to a standalone website

2014-01-18  Daniele Pezzini <>

	* docs/net-protocol.txt: docs: fix a couple of asciidoc errors in
	* server/netlist.c: net-protocol: fix closing line of LIST RANGE

2014-01-16  Charles Lepple <>

	* drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: fix permissions-based
	  crash, and enable vendor variable (1.1)

2014-01-13  Charles Lepple <>

	* .gitignore: Ignore cscope.out
	* docs/man/.gitignore, docs/man/nutdrv_atcl_usb.txt,
	  drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: documentation and
	  logging (v1.0)

2014-01-11  Charles Lepple <>

	* drivers/apc-mib.c: snmp-ups: APC SmartBoost and SmartTrim are OL
	  SmartBoost and SmartTrim are voltage regulation functions that
	  prevent the UPS from using the battery during brownouts and
	  overvoltages, so the BOOST and TRIM states are also mapped to OL.
	* data/ [HCL] MicroDowell B.Box LP 500: genericups
	  type 7  Closes networkupstools/nut#83  From @lxp:  UPS shutdown
	  only works when on-battery and has a delay of about 1min until
	  execution (something between 50sec to 1min 30sec on mine).

2014-01-11  Daniele Pezzini <>

	* drivers/blazer_ser.c, drivers/blazer_usb.c: blazer: fix man page

2014-01-11  Charles Lepple <>

	* docs/man/nutdrv_atcl_usb.txt, drivers/nutdrv_atcl_usb.c:
	  nutdrv_atcl: match iManufacturer (vendor) string
	* docs/man/snmp-ups.txt: snmp-ups: update and edit documentation

2014-01-11  Daniele Pezzini <>

	* data/ HCL: add Atlantis Land/Voltronic Power units
	  supported by nutdrv_qx
	* drivers/nutdrv_qx_blazer-common.c, drivers/nutdrv_qx_blazer-
	  common.h: nutdrv_qx: fix nutdrv_qx_blazer-common.{c,h} header
	* docs/man/nutdrv_qx.txt, docs/nutdrv_qx-subdrivers.txt: nutdrv_qx:
	  update manuals for new 'voltronic-qs' subdriver

2013-12-05  Daniele Pezzini <>

	* drivers/, drivers/nutdrv_qx.c, drivers
	  /nutdrv_qx_voltronic-qs.c, drivers/nutdrv_qx_voltronic-qs.h:
	  nutdrv_qx: add Voltronic-QS subdriver (nutdrv_qx protocol
	  =voltronic-qs)  A subdriver using a protocol, specific to UPSes
	  manufactured by Voltronic Power, based on the 'mustek' one (i.e.

2014-01-01  Charles Lepple <>

	* drivers/nutdrv_atcl_usb.c: nutdrv_atcl_usb: adjusted logging and
	  retries (v0.02)
	* data/, docs/man/, docs/man/index.txt,
	  docs/man/nutdrv_atcl_usb.txt: nutdrv_atcl_usb: man page and HCL

2013-12-31  Charles Lepple <>

	* drivers/.gitignore, drivers/, drivers/nutdrv_atcl_usb.c,
	  tools/ nutdrv_atcl_usb: 'ATCL FOR UPS' new driver
	* drivers/libusb.c, drivers/usb-common.h: Move USB_TIMEOUT to usb-

2013-12-31  Laurent Bigonville <>

	* .gitignore, INSTALL, INSTALL.nut,, docs/FAQ.txt,
	  docs/, docs/configure.txt, docs/packager-guide.txt, docs
	  /user-manual.txt: Rename INSTALL to INSTALL.nut  Rename it to
	  INSTALL.nut so autoreconf will not try to overwrite it.  In Debian
	  tools like dh_autoreconf calls autoreconf with -f which overwrite
	  the INSTALL file.

2013-12-27  Charles Lepple <>

	* scripts/subdriver/ usbhid-ups: fix call to
	  is_usb_device_supported()  The is_usb_device_supported() function
	  now takes a USBDevice_t* instead of a pair of USB ID values.

2013-12-22  Florian Bruhin <>

	* data/, docs/man/powercom.txt, drivers/powercom.c: Add
	  OptiUPS VS 575C support to PowerCom  Reference:

2013-12-11  Denis Yantarev <>

	* drivers/blazer_usb.c, drivers/nutdrv_qx.c: Fixed incorrectly
	  reported Ippon response length

2013-11-30  Daniele Pezzini <>

	* docs/man/nutdrv_qx.txt, drivers/nutdrv_qx.c, drivers
	  /nutdrv_qx_blazer-common.c, drivers/nutdrv_qx_blazer-common.h,
	  drivers/nutdrv_qx_megatec-old.c, drivers/nutdrv_qx_mustek.c,
	  drivers/nutdrv_qx_q1.c: nutdrv_qx: fix 'megatec/old' and 'mustek'
	  subdrivers' claim functions  Address, for 'megatec/old' and
	  'mustek' subdrivers, the same problem fixed in commit
	  720975f4de910b270ba705a7f2981c2ee33ca2eb for Q1-based ones: - Make
	  the claim function of 'megatec/old' and 'mustek' subdrivers not
	  poll the UPS for 'vendor' informations as they are not really
	  needed to set these protocols apart from the other ones (i.e. the
	  'status' poll is specific enough, at the time of writing). - Move
	  common 'light' claim function to nutdrv_qx_blazer-common.{c,h}. -
	  Update manual. - Versioning.

2013-11-24  Daniele Pezzini <>

	* docs/nutdrv_qx-subdrivers.txt: nutdrv_qx: improve developer manual
	  Get rid of useless tables. Fix minor errors/typos.
	* drivers/nutdrv_qx.c: nutdrv_qx: versioning
	* docs/man/nutdrv_qx.txt, docs/nutdrv_qx-subdrivers.txt: nutdrv_qx:
	  update manuals for new Q1 subdriver and improve readability

2013-11-23  Daniele Pezzini <>

	* drivers/, drivers/nutdrv_qx.c, drivers/nutdrv_qx_q1.c,
	  drivers/nutdrv_qx_q1.h: nutdrv_qx: add new 'fallback' Q1 subdriver
	  Add new 'Q1' subdriver. This subdriver implements the same protocol
	  as the one used by the 'megatec' subdriver minus the vendor (I) and
	  ratings (F) queries. In the claim function: - it doesn't even try
	  to get 'vendor' informations (I) - it checks only status (Q1),
	  through 'input.voltage' variable Therefore it should be able to
	  work even if the UPS doesn't support vendor/ratings *and* the user
	  doesn't use the 'novendor'/'norating' flags, as long as: - the UPS
	  replies a Q1-compliant answer (i.e. not necessary filled with all
	  of the Q1-required data, but at least of the right length and with
	  not available data filled with some replacement character) - the
	  UPS reports a valid input.voltage (used in the claim function) -
	  the UPS reports valid status bits (1st, 2nd, 3rd, 6th, 7th are the
	  mandatory ones)  This commit reintroduces a functionality of the
	  blazer subdrivers that was lost because now, in order to tell
	  whether a device is supported by a subdriver or not, if the user
	  doesn't call the driver with the 'novendor' flag, both the status
	  (Q1) and the vendor (I/FW?) queries are needed (that's to better
	  discern the subdrivers).  Reference:

2013-11-23  Charles Lepple <>

	*, Rename to
	  autoconf has been warning about this for a while - let's fix it
	  before too many branches get created with the old name.
	* bump version to  Some packaging
	  systems don't like the -pre# system.

2013-11-21  Laurent Bigonville <>

	* docs/man/ups.conf.txt, docs/man/upsdrvctl.txt, drivers/upsdrvctl.c:
	  Provide retry options for upsdrvctl and driver(s)  As recently seen
	  in Debian (bugs #694717 and #677143), it may be required to have
	  upsdrvctl retrying to start the driver in case of failure.  More
	  specifically, a mix of init system (V and systemd), udev and USB
	  device(s) can result in the /dev entry not being available at
	  driver startup, thus resulting in a general failure to start NUT.
	  This commit provides at least a way to overcome this issue. A more
	  suitable  solution will require more work on NUT design.  This
	  patch if based on Arnaud Quette proposal

2013-11-20  Arnaud Quette <>

	* Maintainers targets: distribution signature / hashes
	  Create some handy targets to ease and automate release publication

2013-11-19  Charles Lepple <>

	* configure: update version to 2.7.1
	* docs/website/news.txt: news: add 2.7.1 release
	* ChangeLog: use full path to generator script
	* docs/website/projects.txt: website: update related project links

2013-11-18  Arnaud Quette <>

	* NEWS: Minor reordering of the news

2013-11-18  Kirill Smelkov <>

	* MAINTAINERS, docs/man/.gitignore, docs/man/,
	  docs/man/al175.txt, docs/man/index.txt, docs/man/nutupsdrv.txt,
	  docs/new-drivers.txt, drivers/, 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:
	  - patch rebased on top of current master (v2.6.5-400-g214c442); -
	  added reference to COMLI communication protocol document; - status
	  decode errors go to log, instead of setting non-conformant status
	  like "?T", "?OOST", etc.  For such errors new loglevel is
	  allocated; - "High Battery" status is back; - converted tracing
	  macros to direct use of upsdebugx and numbers 1,2,3,4 for loglevels
	  as requested (but now lines got longer because of explicit __func__
	  usage); - lowered usage of other macros (e.g. REVERSE_BITS
	  inlined); - alarm(3) is not used anymore - instead whole I/O
	  transaction time budget is maintained manually; - man page
	  converted to asciidoc and supported variables list is merged into
	  it;  - upsdebug_ascii moved to common.c and to separate patch.
	  ~~~~  Changes since al175 was removed from NUT tree in 2008:  -
	  alloca was eliminated through the help of automatic variables -
	  debugging/tracing were reworked to (almost always) use NUT builtins
	  - al175 now uses 3 debug levels for (1=user-level info, 2=protocol
	  debugging, 3=I/O tracing)  - rechecked and
	  applied where apporpiate  Also  > This driver does not support
	  upsdrv_shutdown(), which makes > it not very useful in a real world
	  application. This alone > warrants 'experimental' status, but for
	  the below mentioned > reasons (to name a few), it's flagged
	  'broken' instead.  Yes, at present shutdown is not supported, and
	  unfortunately now I don't have AL175 hardware at hand, so that I
	  can't write it and verify the implementation.  I've marked the
	  driver as DRV_EXPERIMENTAL, although it was tested by us as part of
	  our systems to work OK for more than three years in production
	  environment on ships (and we don't need shutdown there -- in
	  critical situations the system has to operate as long as possible,
	  untill the battery is empty)  Also, all of the previous issues
	  listed below are now fixed in this al175 version:  - eturn	  with a value, in function returning void (2x) - anonymous variadic
	  macros were introduced in C99 - C++ style comments are not allowed
	  in ISO C90 - ISO C forbids braced-groups within expressions (5x) -
	  ISO C90 forbids specifying subobject to initialize (16x) - ISO C99
	  requires rest arguments to be used (18x)  Yes, "All the world is
	  not an x86 Linux box," and I've tried to make all the world happy.
	  Please apply.  Thanks, Kirill.
	* common/common.c, docs/developers.txt, include/common.h: common:
	  upsdebug_ascii() - to dump a message in ascii  For debugging ASCII-
	  based protocols with control characters (e.g. COMLI) it is handy to
	  dump messages not in hex, but in ascii with human readable codes.
	  Add utility function to do it.

2013-11-17  Charles Lepple <>

	* docs/man/.gitignore, drivers/.gitignore: apcupsd-ups: ignore
	  generated files
	* drivers/apcupsd-ups.c: apcupsd-ups: fix cut-n-paste error
	* drivers/apcupsd-ups.c: apcupsd-ups 0.04: use O_NONBLOCK instead of
	* NEWS, docs/man/index.txt: apcupsd-ups: add NEWS and man page link
	* UPGRADING: Mention upsrw output change.
	* docs/man/nut-recorder.txt: Reword nut-recorder man page
	* UPGRADING: UPGRADING: link to man pages for changed drivers
	* Bump version to 2.7.1-pre2
	* NEWS, UPGRADING: Update NEWS and UPGRADING for 2.7.1  Closes:
	* data/ HCL: StarPower PCF-800VA  Reported by Don.
	* data/ HCL: Atlantis Land A03-P551(V1.2) supported by
	  blazer_usb  Reported by Giovanni Panozzo.  Reference:
	  root.php?  Note that
	  blazer_usb will eventually be replaced by nutdrv_qx.
	* clients/nutclient.h, clients/upsclient.c,
	  conf/,, docs/FAQ.txt,
	  docs/man/libnutclient.txt, docs/man/libnutclient_general.txt,
	  docs/man/upsmon.conf.txt, docs/security.txt, drivers/powerman-
	  pdu.c, server/netssl.c: Replace 'connexion' with 'connection' in
	  English contexts  Also reworded a few phrases surrounding the
	* docs/man/.gitignore: asciidoc: ignore all generated blazer*.html
	* data/ HCL: update CyberPower entries, including
	  CP900AVR  Reported by Craig Duttweiler  Reference:
	* docs/stable-hcl.txt: GitHub issues can also be used to report HCL
	* docs/website/projects.txt: Update links to related projects
	* docs/download.txt: Update download page  * Re-added link to
	  Buildbot snapshot generator * Updated a few links

2013-11-13  Daniele Pezzini <>

	* docs/man/.gitignore, drivers/.gitignore: Add nutdrv_qx to
	  .gitignore files and remove voltronic from them

2013-11-12  Charles Lepple <>

	* docs/man/ a2x: use --destination-dir  This option seems
	  to work now. Previously, Asciidoc source files were copied to the
	  destination directory, but this did not account for included files.

2013-11-12  Daniele Pezzini <>

	* docs/man/nutdrv_qx.txt: nutdrv_qx: fix cross links in manpage
	  Remove links to voltronic manuals. Fix links to blazer manuals.

2013-11-12  Charles Lepple <>

	* .gitignore: git: ignore test-driver, and sort ignores list  test-
	  driver is apparently part of automake, generated for libcpp unit

2013-11-10  Charles Lepple <>

	* docs/man/ Include blazer-common.txt in built tarball

2013-11-10  Daniele Pezzini <>

	* clients/upsrw.c: upsrw: publish also the maximum length of STRING
	  rw variables

2013-11-09  Daniele Pezzini <>

	* docs/website/scripts/nut_jquery.js: HCL: Improve readability of
	* docs/website/scripts/nut_jquery.js: HCL: make support-level filter
	  show items with a 'higher or equal' level  Reference: https://githu
	* data/ nutdrv_qx: readd HCL's items lost with the
	  revert of the voltronic merge
	* data/ nutdrv_qx: remove superfluous indications from
	  the HCL
	* data/, docs/, docs/blzr-subdrivers.txt,
	  docs/man/, docs/man/blzr.txt, docs/man/index.txt,
	  docs/man/nutdrv_qx.txt, docs/man/nutupsdrv.txt, docs/new-
	  drivers.txt, docs/nutdrv_qx-subdrivers.txt, drivers/,
	  drivers/blzr.c, drivers/blzr.h, drivers/blzr_blazer-common.c,
	  drivers/blzr_blazer-common.h, drivers/blzr_mecer.c,
	  drivers/blzr_mecer.h, drivers/blzr_megatec-old.c, drivers
	  /blzr_megatec-old.h, drivers/blzr_megatec.c,
	  drivers/blzr_megatec.h, drivers/blzr_mustek.c,
	  drivers/blzr_mustek.h, drivers/blzr_voltronic.c,
	  drivers/blzr_voltronic.h, drivers/blzr_zinto.c,
	  drivers/blzr_zinto.h, drivers/nutdrv_qx.c, drivers/nutdrv_qx.h,
	  drivers/nutdrv_qx_blazer-common.c, drivers/nutdrv_qx_blazer-
	  common.h, drivers/nutdrv_qx_mecer.c, drivers/nutdrv_qx_mecer.h,
	  drivers/nutdrv_qx_megatec-old.c, drivers/nutdrv_qx_megatec-old.h,
	  drivers/nutdrv_qx_megatec.c, drivers/nutdrv_qx_megatec.h,
	  drivers/nutdrv_qx_mustek.c, drivers/nutdrv_qx_mustek.h,
	  drivers/nutdrv_qx_voltronic.c, drivers/nutdrv_qx_voltronic.h,
	  drivers/nutdrv_qx_zinto.c, drivers/nutdrv_qx_zinto.h, tools/nut- nutdrv_qx: rename 'blzr' driver to 'nutdrv_qx'
	* docs/stable-hcl.txt, docs/website/css/web-layout.css: Address Issue
	  #48 (text-based browsers)  Reference:

2013-11-08  Arnaud Quette <>

	* docs/website/projects.txt: Cleanup NUT related projects

2013-10-25  Daniele Pezzini <>

	* drivers/blazer.c: blazer: Support UPSes that reply '(ACK' when an
	  instant command succeeds
	* drivers/blazer.c: blazer: Fix a discrepancy in the handling of
	  instant commands  Check if the reply we got back from the UPS is
	  'ACK' also for the commands stored in the array.

2013-10-17  Daniele Pezzini <>

	* docs/man/blazer-common.txt: blazer: Cosmetic changes
	* drivers/blazer_ser.c, drivers/blazer_usb.c: blazer: Fix
	  blazer_{ser,usb} + TESTING  Those things are useless when TESTING
	  is defined
	* docs/man/blazer-common.txt: blazer: Fix user manuals
	  {Serial,USB}-specific sections belong to 'Extra arguments' section
	* drivers/blazer_ser.c, drivers/blazer_usb.c: blazer: Versioning
	* drivers/blazer.c: blazer: Add more log infos in instcmd

2013-10-16  Daniele Pezzini <>

	* docs/man/, docs/man/blazer-common.txt,
	  docs/man/blazer.txt, docs/man/blazer_ser.txt,
	  docs/man/blazer_usb.txt, docs/man/index.txt,
	  docs/man/nutupsdrv.txt: blazer: Fix {usb,ser} manual  Split the old
	  blazer manual in two manuals named after their executables with a
	  common source.
	* docs/man/blazer.txt: blazer: Fix user manual  Fix minor errors Add
	  ranges Fix test.battery.start (i.e. minutes instead of seconds)
	* drivers/blazer.c: blazer: Fix shutdown sequence  Split stop pending
	  shutdown and shutdown itself so that if we have problems stopping
	  the shutdown (e.g. there's no shutdown pending and the UPS, because
	  of that, echoes back the command) we can still shutdown the UPS.
	* drivers/blazer.c: blazer: Fix minor error in battery guesstimation
	  We need both battery.voltage.low and battery.voltage.high to
	  'guesstimate' the battery charge
	* drivers/blazer.c: blazer: Fix test.battery.start  T00 doesn't make
	  any sense: the range should be 01-99 minutes
	* drivers/blazer.c: blazer: Fix shutdown.return  'SnR0000' is meant
	  to put the UPS down and not return 'Sn' should be used instead when
	  ondelay is 0
	* drivers/blazer.c: blazer: Fix shutdown delay  'offdelay' as used by
	  this driver is meant to be in the .2-.9 (12..54 seconds) and 01-10
	  (60..600 seconds) range.

2013-11-03  Charles Lepple <>

	* data/, docs/man/.gitignore, docs/man/,
	  docs/man/index.txt, docs/man/voltronic_ser.txt,
	  docs/man/voltronic_usb.txt, drivers/,
	  drivers/voltronic.c, drivers/voltronic.h, drivers/voltronic_ser.c,
	  drivers/voltronic_usb.c, tools/ Revert "Merge branch
	  'voltronic-driver'"  This reverts commit
	  de07fc7f5e7f68b91507b2bf3d4d3b92b774c3ed, reversing changes made to
	  a074844f88ca352780dd881b5fa3c435832d165e.  The voltronic
	  funtionality will be a subdriver of the new blazer driver.

2013-11-04  Daniele Pezzini <>

	* drivers/blzr_voltronic.c: blzr: Fix log message
	* drivers/blzr_voltronic.c: blzr: Fix compile-time error  Reference:

2013-10-25  Daniele Pezzini <>

	* drivers/blzr.c: blzr: Cosmetic changes
	* drivers/blzr_megatec-old.c, drivers/blzr_megatec.c,
	  drivers/blzr_mustek.c, drivers/blzr_zinto.c: blzr: Remove
	  duplicates in the testing struct

2013-11-04  Daniele Pezzini <>

	* drivers/blzr_blazer-common.c, drivers/blzr_blazer-common.h: blzr:
	  Fix blzr_blazer-common.{c,h} header comments

2013-10-25  Daniele Pezzini <>

	* docs/blzr-subdrivers.txt, docs/man/blzr.txt, drivers/,
	  drivers/blzr.c, drivers/blzr_mecer.c, drivers/blzr_mecer.h: blzr:
	  Add Mecer subdiver (blzr protocol=mecer)  A subdriver covering an
	  idiom similar to the one used by the megatec subdriver, but with
	  these peculiarities: - if a command/query is rejected or invalid,
	  the UPS will reply '(NAK\r' - if a command succeeds, the UPS will
	  reply '(ACK\r'

2013-10-17  Daniele Pezzini <>

	* docs/blzr-subdrivers.txt: blzr: Improve developer manual  Add note
	  on how to group items in blzr2nut array.
	* drivers/blzr_voltronic.c: blzr: Fix switch/case  Forgot to break at
	  the end of the case
	* docs/man/blzr.txt, drivers/blzr.c, drivers/blzr_voltronic.c: blzr:
	  Cosmetic changes

2013-10-16  Daniele Pezzini <>

	* data/, docs/, docs/blzr-subdrivers.txt,
	  docs/man/, docs/man/blzr.txt, docs/man/index.txt,
	  docs/man/nutupsdrv.txt, docs/new-drivers.txt, drivers/,
	  drivers/blzr.c, drivers/blzr.h, drivers/blzr_blazer-common.c,
	  drivers/blzr_blazer-common.h, drivers/blzr_megatec-old.c, drivers
	  /blzr_megatec-old.h, drivers/blzr_megatec.c,
	  drivers/blzr_megatec.h, drivers/blzr_mustek.c,
	  drivers/blzr_mustek.h, drivers/blzr_voltronic.c,
	  drivers/blzr_voltronic.h, drivers/blzr_zinto.c,
	  drivers/blzr_zinto.h, drivers/dstate-hal.c, drivers/dstate-hal.h,
	  tools/ blzr: New driver 'blzr'  New driver for Q*
	  UPSes. Based on blazer, usbhid-ups and voltronic driver.  This
	  might address Issue #25

2013-11-04  Charles Lepple <>

	* include/ nut_include.h: fail gracefully if git fails
	  Fix proposed by Jim Klimov.

2013-11-03  Charles Lepple <>

	* docs/stable-hcl.txt: HCL: typos
	* data/, docs/stable-hcl.txt: HCL: minor cleanup
	  Remove a duplicate Tripp Lite entry, and add a missing "a".
	* docs/stable-hcl.txt: HCL documentation: reword
	* data/, docs/acknowledgements.txt: HCL: incorporate
	  Tripp Lite test results  Source:
	* docs/, docs/website/ HCL: additional
	  dependencies  Apparently still not complete, though.
	* docs/website/scripts/nut_jquery.js: HCL JavaScript: make key case-
	  insensitive  Also special-case the spelling change for Tripp Lite.
	  TODO: make the value matching case-insensitive as well.
	* docs/website/scripts/nut_jquery.js: HCL JavaScript: update the USB-
	  matching code  Slightly more accurate, but later on we should
	  really track the connection type as a first-class attribute for
	  each entry in the HCL. Matching the driver name is brittle.
	* docs/website/scripts/nut_jquery.js, tools/ HCL
	  generation: don't combine driver names  The Python and JavaScript
	  code for generating the HCL was combining adjacent drivers even
	  when the support level was different. This clutters up the driver
	  list a bit, but presents a more accurate picture of support levels.

2013-10-28  Michal Soltys <>

	* docs/man/apcsmart.txt: apcsmart: minor man update  A short note
	  about availabilty of apcsmart-old.
	* docs/man/apcsmart.txt, drivers/apcsmart.c, drivers/apcsmart.h:
	  apcsmart: string/comment/text trivial changes

2013-10-27  Charles Lepple <>

	* tools/nut-scanner/nutscan-device.c: [nut-scanner] Remove unused

2013-10-18  Vaclav Krpec <>

	* tools/nut-scanner/nutscan-device.c, tools/nut-scanner/nutscan-
	  device.h, tools/nut-scanner/nutscan-display.c, tools/nut-
	  scanner/scan_nut.c: Nutscan fix and enhancement  Closes #60 (GitHub
	  Pull Request via fbohe)
	* docs/man/netxml-ups.txt, drivers/mge-xml.c, drivers/mge-xml.h,
	  drivers/netxml-ups.c: netxml: added RW access, fixed FSD/shutdown
	  duration bugs, etc.  * Fixed bugs in resolution of FSD condition
	  and computation of shutdown duration. * Added System.* UPS
	  variables. * Enabled RW access to appropriate UPS variables. *
	  Added UPS veriables value convertors. * Added support for XML
	  protocol v3 {GET|SET}_OBJECT query implementing getvar and setvar
	  routines. * netxml driver man page updated to include info about
	  the driver-specific configuration parameters.  Closes #59 (GitHub
	  pull request: "Enhancement for netxml driver")  Pull request by:
	  Frédéric BOHE <>
	* clients/upsc.c, clients/upscmd.c, clients/upslog.c,
	  clients/upsrw.c: Fix AIX linkage of do_upsconf_args()  Closes #58
	  (GitHub pull request "Fix AIX build")  (cherry picked from commit

2013-10-26  Charles Lepple <>

	* Define _REENTRANT for all Solaris and AIX platforms.
	  This is essentially the final commit in pull request #39.

2013-10-24  Frédéric BOHE <>

	* drivers/mge-hid.c: Fix wrong OFF status reported when on battery.
	  UPS.BatterySystem.Charger.PresentStatus.Used is not related to UPS
	  outputs being on or off but rather to the charger being on or off.

2013-10-16  Daniele Pezzini <>

	* scripts/python/, scripts/python/app/,
	  scripts/python/app/locale/it/it.po, scripts/python/app/nut-
	  monitor.desktop: Add italian translation
	* scripts/python/app/locale/fr/fr.po: Add source of french
	* scripts/python/app/, scripts/python/app/locale/NUT-
	  Monitor.pot: Add translation sources

2013-10-16  Frédéric BOHE <>

	* drivers/powerware-mib.c, drivers/snmp-ups.c, drivers/snmp-ups.h:
	  Fix Low Battery detection with ConnectUPS cards  The low battery
	  OID itself cannot be read directly. Low battery alarms OID appears
	  in an alarm array.

2013-10-02  Arnaud Quette <>

	* data/ [HCL] Add support for Eaton 5S  Add Eaton 5S
	  (USB ID 0x0463:0xffff) to the list of usbhid-ups supported models
	  (reported by Matt Ivie)

2013-10-02  Frédéric BOHE <>

	* data/ [HCL] update Eaton UPS

2013-09-30  Frédéric BOHE <>

	* drivers/libshut.c: Increment driver revision

2013-09-28  Alf Høgemark <>

	* drivers/bcmxcp.c: bcmxcp: Fix handling of date and time format  The
	  date and time bytes are packed BCD, so it must be properly decoded.
	  The check for the Julian or Month:Day format was wrong Info on
	  format taken from
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for some
	  more meters and one more command  Add mapping for
	  PW_SET_TIME_AND_DATE command. Add mapping for input.bypass.voltage,
	  input.bypass.L1-N.voltage, input.bypass.L2-N.voltage,
	  input.bypass.L3-N.voltage. Add mapping for input.bypass.frequency.
	  Add mapping for ups.power.nominal if provided as meter, it was
	  previously only set on init. Change mapping for ups.realpower for
	  single phase. Tested on Eaton PW9130.
	* drivers/bcmxcp.c: bcmxcp: Remove newline on debug output for

2013-09-24  Frédéric BOHE <>

	* drivers/libshut.c, tools/nut-scanner/scan_eaton_serial.c: Change
	  RTS init level for PnP devices  Setting RTS line to 1 disturbs
	  communication with some devices using serial plug and play feature.
	  So we need to initialize it to 0.

2013-09-07  Arnaud Quette <>

	* data/ Add support for Forza FX-1500LCD  Add Forza
	  FX-1500LCD (USB ID 0x0665:0x5161) to the list of blazer_usb
	  supported models (reported by Gabor Tjong A Hung)
	* data/ Add Schneider APC AP9630 SNMP management card
	  Add Schneider APC AP9630 SNMP management card to the list of snmp-
	  ups supported models. Note that it requires the option
	  "privProtocol=AES" to work (reported by Tim Rice)
	* drivers/.gitignore: Git ignore drivers/voltronic_{ser,usb}  Add
	  drivers/voltronic_{ser,usb} to the list of Git ignored files

2013-08-28  Charles Lepple <>

	* packaging/RedHat/.gitignore, packaging/debian/.gitignore,
	  packaging/mandriva/.gitignore, packaging/opensuse/.gitignore:
	  Remove .gitignore files from long-gone packaging directory.

2013-08-28  Daniele Pezzini <>

	* docs/website/css/web-layout.css: Improve CSS readability
	* docs/stable-hcl.txt, docs/website/css/web-layout.css: Address Issue
	  #48  Move legend out of filters' block. (HTML+CSS)

2013-08-10  Alf Høgemark <>

	* drivers/bcmxcp.c: bcmxcp: Add instcmd for system test capabilities
	  based on what UPS support

2013-08-09  Alf Høgemark <>

	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Code restructure,
	  declare variables at top of method  After re-reading code style,
	  compiled with -pedantic, and got some warnings, so moved variable
	  declarations to the top of methods
	* drivers/bcmxcp.c, drivers/bcmxcp_io.h, drivers/bcmxcp_ser.c,
	  drivers/bcmxcp_usb.c: bcmxcp: Reformat code, remove tabs in the
	  middle of lines. No code changes  After re-reading the developer
	  code style guide, use spaces and not tabs in the middle of lines to
	  align text
	* drivers/bcmxcp.h: bcmxcp: Reformat code, remove tabs in the middle
	  of lines. No code changes  After re-reading the developer code
	  style guide, use spaces and not tabs in the middle of lines to
	  align text
	* drivers/bcmxcp.c: bcmxcp: Refactor code, use if-else if rather than
	  4 if statements

2013-08-08  Alf Høgemark <>

	* drivers/bcmxcp.c: bcmxcp: Add parameter to nut_find_infoval to
	  control debug output  We do not want debug output if
	  nut_find_infoval does not find a mapped value in all cases. For
	  example, when a command byte is not mapped to a instcmd, we do not
	  want debug output.
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Remove
	  PW_UPDATE_POWER_SOURCE_STATUS_COMMAND, it seems very unlikely to be
	* drivers/bcmxcp.h: bcmxcp: Cosmetic changes constant definitions. No
	  code changes.
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Use command map to
	  control which instcmd are supported  Use the command map info
	  retrieved from UPS to list all commands supported by the UPS at
	  debug level 2. Use the info from command map to set up which
	  instcmd the UPS supports.
	* drivers/bcmxcp.c: bcmxcp: Use info_lkp_t structure for mapping
	  topology info  Make code simpler by using the info_lkp_t structure
	  for mapping value from topology block to text presented to user as
	* drivers/bcmxcp.c: bcmxcp: Cosmetic commentary fixes and remove some
	  empty lines. No code changes
	* drivers/bcmxcp.c: bcmxcp: Output unsupported alarms on debug level
	  3, not level 2  The supported alarms in alarm map is outputted at
	  debug level 2. The unsupported alarms should be outputted at debug
	  level 3, it is not that interesting. Also remove debug outputted
	  empty line after table heading line for meter map and alarm map.
	* drivers/bcmxcp.c: bcmxcp: Refactor code for setting which alarms
	  are supported, to avoid code duplication  Refactor the code which
	  checks the alarm map for supported alarms, by making a new method
	  which checks the alarm bit to see if the alarm is supported.
	* drivers/bcmxcp.c: bcmxcp: Only include ups.serial and device.part
	  if they have a value  Only set info about ups.serial and
	  device.part if the UPS actually report useful info for these.
	  Remove the handling of space characters as meaning string
	  termination for ups.serial, this is not done for part number, and
	  according to bcmxcp spec are these both 16 byte ascii text
	  messages. Move Nominal output frequence handling up, placing it
	  just below Nominal output voltage

2013-08-04  Charles Lepple <>

	* docs/man/index.txt, docs/man/voltronic_ser.txt,
	  docs/man/voltronic_usb.txt: voltronic* documentation updates  - Add
	  to man page index - Reword a few sections - Fix typos - Comment out
	  USB section in voltronic_ser.txt  Long-term, we should probably
	  figure out a better way to maintain two parallel driver pages like
	  this. The blazer man page is the same for both, with .so links for
	  the man pages, but then you have USB info in a serial driver page.
	  For now, voltronic_usb.txt is just a copy of voltronic_ser.txt with
	  a few _ser-to-_usb replacements.

2013-08-01  Daniele Pezzini <>

	* drivers/voltronic.c: Get rid of 'god.knows' variables

2013-07-26  Arnaud Quette <>

	* drivers/powercom-hid.c: Forgotten subdriver version bump

2013-07-25  Arnaud Quette <>

	* docs/man/upsc.txt, docs/man/upscmd.txt, docs/man/upsrw.txt:
	  Complete upsclient commands usage note  Add a note for scripting
	  usage, for upsc, upscmd and upsrw, to state the obvious: only
	  consider the output from stdout for data requested. stderr may
	  contain error messages, which can disrupt your script execution.
	  Address the second task and closes Github issue #30
	* clients/upsclient.c: Fix a minor regression in upsclient output
	  NSS support has introduced a minor regression in upsclient output.
	  Clients such as upsc, upscmd and upsrw were particularly affected.
	  This patch restores a default behavior similar to prior versions.
	  However, "-v" option remains to be implemented.  Address the first
	  task of Github issue #30

2013-07-24  Charles Lepple <>

	* docs/website/web-layout.conf: Add GitHub link to website sidebar

2013-07-24  Frédéric BOHE <>

	* Fix wrong errno reported by connect on Solaris
	  Closes issue #43
	* clients/upsclient.c: Fix connect in multi-threaded environnement on
	  AIX  Closes issue #42

2013-07-23  Frédéric BOHE <>

	* clients/upsclient.c: Fix nut-scanner crash on nut server scan,
	  upscli_sslinit calls upscli_readline which might calls
	  upscli_disconnect in case of error. upscli_disconnect frees
	  ups->host and set it to NULL, so it is illegal to use ups->host
	  after a call to upscli_sslinit.

2013-07-23  Charles Lepple <>

	* clients/ Revert "Fix connect in multi-thread
	  environnement on Solaris"  This reverts the previous commit. It
	  overwrites the CFLAGS which specifies one of the key include

2013-07-23  Frédéric BOHE <>

	* clients/ Fix connect in multi-thread environnement on
	* tools/nut-scanner/nutscan-device.c, tools/nut-scanner/nutscan-
	  device.h, tools/nut-scanner/scan_avahi.c, tools/nut-
	  scanner/scan_eaton_serial.c, tools/nut-scanner/scan_ipmi.c, tools
	  /nut-scanner/scan_nut.c, tools/nut-scanner/scan_snmp.c, tools/nut-
	  scanner/scan_usb.c, tools/nut-scanner/scan_xml_http.c: [nut-
	  scanner] Make sure to return the first device of the list.

2013-07-22  Charles Lepple <>

	* docs/download.txt: Download information: reference Git
	* Bump NUT version to 2.7.1-pre1

2013-07-21  Charles Lepple <>

	* include/ nut_version.h: trim tag characters through
	  first slash

2013-04-27  Charles Lepple <>

	* include/ nut_version.h: remove SVN plumbing  This
	  should eliminate the "Unversioned directory" message. The source of
	  the version information is also listed in nut_version.h  Closes
	  Github issue #15

2013-07-16  Sven Putteneers <>

	* scripts/python/app/NUT-Monitor: NUT-Monitor: parse battery.runtime
	  as float  Without this patch, I get a flood of "Invalid literal for
	  int with base 10: '28500.00" errors.

2013-07-10  Arnaud Quette <>

	* docs/website/news.txt, docs/website/projects.txt: Reference walNUT
	  Gnome Shell extension

2013-07-09  Charles Lepple <>

	* drivers/riello_ser.c, drivers/riello_usb.c: riello: suppress some
	  warnings about %lu versus %u

2013-07-09  Elio Parisi <>

	* drivers/riello.h, drivers/riello_ser.c, drivers/riello_usb.c:
	  riello: whitespace fixes, and read nominal values only once  Bumped
	  driver versions to 0.02

2013-07-07  Alf Høgemark <>

	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add support for reading
	  topology map and setting ups.description based on it
	* drivers/bcmxcp.c: bcmxcp: Initialize variables in
	  calculate_ups_load method
	* drivers/bcmxcp.c: bcmxcp: Output more info hardware capabilities in
	  debug mode  Add some more debug output on driver init, to let us
	  know what the hardware support. Outputs length of alarm history
	  log, topology block length and maximum supported command length.
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for
	  input.quality to meters
	* drivers/bcmxcp.c: bcmxcp: Add Alf Høgemark as one of the authors
	  for the driver
	* drivers/bcmxcp.c: bcmxcp: Only calculate ups.load if the UPS does
	  not report it directly  If the UPS does not report a meter mapped
	  to ups.load, we try to calculate the ups.load, but we do not
	  calculate it if the UPS can report the ups.load directly
	* drivers/bcmxcp.c: bcmxcp: Use defined constants in setvar, and
	  constants from header file, instead of magic numbers in setvar
	  Report upsdrv_comm_good on successful execution of setvar to UPS.
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add handling of
	  Add support for handling more return statuses when exeucting
	  commands, the most important being
	  was executed. The others added all handles cases where command was
	  not executed, but you now get a more detailed entry in log as to
	  why it was not executed.
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for
	  output.L<phase>.power to meters  Not tested on hardware, due to
	  lack of hardware supporting it
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for to meters  Not tested on hardware, due to
	  lack of hardware supporting it

2013-07-06  Alf Høgemark <>

	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for
	  input.realpower to meters  input.realpower is not listed in
	  guide.chunked/apas01.html, but other drivers use it. Not tested on
	  hardware, due to lack of hardware supporting it
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for
	  ambient.1.temperature to meters  Not tested on hardware, due to
	  lack of hardware supporting it
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for
	  input.power to meters  input.power is not listed in
	  guide.chunked/apas01.html, but other drivers use it. Not tested on
	  hardware, due to lack of hardware supporting it
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for
	  output.powerfactor and input.powerfactor to meters
	  input.powerfactor is not listed in
	  guide.chunked/apas01.html, so a bit unsure if this should be added.
	  Not tested on hardware, due to lack of hardware supporting it
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add mapping for
	  output.L<phase>.power.percent to meters  Not tested on hardware,
	  due to lack of hardware supporting it
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: map and
	  ups.time to meters.  Not testes on hardware, due to lack of
	  hardware supporting it
	* drivers/bcmxcp.h: bcmxcp: Comment which meter map constants are
	  mapped to nut variables

2013-07-05  Alf Høgemark <>

	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Add constants for all
	  bcmxmp meter map, and replace magic numbers with constants  Take
	  all the bcmxcp meter map defined in
	  protocols/eaton/XCP_Meter_Map_021309.pdf and put them into the
	  bcmxcp.h file. Update the bcmxcp.c file, replacing magic numbers
	  for meter map by using the corresponding defined constant.

2013-07-04  Alf Høgemark <>

	* drivers/bcmxcp.c: bcmxcp: Let decode_instcmd_exec also handle short
	  read from UPS
	* drivers/bcmxcp.c: bcmxcp: Add test.panel.start instcmd support
	* drivers/bcmxcp.c: bcmxcp: Use one fuction to decode command
	  execution status in all places  To avoid duplicating the logic
	  which checks the status of command execution at UPS, add a new
	  function which contains the check, and use that function whenever
	  we send a command to UPS and get status back from UPS.
	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: Define byte for
	  choosing which system test to run in header file
	* drivers/bcmxcp.c: bcmxcp: Fix outlet number for
	  outlet.x.shutdown.return if more than 2 outlets
	* drivers/bcmxcp.c: bcmxcp: Let upsdrv_shutdown call instcmd for
	  shutting down  To avoid code duplication between upsdrv_shutdown
	  and instcmd, let the upsdrv_shutdown method first try to issue a
	  shutdown.return instcmd, and then proceed with shutdown.stayoff if
	  the shutdown.return failed. This seems to be in line with what the
	  usbhid driver does.
	* drivers/bcmxcp.c: bcmxcp: report upsdrv_comm_good at successful
	  execution of instcmd
	* drivers/bcmxcp.c: bcmxcp: Return more specific error codes from
	  instcmd  Use the available STAT_INSTCMD_FAILED and
	  STAT_INSTCMD_INVALID as return value from the instcmd method when
	  applicable, instead of always returning STAT_INSTCMD_UNKNOWN or -1.

2013-07-03  Alf Høgemark <>

	* drivers/bcmxcp.c, drivers/bcmxcp.h: bcmxcp: use command map if
	  supplied.  If UPS supplies command map, use it to control what
	  commands we register with dstate_addcmd. If UPS does not supply
	  command map, we register default commands with dstate_addcmd
	* data/cmdvartab, drivers/bcmxcp.c: bcmxcp: cosmetic: make changes by
	  Prachi Gandhi more coherent with rest of driver
	* drivers/bcmxcp.c: bcmxcp: Fix method name outputted in debug
	  message  Reference:
	  Whitespace was addressed in previous commit (clepple)

2013-07-03  Charles Lepple <>

	* drivers/bcmxcp.c: bcmxcp: indentation fixes (no code changes)

2013-07-03  Alf Høgemark <>

	* drivers/bcmxcp.c: bcmxcp: add ups.load and battery.voltage.low
	  Adapted slightly for bcmxcp branch (original patch was against
	  master). Bump driver version to 0.28 as well. (clepple)  Reference:

2013-06-18  Daniele Pezzini <>

	* drivers/voltronic.c: Add unknown/unused and commented capability
	  entries  Might be useful for future versions.
	* data/ Add devices to HCL
	* drivers/voltronic.c, drivers/voltronic_ser.c,
	  drivers/voltronic_usb.c: Fix warning flag + versioning  Some UPSes
	  seem to reply with a \0 just before the end of the warning flag
	  (obtained with QWS), as a consequence of that, the string in C is 1
	  char shorter than expected (the \r is not within the string). ->
	  Fix voltronic_warning function. Increase driver versions.
	* drivers/voltronic.c, drivers/voltronic_ser.c,
	  drivers/voltronic_usb.c: Fix shutdown.return + versioning  Fix
	  shutdown.return when ondelay = 0 -> split between offdelay < 60 and
	  offdelay > 60. Increase driver versions.

2013-06-17  Daniele Pezzini <>

	* docs/man/voltronic_ser.txt, docs/man/voltronic_usb.txt: Correct
	  typos @shutdown.{return,stayoff}
	* drivers/voltronic.c, drivers/voltronic_ser.c,
	  drivers/voltronic_usb.c: Imrove shutdown sequence + versioning
	  Split shutdown and stopping of pending shutdowns so that if there's
	  no shutdown pending and the UPS doesn't accept a shutdown.stop in
	  this situation (i.e. it replies '(NAK') the shutdown procedure
	  doesn't get halted. Increase version number of drivers.
	* data/ Correct typos & add software reference in HCL
	* docs/man/voltronic_ser.txt, docs/man/voltronic_usb.txt: Improve
	  docs layout
	* drivers/voltronic_usb.c: Add USBDevice_t structure
	* drivers/voltronic_usb.c: Add comment so that autogen rules have the
	  right comment
	* drivers/voltronic_ser.c, drivers/voltronic_usb.c: Correct manpage

2013-05-14  Bo Kersey <>

	* drivers/bestfcom.c: bestfcom: Use fc.idealbvolts for calculating
	  percent charge  'I have a Best Ferrups 3.1KVA and I noticed that
	  the percent battery voltage reported from upsc never gets above
	  69.9%.  I believe there is a mistake in the driver.  The battery
	  percentage is calculated based on the High Battery Alarm Setpoint
	  (59.6V) instead of the Ideal Voltage which is about 54V (4
	  batteries x 13.6V).  I examined the source code and found that the
	  variable fc.fullvolts is the result of querying parameter 67 from
	  the UPS.  This parameter is defined per Ferrups Tip 503 as: "The
	  battery voltage at which the UPS sound a High Battery alarm"  A
	  better value to use in determining the percent battery voltage
	  would be fc.idealbvolts which is calculated in the driver source...
	  I propose the following patch to fix the battery.charge (% battery
	  full) reading.'  Ref:

2013-05-13  Michal Soltys <>

	* docs/nut-names.txt: Add device.uptime to nut-names.txt  Also fix
	  one typo.
	* docs/man/apcsmart.txt, drivers/apcsmart.c: apcsmart: allow users to
	  select non-canonical tty mode  The main reason behind this addition
	  is windows compatibility, see  IGNCR
	  has been readded earlier in commit
	  20c52bee77fa0b3ea3c7f8bec25afd103b7ff4a2 - this might be enough to
	  handle windows behavior, but if it's not the case - using non
	  canonical processing (same as is present in apcsmart-old) should
	  solve any pressing issues.
	* drivers/apcsmart_tabs.c: apcsmart: add device.uptime to vartab

2013-04-26  Michal Soltys <>

	* drivers/apcsmart.c, drivers/apcsmart_tabs.h: apcsmart: remove
	  APC_DEPR flag  APC_{MULTI, PRESENT} are both sufficient for
	  handling 1:n and n:1 relations

2013-04-22  Michal Soltys <>

	* drivers/apcsmart.c: apcsmart: expand APC_MULTI to apc:nut 1:n cases

2013-04-15  Michal Soltys <>

	* drivers/apcsmart.c, drivers/apcsmart_tabs.c: apcsmart: change
	  approach to 2 digit compatibility entries  As reported in - 2
	  digit values reported through 'b' are really >255V voltage values.
	  So we match whole 00 - FF set as single (fake) compat entry.

2013-04-16  Michal Soltys <>

	* drivers/apcsmart.c: apcsmart: remove strchr() check from
	  legacy_verify()  As vartab doesn't contain characters from

2013-04-15  Michal Soltys <>

	* drivers/apcsmart.h: apcsmart: re-add CR to ignore sets  Despite
	  icanon mode, windows (supposedly) is uncapable of ignoring CR in
	  fashion analogous to IGNCR flag.  See for
	* drivers/apcsmart_tabs.c: apcsmart: add regex format to
	  ambient.0.temperature  'T' might (on older units) also mean "ups
	  uptime", so we want to distinguish that case gracefully. The
	  formats are:  uptime: 000.0 temp: 00.00

2013-05-03  Andrew Avdeev <>

	* drivers/powercom-hid.c: PowerCOM BNT-1000AP HID instant commands
	  Adds a few vendor-specific HID mappings for PowerCOM.  Instant
	  commands supported on UPS [pcm]:  beeper.disable - Disable the UPS
	  beeper beeper.enable - Enable the UPS beeper beeper.toggle - Toggle
	  the UPS beeper - Turn off the load immediately load.on -
	  Turn on the load immediately shutdown.return - Turn off the load
	  and return when power is back shutdown.stayoff - Turn off the load
	  and remain off test.battery.start.quick - Start a quick battery

2013-04-25  Christian Wiese <>

	* tools/nut-scanner/, tools/nut-scanner/scan_usb.c: nut-
	  scanner: fix scan_usb to remove trailing spaces from output strings
	  This patch uses rtrim() from libcommon to remove trailing spaces
	  from serialnumber, device_name and vendor_name.  see:

2013-04-18  Arnaud Quette <>

	* docs/new-drivers.txt: Add a reference to the SNMP subdrivers

2013-04-15  Michal Soltys <>

	* drivers/apcsmart.c, drivers/apcsmart.h, drivers/apcsmart_tabs.c,
	  drivers/apcsmart_tabs.h: apcsmart: move variable regex matching
	  into vartab  This also allows us to properly validate (in near
	  future) cases when single apc variable can match multiple nut
	  variables.  Other changes:  - adjust rexhlp() to follow 0 for false
	  and non-0 for true, like in the rest of the functions - remove
	  valid_cmd() as rexhlp() can be used directly with formats in the
	  table; furthermore the warning (in case of failure) could be
	  confusing when we add nut:apc n:1 case

2013-04-11  Arnaud Quette <>

	* drivers/libusb.c: Set USB timeout to 5 seconds  Set the low level
	  USB timeout back to the standard 5 seconds. This was set to 4
	  seconds, for performance reasons, but is now causing issues with
	  some devices (reported by Stefan "stevenbg", GitHub issue #23)

2013-04-10  Charles Lepple <>

	* docs/man/.gitignore: Ignore voltronic_* generated documentation
	* drivers/voltronic_usb.c: voltronic_usb: switch to new
	  is_usb_device_supported() syntax
	* tools/ Add voltronic_usb driver to USB info
	  extractor tool

2013-04-10  Daniele Pezzini <>

	* data/, docs/man/,
	  docs/man/voltronic_ser.txt, docs/man/voltronic_usb.txt,
	  drivers/, drivers/voltronic.c, drivers/voltronic.h,
	  drivers/voltronic_ser.c, drivers/voltronic_usb.c: New drivers:
	  voltronic_ser/voltronic_usb  Reference:

2013-04-10  Elio Parisi <>

	* drivers/riello.c, drivers/riello.h, drivers/riello_ser.c,
	  drivers/riello_usb.c: Riello drivers: fix memset() arguments, and
	  use stdint.h  Reference:

2013-04-04  milien Kia <>

	*, docs/new-clients.txt, scripts/,
	  scripts/README, scripts/java/.gitignore, scripts/java/,
	  scripts/java/README, scripts/java/jNut/.gitignore,
	  scripts/java/jNut/README, scripts/java/jNut/pom.xml,
	  scripts/java/jNutList/README, scripts/java/jNutList/pom.xml,
	  scripts/java/jNutWebAPI/README, scripts/java/jNutWebAPI/pom.xml,
	  .../jnutwebapi/, .../jNutWebAPI/src/main/webapp
	  /WEB-INF/web.xml: Remove java related files (jNut) which will be
	  moved to a separated repository.  See issues: - -

2013-03-26  Alex Lov <>

	* drivers/ietf-mib.c: Fix OID for input.bypass.voltage in ietf-mib.c
	  Ooops, forgot fix one
	* drivers/ietf-mib.c: Fix OIDs for bypass group in ietf-mib.c
	  Reference For bypass
	  voltage, current and power

2013-03-13  Arnaud Quette <>

	* docs/FAQ.txt: Add a FAQ entry for supported but not working USB UPS

2013-03-10  Charles Lepple <>

	* scripts/upower/95-upower-hid.rules: upower: update generated rules

2013-03-09  Charles Lepple <>

	* docs/download.txt: Update VMware ESXi package link (from René

2013-02-28  Charles Lepple <>

	*, tools/ Issue #4: Specify starting
	  commit to

2013-02-27  Michal Soltys <>

	* drivers/apcsmart_tabs.c: apcsmart: add old APC 600I compatibility
	  entry  Though without 'T' - until we handle situations when single
	  nut variable is able to correspond to more than one apc var.
	  Testet-by: Markus Pruehs <>

2013-02-26  Charles Lepple <>

	* tools/ git-changelog: really fixes #4 (missing
	  entries)  The script was discarding any commits which happened to
	  include the word 'commit'.
	* tools/ git-changelog: remove re.* calls for
	  simple string matching

2013-02-25  Charles Lepple <>

	*, tools/ git-changelog: Fix list of
	  distributed files
	* tools/ Fixes issue #4: ChangeLog now includes
	  single-file commits.
	*, tools/ Issue #4: generate
	  ChangeLog from git logs  This seems to generate long ChangeLog
	  entries in the format we had with svn2cl, but some commits appear
	  to be missing.
	* tools/ Import (2008-12-27)

2013-02-25  milien Kia <>

	* clients/nutclient.cpp, clients/nutclient.h: Add comparison operator
	  for nut::Device class.  Make std::set<nut::Device> work and not
	  dropping devices anymore.

2012-11-02  Charles Lepple <>

	* README, scripts/upower/95-upower-hid.rules: apcupsd-ups: link to
	  man page from README  Patch by Arnaud:

2012-10-30  Charles Lepple <>

	* docs/man/apcupsd-ups.txt: apcupsd-ups: Update man page with
	  variables and units

2012-09-28  Charles Lepple <>

	* drivers/apcupsd-ups.c, drivers/apcupsd-ups.h: apcupsd-ups:
	  Additional variables
	* drivers/apcupsd-ups.c, drivers/apcupsd-ups.h: apcupsd-ups: Remove
	  multiplier from ups.load

2012-09-27  Charles Lepple <>

	* docs/man/apcupsd-ups.txt, drivers/apcupsd-ups.c: apcupsd-ups:
	  miscellaneous cleanup

2012-09-27  Andreas Steinmetz

	* docs/man/, docs/man/apcupsd-ups.txt,
	  drivers/, drivers/apcupsd-ups.c, drivers/apcupsd-ups.h:
	  apcupsd client driver

2013-02-23  Charles Lepple <>

	* drivers/bcmxcp.c: bcmxcp: remove unused variable

2013-02-16  Charles Lepple <>

	* docs/website/news.txt: News: Git conversion
	* docs/developers.txt: Update developer documentation for Git

2013-02-21  Arnaud Quette <>

	* .gitignore, scripts/HP-UX/.gitignore: Git ignored files completion

2013-02-21  Michal Soltys <>

	* drivers/apcsmart_tabs.c: apcsmart: minor fixups to compat. tables
	* drivers/apcsmart.c: apcsmart: verify/setup fixups  legacy_verify()
	  - check against commands we always ignore oldapcsetup() - extra
	  comments, minor flow change

2013-02-17  Charles Lepple <>

	* tools/git-svn.authors, tools/svn2cl.authors: Remove obsolete
	  authors files.

2013-02-16  Arnaud Quette <>

	* .gitignore: Git ignored files completion

2013-02-06  Frederic Bohe <>

	* scripts/Solaris/, scripts/Solaris/ [Solaris]
	  Fix postinstall user/group, and service start  * Fix postinstall
	  user/group detection/creation. * Fix service start depending on the
	  mode, and add poweroff command.

2013-02-04  Emilien Kia <>

	* include/proto.h: Move __cplusplus/extern "C" begin block before to
	  fix a problem of ifdef when included in real C++ code.

2013-02-01  Frederic Bohe <>

	*, scripts/HP-UX/, scripts/HP-UX/,
	  scripts/HP-UX/ [HP-UX] : add postinstal script for
	  installing services files.

2013-02-01  Arnaud Quette <>

	* docs/man/snmp-ups.txt: Update SNMP driver documentation  Mentioning
	  'mib' is not needed anymore since NUT 2.6.2. Also mention 'v3' as
	  an allowed value for 'snmp_version' (reported by Tim Rice)

2013-01-29  Michal Soltys <>

	* drivers/apcsmart.c, drivers/apcsmart.h, drivers/apcsmart_tabs.c,
	  drivers/apcsmart_tabs.h: apcsmart: implement #311678 (multiple
	  values per variable)  This is a bit more general than the original
	  request.  All variables that return multiple comma-separated
	  values, are added as *.N.* where 1 <= N <= APC_PACK_MAX; the
	  variables are stored with temporary name *.0.* in apcsmart_tabs.c,
	  but only at least 1 and at most 4 are added per update run
	  (superfluous - if any - are removed), with *.0.* placeholder being
	  ignored.  We assume that the particular variables cannot belong to
	  the capability set at the same time (as reported by user) -
	  otherwise we will need a bit more complex handling, including
	  updates to all setvar functions.
	* drivers/apcsmart.c, drivers/apcsmart.h: apcsmart: update logging
	  logic / apc_read()  - logging  This mostly adds few macros that
	  implicitly use or pass caller's name (and in case of hard errors,
	  line number). This allows removal of a few "failed" / "succeeded"
	  lines (which in practice don't really happen), for example there is
	  no need for:  upslogx(LOG_ERR, "preread_data: apc_write failed");
	  as any hard error will be reported by apc_write() internally,
	  providing the place and line number it was called at.  Similarly,
	  some upslogx / upsdebugx calls were wrapped in analogous macros to
	  provide caller's name automatically.  Debug levels (-D) were
	  adjusted to require only one letter.  - apc_read()  It's been a bit
	  more scrutinized:  - filling up full caller's buffer is considered
	  an error; shouldn't happen unless the ups is somehow damaged or
	  some model is capable of returning more than 512 bytes in one read
	  (current max I witnessed is around 270 bytes during capability
	  read) - timeout reads (whether it's allowed or not) cannot really
	  have any non-0 count, though sanity check could theoretically be
	  useful in non-canonical mode; commented out code was added for
	* drivers/apcsmart.c: apcsmart: enhance prtchr()  So it can handle 4
	  returns with static pointers.
	* drivers/apcsmart.c: apcsmart: allow timeout on read in smartmode()
	  As this function is used to "nudge" ups, we should expect it to
	  timeout.  Also avoids extra log spam.

2013-01-29  Frederic Bohe <>

	* scripts/Solaris/ Use variables to generate Solaris
	  postinstall script.
	* scripts/Solaris/ Enhance the Solaris post install

2013-01-22  Arnaud Quette <>

	* docs/man/ Remove duplicate entries for Eaton serial
	* include/, tools/nut-scanner/ List missing
	  header files to be distributed  nutscan-serial.h and nut_platform.h
	  were missing from the distribution
	* scripts/Solaris/.gitignore: Subversion ignored files completion
	  Mark Solaris generated packaging files as Subversion ignored (no
	  functional changes)
	* docs/man/.gitignore, docs/man/, docs/man/index.txt,
	  docs/man/nutscan_scan_ipmi.txt, docs/man/nutscan_scan_nut.txt,
	  docs/man/nutscan_scan_snmp.txt, docs/man/nutscan_scan_usb.txt,
	  docs/man/nutscan_scan_xml_http.txt, include/nut_platform.h, tools
	  /nut-scanner/, tools/nut-scanner/nut-scan.h, tools/nut-
	  scanner/nut-scanner.c, tools/nut-scanner/nutscan-device.h, tools
	  /nut-scanner/nutscan-display.c, tools/nut-scanner/nutscan-serial.c,
	  tools/nut-scanner/nutscan-serial.h, tools/nut-
	  scanner/scan_eaton_serial.c, tools/nut-scanner/scan_nut.c: Add nut-
	  scanner support for Eaton serial units  nut-scanner and libnutscan
	  now provides respectively an option and functions to detect Eaton
	  serial devices. The following protocols are supported: SHUT, XCP
	  and Q1 (patch from Frederic Bohe, with parts from Arnaud Quette,
	  both for Eaton)
	* Fix for pthread on HP-UX  pthread is compiled on a
	  stub when -lpthread is not explicitly added. This commit is a
	  duplicate of [[SVN:3801]], from Frederic Bohe (for Eaton)
	* drivers/bcmxcp_ser.c: Change baud-rates ordering for auto-detection
	* docs/new-drivers.txt, drivers/serial.c, drivers/serial.h: Add non-
	  fatal versions of ser_open / ser_set_speed

2013-01-21  Frederic Bohe <>

	* scripts/Solaris/, scripts/Solaris/ Allow
	  start/stop of NUT from Solaris packages

2013-01-13  Emilien Kia <>

	* clients/cgilib.h, clients/status.h, clients/upsimagearg.h,
	  clients/upslog.h, clients/upsmon.h, clients/upssched.h,
	  clients/upsstats.h, include/common.h, include/extstate.h,
	  include/proto.h, include/state.h, include/upsconf.h, server/conf.h,
	  server/desc.h, server/netcmds.h, server/netget.h,
	  server/netinstcmd.h, server/netlist.h, server/netmisc.h,
	  server/netset.h, server/netssl.h, server/netuser.h,
	  server/sstate.h, server/stype.h, server/upsd.h, server/upstype.h,
	  server/user-data.h, server/user.h, tools/nut-scanner/nut-scan.h,
	  tools/nut-scanner/nutscan-device.h, tools/nut-scanner/nutscan-
	  init.h, tools/nut-scanner/nutscan-ip.h: Protect header files for
	  C++ inclusion.

2012-12-19  Arnaud Quette <>

	* data/ HCL: Add support for Lyonn CTB-1200  Add Lyonn
	  CTB-1200 (USB ID 0x0665:0x5161) to the list of blazer_usb supported
	  models (reported by Martin Sarsale)
	* docs/stable-hcl.txt: Clarify expected report for shutdown testing
	  State explicitly that, for now, a statement that the user has
	  actually tested the shutdown procedure successfully is enough
	  (report from Martin Sarsale)

2012-12-19  Frederic Bohe <>

	* scripts/HP-UX/, scripts/HP-UX/ Use installed
	  binaries to create package

2012-12-18  Arnaud Quette <>

	* drivers/delta_ups-mib.c: Fix a typo error and current multiplier
	* data/, drivers/, drivers/delta_ups-mib.c,
	  drivers/delta_ups-mib.h, drivers/snmp-ups.c: Support for DeltaUPS
	  MIB and Socomec Netys RT 1/1  Add preliminary SNMP support for a
	  new MIB: DeltaUPS MIB, with sysOID ".". The
	  first known supported devices are Socomec Netys RT 1/1, equiped
	  with Netvision SNMP card

2012-12-18  Michal Soltys <>

	* drivers/apcsmart.c: apcsmart: add update_info()  No need for almost
	  identical update_info_normal() and update_info_all()
	* drivers/apcsmart.c: apcsmart: two fixups  In poll_data(): we are
	  not supposed to set variable after its (formally impossible)
	  removal  In upsdrv_shutdown(): wrong comparison

2012-12-14  Arnaud Quette <>

	* data/, drivers/powerp-txt.c, drivers/powerpanel.c:
	  Add support for CyberPower OL3000RMXL2U  Add CyberPower
	  OL3000RMXL2U serial support to the powerpanel driver, text protocol
	  version (Alioth patch #313910, from Timothy Pearson)

2012-12-13  Arnaud Quette <>

	* docs/, docs/new-drivers.txt, docs/snmp-subdrivers.txt,
	  scripts/subdriver/ Helper script to create
	  SNMP subdrivers stubs  Created a new shell script
	  (scripts/subdriver/ to automatically create a
	  "stub" subdriver. This will make it a lot easier and quicker to
	  create subdrivers for snmp-ups. A new documentation chapter has
	  also been added ("How to make a new subdriver to support another
	  SNMP device")
	* drivers/tripplite-hid.c: Add support for newer TrippLite
	  Smart1500LCD  Add newer TrippLite Smart1500LCD (USB ID
	  0x09ae:0x3016) to the list of usbhid-ups supported models (reported
	  by Steve Salier)

2012-12-12  Frederic Bohe <>

	* drivers/mge-hid.c: Fix crash with debug level greater or equal to 2

2012-12-10  Michal Soltys <>

	* drivers/apcsmart.c: apcsmart: add prtchr() helper  Add prtchr()
	  helper and simplify reporting when we check whether some APC
	  cmd/var character is or isn't printable.
	* drivers/apcsmart_tabs.c: apcsmart: apc_cmdtab[] fixup  Earlier
	  commit that adjusted regex checks, also changed cmd fields for all
	  instant commands handled by custom functions. We cannot do that, as
	  they are not detected as supported this way.

2012-12-08  Arnaud Quette <>

	* drivers/mge-utalk.c, drivers/mge-utalk.h: Change Martin Loyer's
	  mail address  As per Martin's request.
	* drivers/mge-utalk.c: Improve mge-utalk general behavior  Make two
	  adjustments to improve the general behavior: first, send the double
	  "Z" prior to "Si" command. Second, inter-commands delay has been
	  increased to comply with the specification

2012-12-08  Michal Soltys <>

	* drivers/apcsmart.c: apcsmart: serial related stuff a bit more
	  strict  Also:  - apc_flush() now loops with >0 condition (otherwise
	  errored apc_read() might cause inf loop) - ser_comm_good/fail()
	  were kind of missing in write wrappers
	* drivers/apcsmart.c, drivers/apcsmart.h: apcsmart:
	  sdlist/sdtype/advorder changes  - verify 'advorder' with regex -
	  remove unused defines - as the user is directed towards man page
	  either way (and without it numbers are kind of meaningless), drop
	* drivers/apcsmart.c: apcsmart: setup port after variable
	  sanitization in upsdrv_initups()
	* drivers/apcsmart.c: apcsmart: cleanup dstate ok/stale calls
	* drivers/apcsmart.c: apcsmart: getbaseinfo() fixup  In extremely
	  unlikely case of failing write, report it up and act accordingly.
	* drivers/apcsmart.c, drivers/apcsmart.h, drivers/apcsmart_tabs.c,
	  drivers/apcsmart_tabs.h: apcsmart: adjust regex logic  A bit
	  simpler / tighter now.
	* drivers/apcsmart.c: apcsmart: add var_string_setup()  In theory
	  deprecate_vars() should also consider APC_STRING variables. In
	  practice - we don't have any variables that are both APC_MULTI and
	  APC_STRING - but it's more correct this way, so let's do it.
	* drivers/apcsmart.c: apcsmart: cosmetics  - code shuffling,
	  comments, flow - rename query_ups() -> legacy_verify() - add few
	  lines of help directing to man page
	* drivers/apcsmart.c: apcsmart: simplify query_ups() /
	  proto_verification()  Both functions rely now on common variable
	  verificaion function.
	* drivers/apcsmart.c: apcsmart: add var_verify()  The function will
	  be used in subsequent commit for common verification.
	* drivers/apcsmart.c: apcsmart: shuffle two functions  query_ups()
	  and oldapcsetup()
	* drivers/apcsmart.c: apcsmart: simplify query_ups()  This commit
	  changes query_ups() function and makes it rely on the same
	  deprecate_vars() logic that protocol_verify() requires.  We can
	  shorten the code a bit now, and it allows us to do more
	  simplifications in subsequent commits.
	* drivers/apcsmart.c: apcsmart: add functions informing about
	  [un]supported cmds/vars  In unified fashion, instead of each
	  protocol-verification related function doing it on its own.
	* drivers/apcsmart.c, drivers/apcsmart.h, drivers/apcsmart_tabs.c,
	  drivers/apcsmart_tabs.h: apcsmart: minor tidying up  comments,
	  trivial changes, code shuffling ...
	* drivers/apcsmart.c: apcsmart: remove unused field 'def' from cchar
	  In apc_ser_diff() reporting differences between
	  tcgetattr/tcsetattr, 'def' field was unused (along with related

2012-12-06  Frederic Bohe <>

	* tools/nut-scanner/nut-scanner.c: Fix nut-scanner compilation
	  without pthread

2012-12-02  Charles Lepple <>

	* drivers/riello_usb.c: riello_usb.c: eliminate uninitialized

2012-11-29  Arnaud Quette <>

	* conf/.gitignore: Subversion ignored files completion  Mark
	  upsmon.conf.sample as Subversion ignored, since it is now generated
	  from a .in template file (no functional changes)
	* conf/, conf/upsmon.conf.sample,
	  conf/, Adapt upsmon.conf sample
	  to use configured values  The sample upsmon.conf provided now
	  adapts RUN_AS_USER value, and NOTIFYCMD / POWERDOWNFLAG base path
	  to the user configured values

2012-11-28  Arnaud Quette <>

	* drivers/riello.c, drivers/riello_ser.c, drivers/riello_usb.c: Minor
	  improvements to Riello drivers  Fix ups.power.nominal name in
	  Riello drivers, and its value for GPSER protocol(riello_ser).
	  device.mfr was also changed in both drivers, and revisions were
	  bumped to 0.02 (patch from Elio Parisi, Riello)
	* data/, drivers/, drivers/openups-hid.c,
	  drivers/openups-hid.h, drivers/usbhid-ups.c, scripts/upower/95
	  -upower-hid.rules: Official support for Minibox openUPS Intelligent
	  UPS  Add a new usbhid-ups subdriver to handle Minibox openUPS
	  Intelligent UPS (USB ID 0x04d8:0xd004) (patch from Nicu Pavel,

2012-11-28  Charles Lepple <>

	* conf/upsmon.conf.sample, docs/man/upsmon.conf.txt: Update
	  references to pager.txt

2012-11-27  Frederic Bohe <>

	* data/, docs/man/genericups.txt: Add information about
	  Eaton Management Card Contact

2012-11-25  Arnaud Quette <>

	* drivers/riello.c, drivers/riello.h, drivers/riello_ser.c,
	  drivers/riello_usb.c: Minor improvements to Riello drivers  Fix
	  functions and variables names to use English language. Also fix
	  warnings reported by Mac OS X Buildbot and Charles Lepple (patch
	  from Elio Parisi, Riello)

2012-11-21  Arnaud Quette <>

	* docs/acknowledgements.txt: Complete Acknowledgements with a Riello
	  entry  Riello deserves a dedicated entry in the Supporting UPS
	  manufacturers, for having provided protocols information and
	  drivers implementations
	* docs/man/.gitignore: Subversion ignored files completion  Mark
	  riello_ser and riello_usb HTML manpages as Subversion ignored (no
	  functional changes)
	* data/, docs/man/.gitignore, docs/man/,
	  docs/man/riello_ser.txt, docs/man/riello_usb.txt,
	  drivers/.gitignore, drivers/, drivers/riello.c,
	  drivers/riello.h, drivers/riello_ser.c, drivers/riello_usb.c, tools
	  / Official support for Riello serial and USB devices
	  Add two new drivers, riello_ser and riello_usb, to support the
	  whole ranges of Riello devices: IDG, IPG, WPG, NPW, NDG, DVT, DVR,
	  MPT and MPM. This completes the official Riello protocols
	  publication, that happened in May 2012 (developed by Elio Parisi,
	  from Riello)

2012-11-20  Arnaud Quette <>

	* clients/upsclient.h, server/nut_ctype.h: Fix NSS include directives
	  The current NSS include directives (nss/nss.h) were incorrect.
	  These were failing on Redhat systems, and working on some others
	  because of the default include path (reported by Michal Hlavinka,
	  from Redhat)

2012-11-19  Arnaud Quette <>

	* data/ HCL: Add support for Aviem Power RT
	  1000-3000VA  Add Aviem Systems - Aviem Power RT 1000-3000VA to the
	  list of blazer_ser supported models (reported by Michael

2012-11-19  Emilien Kia <>

	* tools/nut-scanner/nutscan-device.c: Fix a memory leak in scanner.

2012-11-13  Arnaud Quette <>

	* docs/man/.gitignore: Complete the list of Subversion ignored files
	  Commit r3778 was missing generated HTML files (no functional
	* docs/man/ Fix installation of libnutclient manual pages
	  Commit r3777 fixed the test target, but libnutclient manual pages
	  were not actually installed
	* docs/man/.gitignore, lib/.gitignore: Complete the list of
	  Subversion ignored files  The merge of NSS and libnutclient
	  branches have left some new generated files (no functional changes)
	* docs/man/libnutclient_commands.txt,
	  docs/man/libnutclient_general.txt, docs/man/libnutclient_misc.txt,
	  docs/man/libnutclient_tcp.txt, docs/man/libnutclient_variables.txt:
	  Fix Buildbot failures on previous commit (man pages)  The merge of
	  the libnutclient branch caused a failure of the 'distcheck-light'
	  test target. Manual pages documentation in this branch uses a
	  mechanism to generate multiple manpages from one source file. This
	  was however conflicting with a Makefile rule, that requires the
	  generated file to have the same name as the source file. Applies
	  the same principle by adding the content of the Header section to
	  the NAME commands list. Also fix a typo error in the Header section
	  of libnutclient_devices

2012-11-13  Emilien Kia <>

	* clients/, clients/nutclient.cpp, clients/nutclient.h,, docs/man/, docs/man/index.txt,
	  docs/man/libnutclient.txt, docs/man/libnutclient_commands.txt,
	  docs/man/libnutclient_general.txt, docs/man/libnutclient_misc.txt,
	  docs/man/libnutclient_tcp.txt, docs/man/libnutclient_variables.txt,
	  docs/new-clients.txt, lib/, lib/README,
	  lib/ Merge libnutclient (libcpp) branch   Pull
	  Request #2: "High level C and C++ libnutclient" from . Hand-merged into SVN trunk
	  from commit: 701cc571f4f8578e9c82b13c1e9eab509a41cd7f

2012-11-08  Frederic Bohe <>

	* docs/man/usbhid-ups.txt, drivers/usbhid-ups.c: Add a command line
	  to usbhid-ups to activate the max_report tweak.
	* drivers/apc-hid.c, drivers/libhid.c: Fix tweak for APC Back-UPS
	  since it seems to break Back-UPS 700 connectivity (reported by
	  Denis Serov).  Adding some more comments on UPS which need and
	  which do not need the tweak. Refactored the detection code.

2012-11-07  Arnaud Quette <>

	* scripts/subdriver/ Fix USB HID subdriver
	  generation tool  This tool has not been updated since timestamps
	  were added to driver debug traces. It was thus producing erroneous
	  results (reported by Nicu Pavel)

2012-11-01  Arnaud Quette <>

	* drivers/snmp-ups.c: Fix a crash on outlets management  snmp-ups was
	  crashing when the number of outlets was equal to zero

2012-10-31  Arnaud Quette <>

	* docs/man/.gitignore, docs/man/blazer.txt: Fix blazer manual pages
	  generation  to generate blazer, blazer_ser and blazer_usb manual
	  pages. The same manual page is now distributed and available under
	  these 3 names (warning to packagers)
	* docs/man/, docs/man/asciidoc.conf: Fix manpage
	  refmiscinfo attributes and multiple NAME  refmiscinfo attributes
	  were previously specified through asciidoc.conf. This approach
	  prevented from specifying and generating multiple manual pages from
	  a single source. Moreover, manversion (pointing NUT version) was
	  mistyped, and thus omitted. Makefile rules now directly define
	  refmiscinfo through attributes, and allow to solve the long
	  standing blazer / blazer_ser / blazer_usb related issue, and the
	  upcoming libnutclient one

2012-10-19  Arnaud Quette <>

	* drivers/cps-hid.c, drivers/idowell-hid.c, scripts/subdriver/gen- Replace missing occurrences in previous commit
	* docs/hid-subdrivers.txt, drivers/libhid.c, scripts/,
	  scripts/subdriver/, scripts/subdriver/path- Rename usbhid subdriver generation script  This
	  script was previously named, which was not
	  enough meaningful. The renaming to also
	  makes sense with a potential
	* data/ HCL: Add support for Apollo 850VA  Add Apollo
	  850VA (USB ID 0x0665:0x5161) to the list of blazer_usb supported
	  models (reported by Mike Raath)

2012-10-15  Arnaud Quette <>

	*, scripts/systemd/ Fix driver
	  path in systemd driver unit  The driver path, in nut-
	  driver.service, was not expanded correctly (reported by Marc

2012-10-15  Michal Soltys <>

	* data/ HCL: add info about new APC models  Info about
	  new SMT, SMX and SURTD models which require additional card for
	  "legacy" smart protocol.

2012-10-15  Arnaud Quette <>

	* Only fail if SSL was explicitly requested
	  Configuration should not abort if neither OpenSSL nor Mozilla NSS
	  has been found, and if SSL was not explicitly requested by the
	  user. This fixes the Buildbot compilation failure on Aix (build

2012-10-12  Charles Lepple <>

	* tools/git-svn.authors, tools/svn2cl.authors: Update Emilien Kia's
	  email address

2012-10-11  Arnaud Quette <>

	* docs/ Fix Solaris compilation failure

2012-10-10  Arnaud Quette <>

	* README: Spell check fix (test)
	* .gitignore,, docs/.gitignore, docs/, docs
	  /nut-qa.txt, docs/nut.dict: Spell checking framework implementation
	  Implement a framework to spell check documentation source files,
	  using Aspell. This includes an interactive build target (make
	  spellcheck-interactive), and an automated one (make spellcheck),
	  mainly for QA / Buildbot purpose. Note that a base NUT dictionnary
	  is also available (docs/nut.dict), providing a glossary of terms
	  related to power devices and management
	* drivers/tripplite_usb.c: Remove POD ("Plain Old Documentation")
	  With the approval of the author (Charles Lepple), remove POD
	  ("Plain Old Documentation"). This embedded documentation was
	  redundant, and is probably out of date, with respect to the
	  AsciiDoc version
	* drivers/powercom.c, drivers/powercom.h, drivers/upscode2.c: Remove
	  unnecessary RCS $Id lines

2012-10-05  Arnaud Quette <>

	* tools/nut-scanner/nut-scan.h: Fix compilation error  Define
	  IPMI_PRIVILEGE_LEVEL_ADMIN value, in case FreeIPMI is not available

2012-10-04  Arnaud Quette <>

	* docs/man/nut-scanner.txt, drivers/nut-ipmipsu.c, tools/nut-scanner
	  /nut-scan.h, tools/nut-scanner/nut-scanner.c, tools/nut-
	  scanner/scan_ipmi.c: Support power supplies scan over the network
	  nut-scanner can now scan for power supplies with IPMI over LAN.
	  This is currently limited to IPMI 1.5 only

2012-10-03  Arnaud Quette <>

	* docs/acknowledgements.txt: Update acknowledgements

2012-09-28  Charles Lepple <>

	* drivers/.gitignore: Cleanup of svn:ignore list in drivers/ (no code

2012-09-27  Charles Lepple <>

	* tools/git-svn.authors, tools/svn2cl.authors: Welcome, Václav! (SVN
	  username mappings)

2012-09-21  Arnaud Quette <>

	* docs/nut-qa.txt: Update the link to the Ubuntu QRT script

2012-09-19  Arnaud Quette <>

	* drivers/nut-libfreeipmi.c, m4/nut_check_libfreeipmi.m4, tools/nut-
	  scanner/scan_ipmi.c: Support for FreeIPMI 1.1.x and 1.2.x (#2)
	  Prepare for supporting API changes in FreeIPMI 1.1.x and 1.2.x.
	  This 2nd patch, which completes [[SVN:3675]], addresses FRU API
	  changes, and removes code redundancy. This code has been tested
	  with FreeIPMI 0.8.12 and the latest [[FreeIPMI SVN]] trunk r9505
	  (reported as 1.2.0.beta2 by pkgconfig)
	* docs/download.txt, docs/website/news.txt: Update Windows package
	  publications for 2.6.5-3

2012-09-17  Arnaud Quette <>

	* docs/download.txt, docs/website/news.txt: Update Windows package
	  publications for 2.6.5-2

2012-09-12  Arnaud Quette <>

	* drivers/bcmxcp_usb.c: Fix data reception loop  The new data
	  reception algorithm was trying to get more data than it should
	  (patch from Rich Wrenn)

2012-09-10  Frederic Bohe <>

	* drivers/apc-hid.c, drivers/apc-hid.h, drivers/libhid.c: Add a tweak
	  for APC Back UPS ES  APC Back UPS ES have a buggy firmware which
	  overflows on ReportID 0x0c, i.e.
	  UPS.PowerSummary.RemainingCapacity. This results in battery.charge
	  not being exposed and endless reconnections on systems with libusb
	  reporting EOVERFLOW. And it results on a failure to init the driver
	  for  systems with libusb not reporting EOVERFLOW but EIO (i.e. on
	* tools/nut-scanner/nut-scanner.c: [nut-scanner] Fix a crash when no
	  start IP is provided.
	* drivers/apc-hid.c, drivers/bcmxcp_usb.c, drivers/belkin-hid.c,
	  drivers/blazer_usb.c, drivers/cps-hid.c, drivers/idowell-hid.c,
	  drivers/liebert-hid.c, drivers/mge-hid.c, drivers/powercom-hid.c,
	  drivers/richcomm_usb.c, drivers/tripplite-hid.c,
	  drivers/tripplite_usb.c, drivers/usb-common.c, drivers/usb-
	  common.h: Extend USB device support check (from Arnaud Quette)  Use
	  USBDevice_t structure in is_usb_device_supported(), instead of
	  direct VendorID and ProductID. This allows to pass it to the
	  specific processing handler for broader check

2012-09-07  Leo Arias <>

	* conf/nut.conf.sample: Update nut.conf.sample (grammar and

2012-08-14  Arnaud Quette <>

	* NEWS, UPGRADING,, data/,
	  docs/, docs/configure.txt, docs/documentation.txt,
	  docs/download.txt, docs/images/eaton-logo.png,
	  docs/images/hostedby.png, docs/images/simple.png,
	  docs/man/.gitignore, docs/man/, docs/man/index.txt,
	  docs/man/macosx-ups.txt, docs/man/mge-shut.txt,
	  docs/man/nutscan.txt, docs/man/nutscan_scan_avahi.txt,
	  docs/man/powercom.txt, docs/man/skel.txt, docs/nut-names.txt,
	  docs/website/.gitignore, docs/website/, docs/website/css
	  /web-layout.css, docs/website/news.txt, docs/website/old-news.txt,
	  docs/website/projects.txt, docs/website/web-layout.conf,
	  drivers/.gitignore, drivers/, drivers/macosx-ups.c,
	  drivers/mge-hid.c, drivers/powercom-hid.c, drivers/skel.c, drivers
	  /usbhid-ups.c, drivers/usbhid-ups.h, m4/nut_check_libltdl.m4: Merge
	  from trunk [[SVN:3679]] to [[SVN:3718]] to ssl-nss-port

2012-08-09  Arnaud Quette <>

	* docs/website/.gitignore, docs/website/,
	  docs/website/news.txt, docs/website/old-news.txt: Integrate
	  archived news
	* docs/nut-names.txt, drivers/mge-hid.c: Add shutdown ability switch
	  to Eaton units  Eaton HID units (using usbhid-ups or [new,old]mge-
	  shut) were missing a data mapping to allow the change of the
	  shutdown ability switch. The result was that the UPS was not
	  powered off, even if all the protocol commands were sent (reported
	  by Daniel O'Connor)
	* docs/download.txt, docs/website/news.txt: Update Windows package
	  publications for 2.6.5-1
	* docs/man/.gitignore, docs/man/index.txt: Added macosx-ups manual
	  page to the index  Also add generated groff and HTML contents to
	  the list of Subversion ignored files

Revision 1.8 / (download) - annotate - [select for diffs], Wed Mar 28 06:23:34 2018 UTC (5 years, 8 months ago) by mrg
Branch: MAIN
CVS Tags: pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)

avoid printing "No error" a bunch of times.  this was spamming my syslog.

Revision 1.7 / (download) - annotate - [select for diffs], Tue Feb 27 23:56:09 2018 UTC (5 years, 9 months ago) by khorben
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

Revbump for packages depending on devel/libusb{,compat}

Revision 1.6 / (download) - annotate - [select for diffs], Sat Feb 10 13:53:48 2018 UTC (5 years, 9 months ago) by khorben
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

Import global switch for libusb's implementation [2/2]

This switch is meant to be used by packages requiring an implementation of the
former libusb (as in devel/libusb). The original implementation can be
chosen by setting LIBUSB_TYPE to "native".

The alternative implementation libusb-compat (as in devel/libusb-compat) wraps
libusb1 (in devel/libusb1). This implementation can be chosen by setting
LIBUSB_TYPE to "compat". On NetBSD, it has the advantage of not requiring root
privileges to locate and use USB devices without a kernel driver.

This second part switches packages using libusb to this framework. It does not
change compilation options or dependencies at this point.

Compile-tested on most packages affected and available on NetBSD/amd64.

Revision 1.5 / (download) - annotate - [select for diffs], Tue Nov 10 08:52:38 2015 UTC (8 years ago) by mrg
Branch: MAIN
CVS Tags: pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (colored)

s/long// (leaving "unsigned") in some code that fails when long is
anything but 32 bits (and unsigned is 32 bits in pretty much all
modern platforms.)

this allows ups-nut-usb to work on sparc64 for me, otherwise the
hidparser fails.

bump pkg revision for ups-nut-usb, as that pkg changes (at least
for big endian platforms.)

Revision 1.4 / (download) - annotate - [select for diffs], Tue Oct 23 19:51:28 2012 UTC (11 years, 1 month ago) by asau
Branch: MAIN
CVS Tags: pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2, pkgsrc-2014Q1-base, pkgsrc-2014Q1, pkgsrc-2013Q4-base, pkgsrc-2013Q4, pkgsrc-2013Q3-base, pkgsrc-2013Q3, pkgsrc-2013Q2-base, pkgsrc-2013Q2, pkgsrc-2013Q1-base, pkgsrc-2013Q1, pkgsrc-2012Q4-base, pkgsrc-2012Q4
Changes since 1.3: +1 -3 lines
Diff to previous 1.3 (colored)

Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Jul 29 15:11:40 2011 UTC (12 years, 4 months ago) by bouyer
Branch: MAIN
CVS Tags: pkgsrc-2012Q3-base, pkgsrc-2012Q3, pkgsrc-2012Q2-base, pkgsrc-2012Q2, pkgsrc-2012Q1-base, pkgsrc-2012Q1, pkgsrc-2011Q4-base, pkgsrc-2011Q4, pkgsrc-2011Q3-base, pkgsrc-2011Q3
Changes since 1.2: +15 -4 lines
Diff to previous 1.2 (colored)

Update ups-nut* from 2.0.5 to 2.6.1. Changes are too large to list here,

Revision 1.2 / (download) - annotate - [select for diffs], Fri Jun 20 01:09:36 2008 UTC (15 years, 5 months ago) by joerg
Branch: MAIN
CVS Tags: pkgsrc-2011Q2-base, pkgsrc-2011Q2, pkgsrc-2011Q1-base, pkgsrc-2011Q1, pkgsrc-2010Q4-base, pkgsrc-2010Q4, pkgsrc-2010Q3-base, pkgsrc-2010Q3, pkgsrc-2010Q2-base, pkgsrc-2010Q2, pkgsrc-2010Q1-base, pkgsrc-2010Q1, pkgsrc-2009Q4-base, pkgsrc-2009Q4, pkgsrc-2009Q3-base, pkgsrc-2009Q3, pkgsrc-2009Q2-base, pkgsrc-2009Q2, pkgsrc-2009Q1-base, pkgsrc-2009Q1, pkgsrc-2008Q4-base, pkgsrc-2008Q4, pkgsrc-2008Q3-base, pkgsrc-2008Q3, pkgsrc-2008Q2-base, pkgsrc-2008Q2, cwrapper, cube-native-xorg-base, cube-native-xorg
Changes since 1.1: +3 -1 lines
Diff to previous 1.1 (colored)

Add DESTDIR support.

Revision / (download) - annotate - [select for diffs] (vendor branch), Wed Aug 16 13:23:16 2006 UTC (17 years, 3 months ago) by ghen
Branch: TNF
CVS Tags: pkgsrc-base, pkgsrc-2008Q1-base, pkgsrc-2008Q1, pkgsrc-2007Q4-base, pkgsrc-2007Q4, pkgsrc-2007Q3-base, pkgsrc-2007Q3, pkgsrc-2007Q2-base, pkgsrc-2007Q2, pkgsrc-2007Q1-base, pkgsrc-2007Q1, pkgsrc-2006Q4-base, pkgsrc-2006Q4, pkgsrc-2006Q3-base, pkgsrc-2006Q3
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

ups-nut-usb provides USB drivers from the Network UPS Tools.

Import them as a separate package because they require devel/libusb.

Revision 1.1 / (download) - annotate - [select for diffs], Wed Aug 16 13:23:16 2006 UTC (17 years, 3 months ago) by ghen
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>