-
I recently setup a new Tripp Lite ECO850LCD UPS for my Netgate SG-1100 (23.05). I installed the Nut Package (2.8.0_2). Other than adding user=root to ups.conf section of advanced settings, it's a clean install (as far as I know).
usbhid-ups seems to start up and upsmon is getting updates.
🔒 Log in to view
🔒 Log in to viewProblem is: ups.status changes from OL to OB and back to OL also indicating discharging and charging state, but there is never a LOW BATT status.
Messages are sent to console and syslog showing UPS is online and on battery, but no low battery notifications.
That means PfSense never does shutdown and the UPS never turns off load.UPS runs down to battery.charge=0 and battery.runtime=30, SG-1100 is still powered (I don't know how much longer it would go since I went back on mains at that point.)
Sorry to be such a noob, but what do I need to do to get the UPS to notify low battery or work around this problem?
Don't know if it is significant but I note that battery.charge.low is not reported by upsc also battery.charge.low can not be set using upsrw.
Any help appreciated.
-
@ghound said in NUT package:
Problem is: ups.status changes from OL to OB and back to OL also indicating discharging and charging state, but there is never a LOW BATT status.
Messages are sent to console and syslog showing UPS is online and on battery, but no low battery notifications.
That means PfSense never does shutdown and the UPS never turns off load.UPS runs down to battery.charge=0 and battery.runtime=30, SG-1100 is still powered (I don't know how much longer it would go since I went back on mains at that point.)
I have used an ECO Tripp Lite in the past, and don't recall it having that issue. That said, to address the situation you can add the following in the Extra Arguments to driver section on the UPS Settings page:
ignorelb override.battery.charge.low = 10 override.battery.runtime.low = 120
For more information, see the UPS FIELDS section in the ups.conf documentation.
-
@dennypage
Thank you Denny. Those changes did the trick!
NUT shutdown PfSense and UPS disconnected shortly afterward.
Everything started normally after reconnected to mains.I noticed new syslog entries by usbhid-ups for:
using 'battery.charge' to set battery low state
using 'battery.runtime' to set battery low stateAlso, new entries appeared from upsc for:
battery.charge.low: 10
battery.runtime.low: 120
driver.flag.ignorelb: enabledI thought I had tried those changes before without success; I suspect I didn't do a good job of isolating what I was trying.
Appreciate your help.
- 20 days later
-
@dennypage said in NUT package:
I've received several requests for the dev build of usbhid-ups, so I thought I would upload the file here.
For reference, the shasum and sha256sum checksums of the unzipped file are:
49ce9131502bfb8b789ee97b7fb3fc81fc9f8fff usbhid-ups 999a2653559dbc50ecc8ba592a67587b1e307a1495f6e8ebbd3d8e90e3967133 usbhid-ups
If you use the file, please post and let me know if it resolves an issue for you.
I'm assuming this is an Intel build, since it (unsurprisingly) didn't work at all on my Netgate 2100. lol Do you have any idea what the ETA is for an update to the NUT package that would include this patch? If not, or if it's still going to be a while, would it be possible for you to post an ARM build of the patched driver?
-
@Maltz said in NUT package:
I'm assuming this is an Intel build, since it (unsurprisingly) didn't work at all on my Netgate 2100.
Yes, it's an intel build. I don't have an ARM system. I have some free time coming up, and will look at building a cross compile environment.
-
@dennypage said in NUT package:
@Maltz said in NUT package:
I'm assuming this is an Intel build, since it (unsurprisingly) didn't work at all on my Netgate 2100.
Yes, it's an intel build. I don't have an ARM system. I have some free time coming up, and will look at building a cross compile environment.
I've got an RPi 4 running Ubuntu, if that'll work. I tried a few times to build it, but my Netgate didn't care for the results, so far. I'm probably configuring the build wrong somehow. If you have a ./configure command, I'd be happy to build 2.8.0 myself and post the result here.
-
@Maltz said in NUT package:
I've got an RPi 4 running Ubuntu, if that'll work. I tried a few times to build it, but my Netgate didn't care for the results, so far. I'm probably configuring the build wrong somehow. If you have a ./configure command, I'd be happy to build 2.8.0 myself and post the result here.
A Pi running Ubuntu will not work. pfSense is based on FreeBSD rather than Linux. You need to be running FreeBSD to build from the FreeBSD Ports collection.
The cross compile situation I was referring to was building FreeBSD ARM from a FreeBSD Intel system.
-
@dennypage said in NUT package:
A Pi running Ubuntu will not work. pfSense is based on FreeBSD rather than Linux. You need to be running FreeBSD to build from the FreeBSD Ports collection.
The cross compile situation I was referring to was building FreeBSD ARM from a FreeBSD Intel system.
I figured Linux vs FreeBSD was the other likely reason it didn't work. I'm quite unfamiliar with FreeBSD and it's package/ports system, but that post gave me enough info to google my way through compiling 2.8.0 on FreeBSD on my spare Pi4. (Interestingly, the RPi version of FreeBSD doesn't have nut in its package repository, I DID have to compile it from ports.) The replacement USB driver is running fine so far on my Netgate 2100. I'll post the binary here later today.
Thanks so much for sussing out the various issues in this thread - it's certainly helped me tremendously, and I'm sure many others as well!
-
@Maltz said in NUT package:
The replacement USB driver is running fine so far on my Netgate 2100. I'll post the binary here later today.
Thank you for this.
-
This post is deleted! -
I have realized that all I did was re-compile the problematic v2.8.0 instead of the devel version. Oops. Here's the ARM verson of usbhid-ups from nut-devel-2023.06.06
sha256sum of uncompressed file:
cdeb8d4400e0c721c878c0af084f48356323c29b7f9ef4fc526b4d9a3ff339a5 usbhid-ups -
Since upgrading to 2.7 nut keeps telling me "UPS is unavailable" and connection lost/unable to communicate. It's a cyberpower 1500pfclcd. It worked absolutely perfectly on 2.6. Not sure what might have changed? Using snmp to connect to the power panel software on a windows machine that hosts the UPS.
I've tried everything I can think of, removing, reinstalling, redoing config etc. It still pulls the stats so I know it's not actually a connection issue, the snmp portion and driver appear to be working properly.
I tried changing pollinterval to 12 and 15 and it still happened.
Edit: I am also noticing the "summary status" is blank. I think it used to say "online" and might explain what's going on
-
I can confirm through ssh that ups.status is blank which is why the nut package thinks it can't communicate.
On another server of mine (a Linux machine) ups.status shows the proper "OL" code.
So it seems something is broken with nut itself in this current release.
-
@incith said in NUT package:
Since upgrading to 2.7 nut keeps telling me "UPS is unavailable" and connection lost/unable to communicate. It's a cyberpower 1500pfclcd. It worked absolutely perfectly on 2.6. Not sure what might have changed? Using snmp to connect to the power panel software on a windows machine that hosts the UPS.
I've tried everything I can think of, removing, reinstalling, redoing config etc. It still pulls the stats so I know it's not actually a connection issue, the snmp portion and driver appear to be working properly.
Not much to go on here... Start with posting your config and status pages?
Services / UPS / Settings
Services / UPS / Status -
@dennypage my follow-up reply gave the cause.
uspc confirms that ups.status is blank after updating, and so pfSense does not know whether it's online or not. All other snmp data displays fine.
ups.firmware CR01802CBH11 ups.load 19 ups.mfr CYBERPOWER ups.model CP1500PFCLCDa ups.status
From Linux server:
ups.firmware: CR01802CBH11 ups.mfr: CYBERPOWER ups.model: CP1500PFCLCDa ups.status: OL
Seem to be using a different driver, too -
pfSense:
driver.version.data cyberpower MIB 0.51
Linux:
driver.version.data: cyberpower MIB 0.1
-
@incith Please post your (complete) config and status pages. I will look at them tomorrow. If you want, you can post the complete output of upsc on your pfSense system as well.
-
[2.7.0-RELEASE][admin@pfs1]/usr/local/etc/nut: cat ups.conf [CP1500PFC] driver=snmp-ups port=10.1.1.12 [2.7.0-RELEASE][admin@pfs1]/usr/local/etc/nut: cat upsd.users [admin] password=223556d47c38fb277211 actions=set instcmds=all [local-monitor] password=d15b36a67a98819c2117 upsmon master [2.7.0-RELEASE][admin@pfs1]/usr/local/etc/nut: cat upsmon.conf MONITOR CP1500PFC 1 local-monitor d15b36a67a98819c2117 master SHUTDOWNCMD "/sbin/shutdown -p +0" POWERDOWNFLAG /etc/killpower
[2.7.0-RELEASE][admin@pfs1]/root: upsc CP1500PFC battery.charge: 100 battery.current: 1.50 battery.runtime: 3000 battery.runtime.elapsed: 0 battery.voltage: 27.60 battery.voltage.nominal: 24 device.contact: device.description: UPS Local device.location: device.mfr: CYBERPOWER device.model: CP1500PFCLCDa device.serial: CXXMZ7010229 device.type: ups driver.name: snmp-ups driver.parameter.pollinterval: 2 driver.parameter.port: 10.1.1.12 driver.parameter.synchronous: auto driver.version: 2.8.0 driver.version.data: cyberpower MIB 0.51 driver.version.internal: 1.21 input.frequency: 60 input.voltage: 122 output.current: 1.50 output.frequency: 60 output.voltage: 122 ups.delay.reboot: 0 ups.delay.shutdown: 120 ups.firmware: CR01802CBH11 ups.load: 16 ups.mfr: CYBERPOWER ups.model: CP1500PFCLCDa ups.serial: CXXMZ7010229 ups.status:
-
@incith
I have the same thing happen lately. (23.05.1)
It works fine for a while but then says unavailable. I restart service and all works again. Sometimes for weeks, sometimes it quits the next day.
Also use a cyberpower 1500
Hardware is a Dell R210-II -
@DurUser My UPS.status is always blank. So it does not work even for a little bit for me. It thinks the ups is offline 100%.
-
@DurUser I think FreeBSD/pfSense/NUT has a somewhat general issue with USB based UPS’s.
IT’s well known Cyberpower UPS’es suffer very badly from this, but also several other units - fairly vendor agnostic - shows the same disconnect issues. I have two Eaton S5 UPS’s that suffer the same problem (and I have thoroughly tested its not the USB cable).
Common for all of them is that if you connect the same UPS to a Linux or Windows host they suffer no disconnect issues - so it’s likely something to do with either the USB UPS driver or the whole USB subsystem in pfSense.Up until 23.01 it was not a catastrophe because NUT would just reconnect to the UPS. But after 23.01 it no longer does that and a disconnect now means loss of UPS status/communication. I think work is being done on getting a never USB driver for NUT that attempts to reconnect again, but it will take a while - it will likely not cure the temporary disconnect issue though. That seems to be a deeper rooted issue.
-
@keyser agree with you observation. I have same problem with TrippLite disconnecting using usb driver. @dennypage (intel) and @Maltz (arm) have posted drivers to temporarily help with disconnects. @incith is using snmp driver and seems to never connect, which sounds like a different problem altogether.
-
@ghound yeah I literally had 0 problems at all on 2.6 pfSense using snmp. It always reported 100% correctly.
-
@keyser Sure, but it was working great before. Never had an issue until recent updates to pfsense. So something got screwed up that wasn't screwed up before. And yes, I did see those disconnects/reconnects happen before the update. That worked for me. Now it no longer reconnects I guess.
-
@incith Did you not have disconnects/reconnects ? Or never noticed it ?
-
@DurUser I did not have any disconnects. SNMP worked flawlessly.
-
@incith Wait, so you didn't have the ups directly connected to your pfsense box?
I am not sure I understand your snmp setup. -
Found the fix? Not sure why this hasn't been merged into pfSense 2.7. this is old it seems. pfSense using mib v0.51 and this is 0.52 to fix the issue
https://github.com/networkupstools/nut/commit/6a6888e9b5fd995e79e3db335ff4c9c524f31b51
https://redmine.pfsense.org/issues/13972
-
@DurUser correct....that's kind of the point of SNMP lol. CyberPower PowerPanel software does SNMP server. A windows server is the primary host for the snmp data. pfSense is a slave.
It'd be nice to see pfSense have an option for choosing master or slave in the snmp driver.
-
@incith said in NUT package:
I did not have any disconnects. SNMP worked flawlessly.
You likely had disconnects. You would not have noticed, because it immediately reconnected. When this happens, there is no notification.
-
@dennypage ...ok?
-
@incith Your prior post referred to an adjustment in polling interval. FWIW, I do not see any polling interval in the configuration you posted.
As to your actual problem, it is discussed here. Assuming that you are on an Intel or AMD based platform, you use the updated snmp-ups driver posted in that thread.
-
@incith huh ? So your master is a windows machine ?
We're talking about the pfsense machine being the master. It does show disconnects. Windows likely does not.
I have a completely seperate workstation running windows with a different cyberpower 1500 ups and it never notifies me of disconnects... ever. That could mean 2 things. It has a better driver OR it doesn't show any disconnects if it's quickly reconnected.
The pfsense machine is a whole different story. I would repeatedly see disconnects in the console output. -
@DurUser cyberpower ups USB cable -> Windows server -> PowerPanel business software -> enable SNMP.
pfSense -> remote-snmp driver -> IP of windows server.
pfSense is not the master in my setup. It is an SNMP client.
-
@dennypage Thanks, I'll give that a shot here shortly!
I did a completely clean install and wiped my config from /conf for <nut> and rm /temp/config.cache etc etc. And removed the /usr/local/etc/nut folder to give you a clean configuration. That is why you are noticing discrepancies. I had tried poll interval as it was mentioned somewhere else this helped but I assumed this was going to be driver related from the start.
-
@incith said in NUT package:
Found the fix? Not sure why this hasn't been merged into pfSense 2.7. this is old it seems. pfSense using mib v0.51 and this is 0.52 to fix the issue
https://github.com/networkupstools/nut/commit/6a6888e9b5fd995e79e3db335ff4c9c524f31b51
It's not a question of being merged into pfSense. A version of NUT with that fix has not actually been released yet. The most recent release of NUT is 2.8.0, in April 2022. We have been waiting for 2.8.1 for some time. I'm sure that when 2.8.1 is released, it will be in FreeBSD Ports, and the pfSense repo, shortly thereafter.
As it sits, the only way to get a fully functional build for the various Cyberpower UPS units is to build against NUT's development (master) branch. Unfortunately, this is a moving target.
-
@dennypage Hmm, that sucks! Thanks for the information.
Unfortunately the linked snmp-ups driver will not load. It's an Intel xeon e3 v3 so should be compatible I'd have thought. Perhaps it needs rebuilt for pfSense 2.7?
-
@incith said in NUT package:
Unfortunately the linked snmp-ups driver will not load.
Need more information. Please start the driver by hand as described in the other thread. and report the actual errors encountered.
FWIW, this description:
pfSense -> remote-snmp driver -> IP of windows server.
Doesn't make sense. You are using the snmp driver, so you should be talking directly to the UPS using the IP address of the UPS rather than a Windows server.
-
@dennypage The ups does not have a network card.
PowerPanel software communicate with the ups over USB. PowerPanel software provides the SNMP server.
It's honestly very straightforward.
-
@incith Yeah, what we're talking about (THE issue) is on pfsense connected to a UPS directly. Your setup is different.
-
@DurUser My issue is not your issue. We are discussing the SNMP driver. I was simply proffering up how my setup is configured since you seemed confused about it
Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.