FTY remerge from master as of 2026-06-30#3516
Open
jimklimov wants to merge 796 commits into
Open
Conversation
…FLAGS [networkupstools#3495] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
GCC will silently accept warning disable options, but then if there is an issue, warn about the option. "cc1: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics" Signed-off-by: Doug Nazar <nazard@nazar.ca>
Signed-off-by: Doug Nazar <nazard@nazar.ca>
Signed-off-by: Doug Nazar <nazard@nazar.ca>
Signed-off-by: Doug Nazar <nazard@nazar.ca>
Signed-off-by: Doug Nazar <nazard@nazar.ca>
Signed-off-by: Doug Nazar <nazard@nazar.ca>
Signed-off-by: Doug Nazar <nazard@nazar.ca>
Signed-off-by: Doug Nazar <nazard@nazar.ca>
…ther Phoenixtec devices GoldenMate 1000VA/800W LiFePO4 packs reuse the shared Phoenixtec vendor ID 0x06da:0xffff with the same -BMS- firmware and HID descriptor as the existing iDowell 0x075d:0x0300 device, so they fall back to the generic liebert-hid handler (bogus battery.runtime, etc). The 0x06da VID is shared: mge-hid claims it for AEG PROTECT NAS and liebert-hid is its default sink. Probe order is mge -> idowell -> liebert, so idowell can intercept GoldenMate before liebert provided it does not grab the other 0x06da devices. - Add a named PHOENIXTEC_VENDORID define and use it for the 0x06da:0xffff device-table entry (feeds the udev/nut-scanner parser). - Gate idowell_claim() on the device's -BMS-/Smart-Battery strings, like mge_claim() does for AEG, returning 0 for non-GoldenMate 0x06da so they fall through to liebert-hid / mge-hid. - Bump IDOWELL_HID_VERSION to 0.21 and add a NEWS.adoc entry. - List both GoldenMate variants in data/driver.list.in. Fixes: networkupstools#3501 Signed-off-by: Boris Shor <boris@bshor.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v5...v6) --- updated-dependencies: - dependency-name: actions/cache dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
… scaling, va override Startup robustness (issue networkupstools#3500, Easy Pro 3200 VA GT on a Raspberry Pi) ---------------------------------------------------------------------- The reporter's unit failed every boot with "no reply to initial status poll", even though it speaks the family-10 protocol correctly (its 30-byte main range decodes cleanly against the OEM Supervise 8 readings). The root cause, pinned down from an strace + the probe script, was the serial line discipline, not the protocol: * A freshly enumerated CDC-ACM tty comes up in canonical mode (ICANON). In that mode the kernel buffers incoming bytes until it sees a newline. The firmware's replies are raw binary and never contain one, so the bytes were held in the kernel and the first poll always timed out. The driver had been relying on the port already being raw -- which happened to be true on the author's host only because its systemd unit ran "stty ... raw" in an ExecStartPre, masking the bug. Without that external step (e.g. a plain "upsdrvctl start"), the driver never worked. upsdrv_initups() now sets raw 8N1 mode itself: tcgetattr/clear ICANON et al./tcsetattr, leaving the baud untouched (CDC-ACM ignores it at the wire), with CLOCAL set and HUPCL cleared so neither the reconfigure nor the eventual close toggles DTR, and DTR/RTS are forced low afterwards. The previous "NEVER call tcsetattr" comment was unfounded: NUT's own ser_set_speed() configures raw mode via tcsetattr and is used by ~50 serial drivers, the reporter observed no DTR pulse / shutdown, and this driver's shutdown path is a register write, not a DTR edge. * upsdrv_initinfo() now retries the wake-up handshake and first poll a few times before calling fatalx(). Right after a cold boot the device may have only just enumerated and the firmware can need a moment to answer. Retrying lets the driver come up cleanly under the stock NUT systemd units (which start it as soon as the device node appears) instead of depending on a fatal exit plus a Restart=on-failure cycle to recover, which is noisy and only retries on a 5 s cadence. Combined with the raw mode above, no external stty, sleep, or .device binding is needed. * The firmware answers the handshake with a byte or two (e.g. 0xCA). Some models are half-duplex and drop a command sent while that reply is still in flight; the handshake reply is now drained before the first poll (which only works because raw mode actually delivers those bytes). Other fixes ----------- * Compute battery.charge as raw / 2.55 so a full battery reports exactly 100 % instead of 100.2 % (drops the previous clamp). * Add a "va" ups.conf option to override the apparent-power rating. The model id byte is shared between product lines (a 3200 VA GT reports the same id as an Easy 2200 TI), so the driver cannot always pick the right VA from its table; the override corrects ups.power.nominal, ups.realpower.nominal and the computed ups.load. Verified: family-10 Easy 2000 TI on hardware (raw mode, handshake drain, battery 100.0, va=3200 override) and the 3200 VA GT by the reporter (full telemetry, matching Supervise 8). Driver bumped to 0.10, still DRV_EXPERIMENTAL. Signed-off-by: juslex <66561713+juslex@users.noreply.github.com>
The ragtech driver talks to a USB CDC-ACM device node (/dev/ttyACM*) through the serial layer. Classifying it as "serial" media lets the auto-generated nut-driver@<ups> service depend on systemd-udevd / nut-udev-settle, so it waits for the device node to be published by udev before starting instead of racing the enumeration at boot. Requested by @jimklimov in issue networkupstools#3500. Add a [ragtech-serial] section to the enumerator self-test fixture and the matching entries in the affected expected outputs (device-name listing, config dump, and MEDIA/checksum listing). Full self-test passes (104 cases). Signed-off-by: juslex <66561713+juslex@users.noreply.github.com>
`upsimage.cgi`: adjust scaling for small ranges (single-digit)
Fix rpath option of NetBSD CI
CI: Fix RPATH for illumos and related OSes
…ing_with_readonly_nfs_mount Fix building with a read-only nfs mounted source
Add some new UPS models
…-readings snmp-ups: map more xppc readings for Phoenixtec UPS cards
…ot/github_actions/actions/cache-6 build(deps): bump actions/cache from 5 to 6
…ot/github_actions/actions/checkout-7 build(deps): bump actions/checkout from 6 to 7
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
ragtech: drain handshake reply, fix battery scaling, add va override
nut-driver-enumerator: classify ragtech as serial media
…-ar630-hcl Add ARES AR630 to HCL
Fix minor issues to compile on AIX
Try to avoid losing client outputs if exit clean-up crashes; try to avoid (Open)SSL-related crashes there
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…pipe_security() to be reusable [networkupstools#3479, networkupstools#3525] Co-authored-by: mbv06 <mbv06.dev@gmail.com> Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
… attributes for listening pipes [networkupstools#3525] Replicate what was done for dstate.c in PR networkupstools#3479. Co-authored-by: mbv06 <mbv06.dev@gmail.com> Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
networkupstools#3526, networkupstools#3109] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…#3526, networkupstools#3109] * Do not add optional dependency on `cut` * Consider starting AND ending characters of input hash string for more randomness Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…we can follow up, logging the error in a way that seems too fatal to warnings parsers [networkupstools#1711] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ions are present [networkupstools#3525, networkupstools#3105] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…e `SKIP: can't open existing event log NAMED_PIPE` messages [networkupstools#3527] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…log()/upsdebug() from this method [networkupstools#3527] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…Pipe(): add PIPE_REJECT_REMOTE_CLIENTS flag to only work with local host clients [networkupstools#3527] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…le command-line args as separately quoted tokens in the directive [networkupstools#3499] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
… in upsmon [networkupstools#3499] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ert-related data [networkupstools#3499] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…in one token [networkupstools#3499] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…pstools#3499, networkupstools#1711] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ools#3499] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ome [networkupstools#3529] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
blazer_usb, nutdrv_qx: play safer with temporary buffers, pre-zero some more
…hrg-status-at-full-charge mge-hid: suppress CHRG on CC-mode devices when battery is fully charged
…ut CHRG status suppression [networkupstools#3518, networkupstools#3519] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
upsmon et al: introduce NOTIFY_SUSPEND_TIMEJUMP_UNEXPECTED
Handle `upsmon` NOTIFYCMD and `upssched` CMDSCRIPT values strictly as paths
`upssched` and other NUT daemons: fix Windows state pipe permissions
Introduce NUT "authconf" file support [networkupstools#3329, networkupstools#3411]
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
|
❌ Build nut 2.8.5.4942-FTY failed (commit 79995f2cf8 by @jimklimov) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update the codebase changes accumulated since NUT v2.8.5 release, and rectify a few DMF-specific script/recipe nuances.