NUT package (2.8.0 and below)
-
@dennypage
Hi, I have pfSense plugged into the wall and connected to the UPS via USB.running 'upsdrvctl shutdown' does indeed turn off the outputs, 20s later shutdowns the UPS which then turns back on since AC is still active to the UPS. Watching the console of pfSense it goes through:
- Initiating UPS shutdown
- UPS ups on battery
- UPS ups on line power
I wondered if somehow it had automagically fixed itself so after booting up again (successfully) I pulled the power to the UPS. pfSense shutdown correctly but the UPS outputs are still active and being powered. Left it for about 5 minutes but the UPS did not shutdown.
This behaviour is consistent using NUT over 3x different machines and 2x different USB cables (bought another for testing). The machines I've been testing on (each as a standalone master) are:
- HP T730 thin client (currently using as a test pfSense environment)
- Asus Chromebox running Ubuntu
- Supermicro pfSense machine based around a X11SCL-IF
Two common denominators... the UPS and me, one of them is doing something wrong I think :)
Cheers -
@uk_dave said in NUT package:
I wondered if somehow it had automagically fixed itself so after booting up again (successfully) I pulled the power to the UPS. pfSense shutdown correctly but the UPS outputs are still active and being powered. Left it for about 5 minutes but the UPS did not shutdown.
This behaviour is consistent using NUT over 3x different machines and 2x different USB cables (bought another for testing). The machines I've been testing on (each as a standalone master) are:HP T730 thin client (currently using as a test pfSense environment)
Asus Chromebox running Ubuntu
Supermicro pfSense machine based around a X11SCL-IFVery weird. It seems like the the shutdown command is being ignored if the UPS is on battery. It sounds like a firmware bug, but you said that apcupsd worked correctly. I'm afraid I'm out of ideas. You might approach folk on the NUT mailing list and see what they might have to offer.
-
Thanks for all your help anyway. I've sent an email to the NUT mailing list so see if anyone has any ideas.
Cheers -
@gwaitsi said in NUT package:
@dennypage can you help with the correct config pls.
I have a APC UPS master on TrueNAS boxI have a dumb UPS connected to pfsense and need to shutdown pfsense based on a timer triggered by the master due to the non-shared UPS.
I have looked at the NUT documentation and examples below but i can't figure out if i need to use the heartbeat config or not.
http://rogerprice.org/NUT/ConfigExamples.A5.pdf
https://wiki.ipfire.org/addons/nut/detailedi simply want to shutdown the slave 20min after power loss, but obviously cancel the timer if the power comes back.
is the a way to simulate a power failure on the master to test the slave without actually cutting power to the master?
any of you guys can help me with the correct config for upssched and upsmon? Do i need the heartbeat for what i want to do?
-
@gwaitsi said in NUT package:
is the a way to simulate a power failure on the master to test the slave without actually cutting power to the master?
Look for FSD in the NUT documentation.
-
@gwaitsi said in NUT package:
I have a dumb UPS connected to pfsense and need to shutdown pfsense based on a timer triggered by the master due to the non-shared UPS.
...
i simply want to shutdown the slave 20min after power loss, but obviously cancel the timer if the power comes back.A dumb UPS isn't something supported by the NUT pfSense package. In general dumb USPs are not a good idea because there is nothing that will trigger the restart of the system when power returns.
-
@dennypage an ideological argument over why it is not a good idea doesn't help solve the problem. My NAS box is 3 floors above my pfsense box (which is in the basement where there is no room for a full UPS). The dumb UPS i have, can simply replace the existing power adapter and on the PTZ i tested with, works for above 24hrs. I expect it will provide about 2-3hrs with the pfsense box, so I want to shutdown the box after about 50% capacity.
The last time i had a power failure a few weeks ago, i lost my system drive on pfsense and spent the entire weekend trying to recover and get the system back to its previous state. So while it may not be ideal to go and have to manually restart in a worse case scenario, it is better than having to rebuild the system. This year we've had about 4-5 utility outages lasting up to an hour. So in all cases this year, the device would have restore power before needing to shutdown. (although, having said that. the APC UPS only lasts about an hour before shutdown - so there may have been 1 or 2 shutdowns due to the master shutting down).
-
@gwaitsi said in NUT package:
@dennypage an ideological argument over why it is not a good idea doesn't help solve the problem.
No, it won't. But then again, there isn't anything in the pfSense NUT package that will help you solve the problem as defined.
Operating within the constraints you have defined, I would just use an ssh script run from your NAS box to perform the shutdown.
-
Over the weekend I restarted my old QNAP NAS. That left me to solve the problem of one Synology NAS and one QNAP NAS that I wanted to have run as UPS slaves to NUT on pfsense.
Spent a minute looking at changing the default UPS name on both and quickly decided that wasn't going to be worth the effort.
Set up a "dummy-ups" in NUT thinking that would work. That didn't work the way I thought it would, adding the lines to 'additional configuration line to ups.conf'. For some reason that prepends the additional lines not append. Bad.
So, I then added the lines to 'extra arguments to driver' which appended the lines to ups.conf and that resulted in the ups.conf I wanted.
You want this in the right place, after your real UPS:
[qnapups]
driver = dummy-ups
port = ups@127.0.0.1
desc = "dummy-ups in repeater mode"I now have a real UPS named ups and a replicate UPS named qnapups. I DO have additional lines to override low battery that come BEFORE the repeater configuration. If you want to do this in the GUI best to have a shell open and see what is going on in the config files in /usr/local/etc/nut.
My ups.conf looks like this:
[ups]
driver=usbhid-ups
port=auto
ignorelb
override.battery.charge.low = 30
[qnapups]
driver = dummy-ups
port = ups@127.0.0.1
desc = "dummy-ups in repeater mode"As best I understand (please correct me if I'm wrong) the NUT package is all but unmaintained at this point. I wonder if the best way to get things working is to install the package, stay out of the GUI and configure things by hand in the various config files.
-
@jwj said in NUT package:
That left me to solve the problem of one Synology NAS
Like :
To have the Syno NAS connect to the NUT on pfSEnse as a salve :
Set the IP to the IP of pfSense in which the NUT package is running.
Define on pfSense the IP it has to expose it's NUT interface on :and of course tell it what user / slave could 'login".
This user and password are somewhat hard coded into the NUT core files of the Syno (if I recall that correctly). -
@Gertjan Yes. Required to get things working with a Synology NAS. I had a quick look at the Marketing blurb concerning DSM 7 beta. Supposedly more control over UPS configuration. We'll see. All this hard coded stuff is a pain in the butt!
Good post!
-
For completeness I'll put my complete config.
The situation is: one Synology NAS (1618+) one QNAP NAS (TS-451) both as slaves. pfsense/NUT as the master. APC Smart-UPS C 1000 usb to pfsense host.
In /usr/local/etc/nut
ups.conf:
[ups]
driver=usbhid-ups
port=auto
ignorelb
override.battery.charge.low = 30
[qnapups]
driver = dummy-ups
port = ups@127.0.0.1
desc = "dummy-ups in repeater mode"upsd.conf:
LISTEN 127.0.0.1
LISTEN ::1LISTEN 192.168.40.1
(Maybe I should have the IPv6 address for the VLAN the NAS are in, not sure it matters and things work fine without it.)
upsd.users:
[admin]
password=db8075bb45efab9ee80a
actions=set
instcmds=all
[local-monitor]
password=997fae5f5b0fc09becb3
upsmon master[monuser]
password = secret
upsmon slaveupsmon.conf
MONITOR ups 1 local-monitor 997fae5f5b0fc09becb3 master
SHUTDOWNCMD "/sbin/shutdown -p +0"
POWERDOWNFLAG /etc/killpowerupssched.conf:
CMDSCRIPT /usr/local/bin/upssched-cmd
(And a bunch of comments, Nothing to see here)For sure there are improvements that could be made, more control over the UPS shutdown and startup when going to a low battery condition and when power returns. I'd vey much like to hear from those that know more about this :)
I do suggest getting used to looking at this from the real configuration files and not just staring at the GUI. Just saying...
-
@jwj said in NUT package:
As best I understand (please correct me if I'm wrong) the NUT package is all but unmaintained at this point. I wonder if the best way to get things working is to install the package, stay out of the GUI and configure things by hand in the various config files.
I honestly don't understand how you would find your way to a active 700+ post support thread yet determine that the package was unmaintained...
-
@dennypage I see your last commit in github was in 2018. Other than that only three changes have been made, two of which are the copyright header and permissions on non-executable files.
-
Hello,
I would like to know how to add multiple APC SMX-700, 1000, 1500, 2200, 3000 UPS's to the dashboard. I am running pfSense 2.4.5, and NUT version release 2.7.4.7
I don't see an obvious way to enter more than one UPS system to be monitored. Any guidance in doing so is greatly appreciated as I need to monitor more than twenty units.
Thank You - All!
-
@dennypage said in NUT package:
@gwaitsi said in NUT package:
I have a dumb UPS connected to pfsense and need to shutdown pfsense based on a timer triggered by the master due to the non-shared UPS.
...
i simply want to shutdown the slave 20min after power loss, but obviously cancel the timer if the power comes back.A dumb UPS isn't something supported by the NUT pfSense package. In general dumb USPs are not a good idea because there is nothing that will trigger the restart of the system when power returns.
actually, that is not true. i have it working just fine now, once i got the bash script in shell format.
now i am working on getting wake on lan setup to enable waking up pfsense, if it shutdown and power was restored before the battery run out. if power is restored before shutdown, then of course there is no problem.
-
@jwj said in NUT package:
@dennypage I see your last commit in github was in 2018. Other than that only three changes have been made, two of which are the copyright header and permissions on non-executable files.
And?
If you are equating "supported" with "constant change" then you've come to the wrong place.
The last release of NUT was March 2016. The last release of dpinger was September 2017.
Sometimes, stuff just works.
-
@Teken said in NUT package:
I would like to know how to add multiple APC SMX-700, 1000, 1500, 2200, 3000 UPS's to the dashboard. I am running pfSense 2.4.5, and NUT version release 2.7.4.7
I don't see an obvious way to enter more than one UPS system to be monitored. Any guidance in doing so is greatly appreciated as I need to monitor more than twenty units.There is no way to do this with the pfSense NUT package. The package monitors the single UPS that is powering the pfSense system. I believe the same is true of the apcupsd package.
If you want to monitor a whole UPS farm, you should be looking to an SNMP based solution using whatever network management system you are using. That's a bit simpler than trying to monitor a large number of NUT instances. However, if you don't have SNMP and have to use NUT talking to a whole bunch of hosts, you'll probably want to set up a dedicated monitoring system by hand and use that to feed the network monitor. If you don't have a network monitoring system, then you need one. librenms is a good place to start.
-
@Teken did you look at my post above?
http://rogerprice.org/NUT/ConfigExamples.A5.pdf
i believe the scenario you require is covered in the examples.I was also told the scenario i wanted is not supported....just needed to change from a bash based script to a shell based on and everything turned on.
-
@gwaitsi
Having quickly scanned this fantastic document on page 54. I do not see an obvious example of how to add say five UPS systems. If someone can give me a working example to test that would be greatly appreciated!
And just to be clear my expectations is to be able to add & see the additional four UPS units (status) in the dashboard.
If I can see four ill work my way up to the remaining sixteen. I can’t believe I’m the only person who has ever needed pfSense to monitor more and than one UPS?!?
Thank you to all who took the time to chime in!
-
@Teken said in NUT package:
Having quickly scanned this fantastic document on page 54. I do not see an obvious example of how to add say five UPS systems. If someone can give me a working example to test that would be greatly appreciated!
And just to be clear my expectations is to be able to add & see the additional four UPS units (status) in the dashboard.
If I can see four ill work my way up to the remaining sixteen. I can’t believe I’m the only person who has ever needed pfSense to monitor more and than one UPS?!?I'm glad you like the thread... With specific regard to your question, please see my response to your same question above. You can not, and should not, do this with pfSense. pfSense is not a network monitoring solution.
You need a network monitoring solution for what you want to do. There are at least a dozen good ones to choose from. Many of which are free: Librenms, cacti, Zabbix, etc.
And yes, you are the only one who has ever asked.
-
@Teken p54 UPS2 & UPS3 are connected to the same device and you can see their config details on p56. Isn't that the scenario you are trying to create?
-
I have been having an odd problem with NUT. I have a Cyperpower UPS connected via USB, and all was working well with it. For some reason, it suddenly stopped reporting status, and said "Waiting for daemon" or something like that.
I did some digging and it appeared that the driver was not loaded. I tried to load it manually with
upsdrvctl start office
but that said "Driver failed to start." I then loaded it withupsdrvdtl -u root start office
and it loaded and now works. I have to do this every time I boot pfsense.It did this with 2.4.5 and now with 2.5.0. Any ideas on what the issue might be?
-
@mcarson75 said in NUT package:
I have been having an odd problem with NUT. I have a Cyperpower UPS connected via USB, and all was working well with it. For some reason, it suddenly stopped reporting status, and said "Waiting for daemon" or something like that.
I did some digging and it appeared that the driver was not loaded. I tried to load it manually with
upsdrvctl start office
but that said "Driver failed to start." I then loaded it withupsdrvdtl -u root start office
and it loaded and now works. I have to do this every time I boot pfsense.It did this with 2.4.5 and now with 2.5.0. Any ideas on what the issue might be?
What a coincidence. I haven’t upgraded to 2.5.0 (still on 2.4.5) and the other night I rebooted pfSense and the nut Daemon was reporting the same error.
I thought it was because I haven’t upgraded to 2.5.0.
For now I have stopped the nut service
-
@sir_ssv It's interesting - just after I posted I decided to unplug my USB wireless keyboard/mouse adapter from pfsense and reboot. Surprisingly - NUT works as expected now. So if you have any other USB devices maybe try unplugging them?
-
@mcarson75 said in NUT package:
@sir_ssv It's interesting - just after I posted I decided to unplug my USB wireless keyboard/mouse adapter from pfsense and reboot. Surprisingly - NUT works as expected now. So if you have any other USB devices maybe try unplugging them?
I have a Eaton ups and it is connected via ethernet. I’m thinking the nut daemon was updated however because I’m holding out on upgrading to pfSense 2.5.0 it is causing some conflicts.
Same thing happened just prior to me upgrading to 2.4.5
-
@sir_ssv
I think you have to set the branch manually to 2.4.5.
Mine was set to 2.5 automatically and then I experienced all kinds of weirds things.
Once set back to 2.4.5 and forced package re-install everything was fine again.
Not sure if it's related but....
(https://docs.netgate.com/pfsense/en/latest/troubleshooting/upgrades.html) -
@duruser said in NUT package:
I think you have to set the branch manually to 2.4.5.
Mine was set to 2.5 automatically and then I experienced all kinds of weirds things.
Once set back to 2.4.5 and forced package re-install everything was fine again.Yea, definitely have to explicitly set the branch. I ran into that issue when I had to roll back to 2.4.5 to diagnose a IPsec issue. When the install started automatically installing packages, things started going wrong all over the place. I ended up having to force a reinstall of all packages in the system.
I'm now back to running 24.02, but my main UPS is SNMP so I haven't tried a USB based UPS with the new version. Please let me know if you run into a problem with USB after upgrading.
-
@dennypage Same here.
It had switched the brach to 2.5 automatically and that caused issues. I didn't know it would do that. -
@dennypage said in NUT package:
so I haven't tried a USB based UPS with the new version.
Didn't even know that there was an issue with NUT.
My APC USB UPS's, connected directly, or indirectly, over to an Syno NAS, works just fine.@mcarson75 said in NUT package:
upsdrvdtl -u root start office and it loaded and now works. I have to do this every time I boot pfsense.
A candidate for the Shellcmd package ?
Btw : how is it connected ? Is it found during the kernel - hardware detection phase ? - see de boot or dmesg log. -
@dennypage said in NUT package:
@duruser said in NUT package:
I think you have to set the branch manually to 2.4.5.
Mine was set to 2.5 automatically and then I experienced all kinds of weirds things.
Once set back to 2.4.5 and forced package re-install everything was fine again.Yea, definitely have to explicitly set the branch. I ran into that issue when I had to roll back to 2.4.5 to diagnose a IPsec issue. When the install started automatically installing packages, things started going wrong all over the place. I ended up having to force a reinstall of all packages in the system.
I'm now back to running 24.02, but my main UPS is SNMP so I haven't tried a USB based UPS with the new version. Please let me know if you run into a problem with USB after upgrading.
Thanks!
Took your advice and rolled back to 2.4.5 (had no idea that was an option in pfSense)
Reinstalled the nut package and everything is working perfectly again :) -
@sir_ssv said in NUT package:
What a coincidence. I haven’t upgraded to 2.5.0 (still on 2.4.5) and the other night I rebooted pfSense and the nut Daemon was reporting the same error.
My NUT driver suddenly started reporting the error about 24 hours ago. Still on 2.4.5 and hadn't rebooted, upgraded or changed anything in pfSense. Running through SNMP on a Cyberpower RMCARD203.
@duruser said in NUT package:
I think you have to set the branch manually to 2.4.5.
I reset the branch manually and reinstalled NUT which has appeared to have fixed the issue.
Not sure why things just stopped working.
-
@kesawi said in NUT package:
Not sure why things just stopped working.
Strange. You didn't update or install any new package since February 15th?
FWIW, the core reason this happens is because the latest stable repo doesn't have a version number in the name. When a new stable is released, it overwrites the prior repo configuration. When you explicitly set the branch, it uses the repo that specifically matches that version.
You can see the current repo in <pkg_repo_conf_path> in the config file. Your system likely has three repos to choose from:
- pfSense-repo-245.conf (2.4.5 repo)
- pfSense-repo-devel.conf (current stable repo)
- pfSense-repo.conf (dev snapshot repo)
pfSense-repo-245.conf was pfSense-repo.conf until 2.5.0 was released.
-
@dennypage Is this why NUT has suddenly stopped working on my 2.4.5 release?
What exactly do I need to do to resolve this issue? I've already stopped and started the service. I haven't uninstalled and reinstalled the NUT application as I was going to upgrade to 2.5.0 but have read of some issues. So, will sit on the side lines until another release is out.
Everything was working just great since my 2.4.5 install which covers more than nine months if not longer. Now all of the sudden it's broken out of no where?!?
-
@teken If you wanting to stay on 2.4.5, you need to explicitly set the branch in System -> Update to "Previous stable version (2.4.5 DEPRECATED)". Following that, re-install the NUT package via System -> Package Manager.
-
@dennypage If it hasn't been stated today your continued support and insight in the forums with respect to NUT is greatly appreciated!
Followed your steps and had to reboot a couple of times for the system to allow me to install NUT.
Your Rock & Know It . . .
Thank You ~ Sir!
-
@dennypage said in NUT package:
Strange. You didn't update or install any new package since February 15th?
No I haven't done either of those. The only thing that changed in my pfSense configuration was adding two extra dynamic DNS providers last week. The errors just started suddenly yesterday with no changes made.
-
@teken Very kind of you to say. Thank you.
-
wow, I just checked my pfsense setup and all traces of the nut package are gone. Bet this happened with the 2.5 branch snafu. great.
-
@duruser Prior to following @dennypage I had the NUT service stopped. Upon completing the steps as outlined above I found that NUT was missing?!?
As noted up above the solution was to reboot twice and reinstall NUT again. One thing I was surprised to see is locking the system to Previous Stable actually made the system download and install 2.4.5 P1?!?
I understand the reasons for P1 but the system should have just installed EXACTLY what was on the machine prior to this crazy auto snafu!
Regardless, I'm back in action and must again state much thanks to @dennypage!