-
Just to confirm with all the extra setting changes with Nut installed in PfSense 23.05 example, timers and "user=root," the system again lost connection after a couple hours.
-
@dennypage said in NUT package:
Not at this time. While there is a new release of NUT available, it hasn't been marked as stable in FreeBSD upstream. I'll reach out to the maintainer.
My bad. I jumped the gun a bit. While there is a new release version pending, it has not actually been tagged yet and still has a few blockers. Sorry about that.
-
I forgot about this issue and it returned after upgrading from pfSense Plus 23.01 to pfSense Plus 23.05. It took me a bit of time to track this down and find the file in this thread that fixes it.
Because of that, I decided to put this in an Ansible playbook so the fix is in code and I don't need to worry about it in the future.
I put a gist up on GitHub of my playbook in case anyone finds it helpful:
pfSense NUT Package Fix Through Ansible -
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.
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.)
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.
-
@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: