-
This is kind of a known issue…what should happen is that the master should shut down the UPS before the UPS fully drains. In your case, the master is your free NAS so you likely need to look there.
I reported this issue back in June or so. Now that 2.4 is out I believe a bug fix for the nut package for pfSense can be released to fix this on the pfSense side. But I don’t think this will help you out, as it sounds like the freeNAS isn’t shutting down the UPS prior to fully draining it.
Oh! So the UPS NEEDS to be shut down too? Too easy - FreeNAS has a setting for that in the UPS settings. I'll tick that box, try again and report.
-
And THERE it is!! As soon as I instructed the UPS to shut down in my settings, everything worked perfectly. All boxes shutdown properly, UPS shut down, and when I plugged the UPS back in, all three computers spun right back up. The very first time I went through the whole cycle, comms with the UPS couldn't be re-established for some reason (got a flurry of e-mails from all three boxes), but I've tested it a few times since and it's always worked. The one I'm most worried about is the pfSense box - as long as IT comes back online while I'm away, I can VPN in and restart or whatnot, and do what I need to do, and it always has, regardless of UPS comms status. So, all seems well.
The one scenario I haven't tested yet is a power race, but that'll have to wait - the little one is up…=)
Thanks for your help!!
-
This is kind of a known issue…what should happen is that the master should shut down the UPS before the UPS fully drains. In your case, the master is your free NAS so you likely need to look there.
I reported this issue back in June or so. Now that 2.4 is out I believe a bug fix for the nut package for pfSense can be released to fix this on the pfSense side.
Hello,
I'd like to report I have the same issue: UPS brand is Eaton, fully supported by usbhid driver and "upsdrvctl shutdown" works perfectly on a Debian Jessie but not with pfSense NUT package.I've tried to dig the init script in /usr/local/etc/rc.d/nut modifying it with no luck.
Can I solve it or is it a bug in the pfSense package? If it is a bug, do the maintainer of the package has any forecast about its resolution?
Thank you
-
Sorry again for the delay. Had a few real-life things come up.
For a temporary work-around, please see reply #250.
-
PRs are in, one for mainline pfSense and one for the NUT package, both of which are required to address the power kill issue. The mainline PR needs to go into a pfSense release cycle, so 2.4.2 is the earliest possible, but I expect 2.4.3 is more likely at this point.
-
So does the latest beta 2.4.3 have these PR's?
-
Hey w0w,
I’m traveling… I don’t recall seeing merge notifications, but I get a lot of email. You should be able to check the PRs in the main pfSense and FreeBSD repos to see if they’re still outstanding. If not I’ll check it when I get home.
Thanks,
Denny -
But i found a Problem with the override values. As i said above, i have set the following to the additional ups.conf field in pfSense:
ignorelb override.battery.charge.low = 50 override.battery.runtime.low = 1200
BUT These values are added on top of the ups.conf file, which means in my case, they are ignored. When i edit the ups.conf manually from ssh / Shell, and set thes override values at the bottom of the file and restart the daemon, the everything works and also the Monitoring in pfsense Show the new values. Is this a bug? Problem is, after reboot or restart the daemon, These values are not the anymore…
The section entitled "Additional configuration lines for ups.conf" in Advanced settings is for global directives. The values you are trying to set are UPS specific arguments. UPS specific arguments should be entered in the section above that says "Extra Arguments to driver"
Sorry this isn't clear. I'll have a look at clarifying.
Hello and thanks for the great work.
I'm working with pfSense and NUT 2.7.4_5 package. The "bug" still remains, if I edit (via webpage) the "Extra Arguments to driver (optional)" withignorelb
override.battery.charge.low = 30all works correctly, it adds the 2 lines AFTER
[myups]
driver=usbhid-ups
port=autoin "/usr/local/etc/nut/ups.conf" file.
But if I edit the "Additional configuration lines for ups.conf", which it seems to be more correct (http://networkupstools.org/docs/man/ups.conf.html), it adds the lines at beginning of the file, and it doesn't work.
All other configuration settings (upsmon.conf, upsd.conf, upsd.users) add lines at the end of the files (checked via ssh), as it should be I think… -
The "bug" still remains, if I edit (via webpage) the "Extra Arguments to driver (optional)" with
ignorelb
override.battery.charge.low = 30all works correctly, it adds the 2 lines AFTER
[myups]
driver=usbhid-ups
port=autoin "/usr/local/etc/nut/ups.conf" file.
But if I edit the "Additional configuration lines for ups.conf", which it seems to be more correct (http://networkupstools.org/docs/man/ups.conf.html), it adds the lines at beginning of the file, and it doesn't work.Not sure what "bug" you are referring to…
The directives you are trying to use are not global directives, but are UPS specific directives.
It's easy to overlook this at the beginning of the ups.conf manual page:"The file begins with global directives, and then each UPS has a section which contains a number of directives that set parameters for that UPS."
In other words, the general format of ups.conf looks like this:
global_directive1 global_directive2 global_directive3 [ups1] ups_directive1 ups_directive2 ups_directive3 [ups2] ups_directive1 ups_directive2 ups_directive3
All global directives must appear before the first UPS section. So the "Additional configuration lines for ups.conf" in the Advanced section is only for global directives only, and anything put there will appear before the UPS section. The "Extra Arguments to driver" section is for things that apply to your UPS driver, and will be placed in the UPS section.
Adding extra driver arguments is somewhat common, but the vast majority of users do not need anything under Advanced settings which is why they are hidden by default.
-
You should be able to check the PRs in the main pfSense and FreeBSD repos to see if they’re still outstanding. If not I’ll check it when I get home.
The PR for the NUT package has been merged, but the PR for mainline pfSense is still pending review/testing.
-
Probably a really stupid question, but I want to confirm that this package allow the firewall to shut off in the event of power loss? Even better, could I program it to keep the firewall on battery until it gets to a certain percentage or a certain amount of time passes?
If the UPS model is important, I am looking at a CP850PFCLCD connected via USB but it's not set in stone.
-
Probably a really stupid question, but I want to confirm that this package allow the firewall to shut off in the event of power loss? Even better, could I program it to keep the firewall on battery until it gets to a certain percentage or a certain amount of time passes?
Yes to all. This is what NUT does for a living.
By default, NUT will initiate a shutdown when the UPS issues a Low Battery signal. The default values for a Low Battery signal changes from UPS to UPS, but most UPSs are pre-programmed for a pretty low level–around 5% or so. You can override this with the battery.charge.low and battery.runtime.low variables discussed earlier in this thread. See the NUT driver documentation and the ups.conf man page and for more information.
-
Probably a really stupid question, but I want to confirm that this package allow the firewall to shut off in the event of power loss? Even better, could I program it to keep the firewall on battery until it gets to a certain percentage or a certain amount of time passes?
Yes to all. This is what NUT does for a living.
By default, NUT will initiate a shutdown when the UPS issues a Low Battery signal. The default values for a Low Battery signal changes from UPS to UPS, but most UPSs are pre-programmed for a pretty low level–around 5% or so. You can override this with the battery.charge.low and battery.runtime.low variables discussed earlier in this thread. See the NUT driver documentation and the ups.conf man page and for more information.
Awesome sauce! Thanks for tolerating my stupidity :P
-
The PR for the NUT package has been merged, but the PR for mainline pfSense is still pending review/testing.
Both PRs now merged. Note that both a new version of pfSense (presumably 2.4.3) and a new version of the NUT package (2.7.4_6) are required for power kill to function.
-
Ok, I think I broke it. I have two identical units (CP850PFCLCD), and both of them work with my Windows system but neither work with the firewall. So here's my settings:
And this is all it does:
Am I missing something obvious?
-
Hey dtallon13,
Have you rebooted pfSense since you first installed NUT? If you have not, there is a USB permissions problem that may be tripping you up. Just leave the UPS connected via USB, and reboot the firewall.
If a reboot doesn't address the issue, then check the system log (Status / System Logs / System / General) for messages matching 'nut' or 'ups' and report back what you find please.
-
Where can I find example for power kill function?
-
@w0w:
Where can I find example for power kill function?
There isn't anything you will have to set up or code. It will be automatic with the new version of the NUT package and the new version of pfSense.
-
Anyone know how to get NUT to accept incoming connections?
I tried adding:
LISTEN 192.168.1.5
in upsd.conf, however that seems to cause nut to freeze and any page in the webui with NUT goes nuts (pun intended). I had to restore from a backup config to get things working again.
-
Anyone know how to get NUT to accept incoming connections?
Covered earlier in this thread. See reply 1.