Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Poor Support for Minuteman UPS over SNMP? #2760

Open
almulder opened this issue Jan 9, 2025 · 10 comments
Open

Poor Support for Minuteman UPS over SNMP? #2760

almulder opened this issue Jan 9, 2025 · 10 comments
Labels
impacts-release-2.8.2 Issues reported against NUT release 2.8.2 (maybe vanilla or with minor packaging tweaks) Incorrect or missing readings On some devices driver-reported values are systemically off (e.g. x10, x0.1, const+Value, etc.) SNMP unraid Integration of NUT into unraid OS

Comments

@almulder
Copy link

almulder commented Jan 9, 2025

Unable to get any connection working to my Minutman UPS with this plugin. If I stop this one and use the Unraid one, that can connect and report status.

Would like to use this plugin instead of unraids. Are we able to get support for the Minutman UPS

This is from the auto Config: (Even with this added for manual config, it still does not connect.)

[nutdev-snmp1]
driver = "snmp-ups"
port = "10.1.10.232"
mibs = "delta_ups"
community = "public"

This is in the unraid log:

upsmon[20890]: UPS [[email protected]]: connect failed: Connection failure: Connection refused
@almulder
Copy link
Author

almulder commented Jan 9, 2025

I have tried all three users listed. but it never shows runtime and such, but the built-in unraid one works so really confused. (and yes only one is runing at a time)

image
.
.
.
.
image
image
.
.
.
.
image
image

@jimklimov
Copy link
Member

Whoa-whoa, what "this plugin", for which appliance/ecosystem? We here are about the upstream NUT project...

Generally I'd ask about logs from the NUT driver, started with debug verbosity settings, as well as NUT version involved and if you have a chance to custom-build current code to test with it. Can still come to that, if we'd need to dig deeper later.

At the moment, since your UPS has logins with passwords and not plain old communities, you definitely should try the settings for SNMPv3 - those sort of credentials are its concepts.

@almulder
Copy link
Author

Sorry, Its the Unraid plugin I instleed form the app store and for support it linked me kere. If i use the unraid built in one as seen in the secon set of screenshots, it pulls the info without user name and passwords.

In the 3rd set of screenshots is this plugin and even with user name and password entered it will not pull the battery levels and runtime.

Not sure what you need or if this is the right place.

@jimklimov
Copy link
Member

Then I'm also CC'ing @desertwitch to chime in here :)

Alas, GitHub won't open me the images in a new tab as such, so I have to make do with the tiny ones in the ticket. Anyhow...

The first pair of screenshots (with driver 3.14.14 from 2016) apparently refers to apcupsd software, that's their last release.

The second pair exposes a recent NUT release 2.8.2, so it should be capable of SNMPv3 and various types of crypto that come with it. Check the Examples section in https://networkupstools.org/historic/v2.8.2/docs/man/snmp-ups.html

  • Upon second reading, given that the driver does discover some info, maybe SNMPv3 auth is not the culprit, and SNMPv1/2 communities also work for you. Not really sure what the "users" screenshot is about now, is it from the UPS itself or from the appliance's setup? Are these accounts for Web(/SSH/...) access or also/specifically for SNMP (then v3) to the UPS?

Devices are expected to implement the IETF MIB as the lowest common denominator, this is the last lock pick a driver tries in automatic mode. More/different information may be available from vendor extension branches of SNMP OID tree, and NUT subdrivers are coded to know about some such branches and the data points they deliver (and this mapping may be getting out of date as new vendor MIB versions are released and supported by their firmwares).

In your case the "delta_ups" MIB seems to have been served and thus used, see https://github.com/networkupstools/nut/blob/v2.8.2/drivers/delta_ups-mib.c#L94 for the maximum of information that it can deliver today, which is frankly not much - most of the data points (discovered in a data walk back knows when) are tucked away as "unmapped". Maybe more can be discovered from the newer device following https://github.com/networkupstools/nut/blob/master/docs/snmp-subdrivers.txt instructions. Ultimately, this needs someone to take a look at contents of these data points, give a proper name (and maybe measurement scaling) according to https://github.com/networkupstools/nut/blob/v2.8.2/docs/nut-names.txt, ideally test it with a local build of NUT - not necessarily on the same appliance, SNMP can run from anywhere, and submit a pull request. That's how open-source works, especially as nobody has all the devices under hand.

FWIW, the Minuteman (note the name is with "e") is not explicitly mentioned in SNMP drivers, but is in USB, as "Delta/Minuteman" in Tripplite HID subdriver, so the discovered MIB for SNMP looks right.

@jimklimov jimklimov added SNMP unraid Integration of NUT into unraid OS Incorrect or missing readings On some devices driver-reported values are systemically off (e.g. x10, x0.1, const+Value, etc.) impacts-release-2.8.2 Issues reported against NUT release 2.8.2 (maybe vanilla or with minor packaging tweaks) labels Jan 10, 2025
@jimklimov jimklimov changed the title No Support for Minutman UPS? No Support for Minuteman UPS? Jan 10, 2025
@jimklimov
Copy link
Member

Also, the issue was a bit of misnomer: "No support" is when we can't get info from a device (e.g. unknown protocol) or it is apparently bogus (like always on battery) - so also unknown protocol to an extent. Here the served data seems reasonable, just there's not too much of it. Support does exist, it's just poor :)

@jimklimov jimklimov changed the title No Support for Minuteman UPS? No Support for Minuteman UPS over SNMP? Jan 10, 2025
@jimklimov jimklimov changed the title No Support for Minuteman UPS over SNMP? Poor Support for Minuteman UPS over SNMP? Jan 10, 2025
@desertwitch
Copy link
Contributor

I think this is mostly an issue of the "wrong" (or not ideal) MIB being chosen by the automatic mechanisms, but this can easily be switched in the Unraid plugin's GUI for (hopefully) better results. I don't think the Unraid OS "UPS Settings" (apcupsd) have any specific MIB for your UPS either, so I'm thinking you'll see best results with the IETF standard MIB as Jim already pointed out.

Please "Reset Config" first (!) and then set up your NUT Settings as follows:
grafik
If ietf doesn't provide more values, you can test other MIBs selectable under SNMP Definition MIB.

Additionally I'd suggest inserting your nominal values so missing values can be calculated from them:
grafik
I assumed these for you, so you'll have to put in the actual nominal values of your UPS here.

@almulder
Copy link
Author

almulder commented Jan 10, 2025

That worked, mostly. I had to change the SNMP Version to v1, else it would failt to load. (And UPS Output was close, mine is 800w)

image

Thanks so much fo your help.
here is the info from the NUT Details incase it helps fo future people.

<html>
<body>
<!--StartFragment-->
battery.charge | 100 | battery.runtime | 4680
-- | -- | -- | --
battery.temperature | 28 | battery.voltage | 42
device.contact | Albert | device.description | UPS SNMP Agent
device.location | DiskShelf | device.mfr | Delta
device.model | E1000RTXL2U | device.type | ups
driver.debug | 0 | driver.flag.allow_killpower | 0
driver.name | snmp-ups | driver.parameter.mibs | ietf
driver.parameter.pollfreq | 15 | driver.parameter.pollinterval | 2
driver.parameter.port | 10.1.10.232 | driver.parameter.snmp_version | v1
driver.parameter.synchronous | auto | driver.state | quiet
driver.version | 2.8.2 | driver.version.data | ietf MIB 1.55
driver.version.internal | 1.31 | input.bypass.L1-N.voltage | 0
input.bypass.L2-N.voltage | 0 | input.bypass.L3-N.voltage | 0
input.bypass.phases | 1 | input.bypass.voltage | 0
input.frequency | 60 | input.frequency.nominal | 60
input.phases | 1 | input.voltage | 118
input.voltage.nominal | 120 | output.current | 5.90
output.frequency | 60 | output.frequency.nominal | 60
output.phases | 1 | output.power.nominal | 1000
output.realpower | 681 | output.voltage | 118
output.voltage.nominal | 120 | ups.beeper.status | disabled
ups.firmware | 03 | ups.firmware.aux | 1.14o
ups.load | 84 | ups.mfr | Delta
ups.model | E1000RTXL2U | ups.start.auto | yes
ups.status | OL | ups.test.result | done and passed
ups.timer.reboot | 0 | ups.timer.shutdown | 0

<!--EndFragment-->
</body>
</html>

@jimklimov
Copy link
Member

But still, if you are in position to roll up the sleeves to make Delta MIB more useful - that would be great and welcome too :)

@almulder
Copy link
Author

Let me know how I can help, more than willing to (just need to guide me)

@jimklimov
Copy link
Member

jimklimov commented Jan 11, 2025

Primarily check https://github.com/networkupstools/nut/wiki/Building-NUT-for-in%E2%80%90place-upgrades-or-non%E2%80%90disruptive-tests about build prerequisites and general procedure to check out and build NUT (for your case, plain ./ci_build.sh should suffice to wrap the common case), and how to test-run a driver program you've just built, and https://github.com/networkupstools/nut/blob/master/docs/snmp-subdrivers.txt about iterating with the new/updated SNMP MIB against a device.

You can use any interactive VM or container for this, not necessarily a production machine, as long as you can get by network from it to the UPS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impacts-release-2.8.2 Issues reported against NUT release 2.8.2 (maybe vanilla or with minor packaging tweaks) Incorrect or missing readings On some devices driver-reported values are systemically off (e.g. x10, x0.1, const+Value, etc.) SNMP unraid Integration of NUT into unraid OS
Projects
Status: Todo
Development

No branches or pull requests

3 participants