pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/sysutils Update nut to 2.7.4 (from 2.6.5).

branches:  trunk
changeset: 312970:3d6d86981b1c
user:      jym <>
date:      Fri Sep 21 00:59:53 2018 +0000

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:

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:
          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:

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
          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:  - ?return?
          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
          handle BCMXCP_RETURN_ACCEPTED_PARAMETER_ADJUST  Use the defined
          constants from header file, instead of magic numbers in setvar
          method. Add handling of BCMXCP_RETURN_ACCEPTED_PARAMETER_ADJUST.
          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
          BCMXCP_RETURN_ACCEPTED_PARAMETER_ADJUST, which means the command
          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
          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
        * 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


 sysutils/ups-nut-cgi/Makefile                      |    4 +-
 sysutils/ups-nut-snmp/Makefile                     |    3 +-
 sysutils/ups-nut-usb/Makefile                      |    3 +-
 sysutils/ups-nut/Makefile                          |    3 +-
 sysutils/ups-nut/Makefile.common                   |   10 +-
 sysutils/ups-nut/PLIST                             |   21 ++-
 sysutils/ups-nut/distinfo                          |   16 +-
 sysutils/ups-nut/files/                |    4 +-
 sysutils/ups-nut/patches/patch-aa                  |    4 +-
 sysutils/ups-nut/patches/patch-ab                  |  105 ---------------------
 sysutils/ups-nut/patches/patch-clients_upsclient.c |    4 +-
 sysutils/ups-nut/patches/patch-snmp-error-msg.c    |   15 +++
 12 files changed, 56 insertions(+), 136 deletions(-)

diffs (truncated from 399 to 300 lines):

diff -r 40399e43c41d -r 3d6d86981b1c sysutils/ups-nut-cgi/Makefile
--- a/sysutils/ups-nut-cgi/Makefile     Thu Sep 20 21:42:08 2018 +0000
+++ b/sysutils/ups-nut-cgi/Makefile     Fri Sep 21 00:59:53 2018 +0000
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.65 2018/03/12 11:17:37 wiz Exp $
+# $NetBSD: Makefile,v 1.66 2018/09/21 00:59:53 jym Exp $
 .include "../../sysutils/ups-nut/Makefile.common"
 PKGNAME=               ${DISTNAME:S/nut/ups-nut-cgi/}
-PKGREVISION=           11
 COMMENT=               Network UPS Tools CGI scripts
 DEPENDS+=              ups-nut-2.*:../../sysutils/ups-nut
@@ -49,4 +48,5 @@
 .include "../../graphics/freetype2/"
 .include "../../graphics/gd/"
+.include "../../graphics/tiff/"
 .include "../../mk/"
diff -r 40399e43c41d -r 3d6d86981b1c sysutils/ups-nut-snmp/Makefile
--- a/sysutils/ups-nut-snmp/Makefile    Thu Sep 20 21:42:08 2018 +0000
+++ b/sysutils/ups-nut-snmp/Makefile    Fri Sep 21 00:59:53 2018 +0000
@@ -1,6 +1,5 @@
-# $NetBSD: Makefile,v 1.5 2016/03/05 11:29:32 jperkin Exp $
+# $NetBSD: Makefile,v 1.6 2018/09/21 00:59:53 jym Exp $
 .include "../../sysutils/ups-nut/Makefile.common"
 PKGNAME=               ${DISTNAME:S/nut/ups-nut-snmp/}
diff -r 40399e43c41d -r 3d6d86981b1c sysutils/ups-nut-usb/Makefile
--- a/sysutils/ups-nut-usb/Makefile     Thu Sep 20 21:42:08 2018 +0000
+++ b/sysutils/ups-nut-usb/Makefile     Fri Sep 21 00:59:53 2018 +0000
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.8 2018/03/28 06:23:34 mrg Exp $
+# $NetBSD: Makefile,v 1.9 2018/09/21 00:59:53 jym Exp $
 .include "../../sysutils/ups-nut/Makefile.common"
 PKGNAME=               ${DISTNAME:S/nut/ups-nut-usb/}
-PKGREVISION=           3
 COMMENT=               Network UPS Tools USB drivers
 DEPENDS+=              ups-nut-2.*:../../sysutils/ups-nut
diff -r 40399e43c41d -r 3d6d86981b1c sysutils/ups-nut/Makefile
--- a/sysutils/ups-nut/Makefile Thu Sep 20 21:42:08 2018 +0000
+++ b/sysutils/ups-nut/Makefile Fri Sep 21 00:59:53 2018 +0000
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.54 2013/07/12 10:45:03 jperkin Exp $
+# $NetBSD: Makefile,v 1.55 2018/09/21 00:59:53 jym Exp $
 .include "Makefile.common"
 PKGNAME=               ups-${DISTNAME}
-PKGREVISION=           1
 COMMENT=               Network UPS Tools
 CONFIGURE_ARGS+=       --with-drvpath=${NUT_DRVDIR:Q}
diff -r 40399e43c41d -r 3d6d86981b1c sysutils/ups-nut/Makefile.common
--- a/sysutils/ups-nut/Makefile.common  Thu Sep 20 21:42:08 2018 +0000
+++ b/sysutils/ups-nut/Makefile.common  Fri Sep 21 00:59:53 2018 +0000
@@ -1,18 +1,19 @@
-# $NetBSD: Makefile.common,v 1.5 2013/02/16 17:34:58 jdf Exp $
+# $NetBSD: Makefile.common,v 1.6 2018/09/21 00:59:53 jym Exp $
 # used by sysutils/ups-nut/Makefile
 # used by sysutils/ups-nut-cgi/Makefile
 # used by sysutils/ups-nut-snmp/Makefile
 # used by sysutils/ups-nut-usb/Makefile
 # used by sysutils/p5-UPS-Nut/Makefile
-DISTNAME=              nut-2.6.5
+BRANCH=                        2.7
+DISTNAME=              nut-${BRANCH}.4
 CATEGORIES=            sysutils
-LICENSE=               gnu-gpl-v2
+LICENSE=               gnu-gpl-v2 OR gnu-gpl-v3
 NUT_USER?=             nut
 NUT_GROUP?=            nut
@@ -21,6 +22,7 @@
 PATCHDIR=              ${.CURDIR}/../../sysutils/ups-nut/patches
 USE_LIBTOOL=           yes
+USE_LANGUAGES=         c c++
 GNU_CONFIGURE=         yes
 CONFIGURE_ARGS+=       --sysconfdir=${NUT_CONFDIR:Q}
 CONFIGURE_ARGS+=       --datadir=${NUT_DATADIR:Q}
diff -r 40399e43c41d -r 3d6d86981b1c sysutils/ups-nut/PLIST
--- a/sysutils/ups-nut/PLIST    Thu Sep 20 21:42:08 2018 +0000
+++ b/sysutils/ups-nut/PLIST    Fri Sep 21 00:59:53 2018 +0000
@@ -1,12 +1,15 @@
-@comment $NetBSD: PLIST,v 1.26 2014/03/11 14:05:16 jperkin Exp $
+@comment $NetBSD: PLIST,v 1.27 2018/09/21 00:59:53 jym Exp $
@@ -31,19 +34,20 @@
@@ -51,8 +55,10 @@
@@ -60,7 +66,7 @@
@@ -78,12 +84,14 @@
@@ -99,6 +107,7 @@
@@ -133,16 +142,16 @@
@@ -153,7 +162,5 @@
-@pkgdir share/nut/html
 @pkgdir share/doc/nut/drivers
 @pkgdir etc/nut
-@pkgdir cgi-bin
diff -r 40399e43c41d -r 3d6d86981b1c sysutils/ups-nut/distinfo
--- a/sysutils/ups-nut/distinfo Thu Sep 20 21:42:08 2018 +0000
+++ b/sysutils/ups-nut/distinfo Fri Sep 21 00:59:53 2018 +0000
@@ -1,11 +1,11 @@
-$NetBSD: distinfo,v 1.32 2018/04/01 20:29:28 joerg Exp $
+$NetBSD: distinfo,v 1.33 2018/09/21 00:59:53 jym Exp $
-SHA1 (nut-2.6.5.tar.gz) = 320debe11df91f04e32824694d0c89a020677f71
-RMD160 (nut-2.6.5.tar.gz) = d6e6acd4696e3c3f8c0ecd998f8676a8625decb9
-SHA512 (nut-2.6.5.tar.gz) = f1c76e6280057dc558d53451e7de2bdc7f37a0f175b1c52c27e7dcb83deeb78f6885007ad188a7a3a19e411eba87e03eb2246310bd7a5a5bb6fa3ad2bebd49d8
-Size (nut-2.6.5.tar.gz) = 2038832 bytes
-SHA1 (patch-aa) = 48110f378518edb43a653753eb4ef6ea28344c62
-SHA1 (patch-ab) = 44988118570714ab2c3fffdd75909c2255b94fa6
-SHA1 (patch-clients_upsclient.c) = dbd2cacf598ff3dc2d3d673dae8563348fc84c8b
+SHA1 (nut-2.7.4.tar.gz) = a450382dbfaff2e1bdeefeda8d3c682a36a7fc72
+RMD160 (nut-2.7.4.tar.gz) = f39a49128a3ba20b1bf122ce569c5a867815c3a1
+SHA512 (nut-2.7.4.tar.gz) = 320c4aff85d8a370c5eff77d33924fdfc3caf6a250620693cdd5bf3336b3a80d8a207488eee841bcf8b72fbad68fda4c074e63b99c56e7886716fc934122d11a
+Size (nut-2.7.4.tar.gz) = 2509831 bytes
+SHA1 (patch-aa) = 5f39487b0ebb39e27dcc76b762ce06090085c24b
+SHA1 (patch-clients_upsclient.c) = 9c521684a5ccf108bd464767f9b31aa2694afae1
 SHA1 (patch-drivers_hidparser.c) = c71d84bbf3140db1f82ef155fdf5afec79cbd38d
 SHA1 (patch-drivers_libusb.c) = 4e75bc13123a37aa2a2b5497d51605f88b0c5464
+SHA1 (patch-snmp-error-msg.c) = f01db1f935cc168c9e831f5b672cd9e16ddf6f2c
diff -r 40399e43c41d -r 3d6d86981b1c sysutils/ups-nut/files/
--- a/sysutils/ups-nut/files/       Thu Sep 20 21:42:08 2018 +0000
+++ b/sysutils/ups-nut/files/       Fri Sep 21 00:59:53 2018 +0000
@@ -1,6 +1,6 @@
-# $NetBSD:,v 1.8 2004/02/15 13:14:25 lukem Exp $
+# $NetBSD:,v 1.9 2018/09/21 00:59:53 jym Exp $
 # PROVIDE: upsdriver
 # REQUIRE: NETWORK syslogd mountcritremote
@@ -31,7 +31,7 @@
 if [ "${upsdriver_type:-upsdrvctl}" = "upsdrvctl" ]
-       ctl_command="@PREFIX@/libexec/nut/upsdrvctl"
+       ctl_command="@PREFIX@/sbin/upsdrvctl"
        start_cmd="${ctl_command} start"
        stop_cmd="${ctl_command} stop"
diff -r 40399e43c41d -r 3d6d86981b1c sysutils/ups-nut/patches/patch-aa
--- a/sysutils/ups-nut/patches/patch-aa Thu Sep 20 21:42:08 2018 +0000
+++ b/sysutils/ups-nut/patches/patch-aa Fri Sep 21 00:59:53 2018 +0000
@@ -1,4 +1,6 @@
-$NetBSD: patch-aa,v 1.11 2013/02/16 17:34:58 jdf Exp $
+$NetBSD: patch-aa,v 1.12 2018/09/21 00:59:53 jym Exp $
+Default conf files go to example dir.
 --- conf/      2013-02-08 15:36:48.000000000 +0100
 +++ conf/   2013-02-08 15:37:02.000000000 +0100
diff -r 40399e43c41d -r 3d6d86981b1c sysutils/ups-nut/patches/patch-ab
--- a/sysutils/ups-nut/patches/patch-ab Thu Sep 20 21:42:08 2018 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-$NetBSD: patch-ab,v 1.12 2013/02/16 17:34:58 jdf Exp $
-Keep trying initialisation if we get a timeout or network error while
-probing the device.
-Submitted upstream as tracker #313195
---- drivers/snmp-ups.c.orig    2013-02-08 15:39:09.000000000 +0100
-+++ drivers/snmp-ups.c 2013-02-08 15:39:13.000000000 +0100
-@@ -90,6 +90,9 @@
- const char *mibname;
- const char *mibvers;
-+int nut_snmp_err; /* saved snmp error from nut_snmp_get */
-+int nut_sys_err; /* saved system errno from nut_snmp_get */
- static void disable_transfer_oids(void);
- #define DRIVER_NAME   "Generic SNMP UPS driver"
-@@ -266,15 +269,15 @@
-       /* FIXME: first test if the device is reachable to avoid timeouts! */
--      /* Load the SNMP to NUT translation data */
--      load_mib2nut(mibs);
-       /* init polling frequency */
-       if (getval(SU_VAR_POLLFREQ))
-               pollfreq = atoi(getval(SU_VAR_POLLFREQ));
-       else
-               pollfreq = DEFAULT_POLLFREQ;
-+      /* Load the SNMP to NUT translation data */
-+      load_mib2nut(mibs);
-       /* Get UPS Model node to see if there's a MIB */
-       su_info_p = su_find_info("ups.model");

Home | Main Index | Thread Index | Old Index