NUT 2.8.x FSD when UPS is self-testing
-
Hi everyone,
I am experiencing unexpected pfSense Forced Shutdown (FSD). After a quick investigation, is seems related to changes made in recent version of the NUT package. In my case, I am using an APC UPS, which has worked flawlessly for years. The UPS does a self-test of the battery once in a while. When it does, although the battery is still charged, it triggers a FSD. Note: The pfSense device is connected to the UPS through USB.
Here is the message I see in the log:
ups_status_set: seems that UPS [ups] is in OL+DISCHRG state now. Is it calibrating or do you perhaps want to set 'onlinedischarge' option? Some UPS models (e.g. CyberPower UT series) emit OL+DISCHRG when offline.I've done the following test: I've triggered a self-test on the UPS and before the test completed, i see the NUT package reporting "FSD, On line, Discharging" and then pfSense shutdowns.
I have digged in the forums and found things, including new options like these:
onlinedischarge_battery If this flag is set, the driver will treat OL+DISCHRG status as offline/on-battery. For most devices this combination means calibration or similar maintenance; however some UPS models (e.g. CyberPower UT series) emit OL+DISCHRG when wall power is lost — and need this option to handle shutdowns.
onlinedischarge_calibration If this flag is set, the driver will treat OL+DISCHRG status as calibration. Some UPS models (e.g. APC were seen to do so) report OL+DISCHRG when they are in calibration mode. This usually happens after a few seconds reporting an OFF state as well, while the hardware is switching to on-battery mode. Note If it takes so long on your device that a shutdown gets issued, you may want to look at upsmon option OFFDURATION used to filter out temporary values of "administrative OFF" as not a loss of a feed for the powered load.
However, I have not found any example of how to use these. Moreover, I saw messages in github giving me the impression that pull requests have been made to fix this behavior by i am uncertain.
Does anyone have this problem and would know whether I should just wait until an update comes or, if I must change config to handle this event correctly?
thank you
-
@jgauthier See discussion in the NUT support thread.
-
Hello
I also experienced a FSD using a CyberPower UPS and saw similar messages in the log. I've actually forced my unit to do self tests since but it hasn't trigged the shutdown. Obviously I do not want my UPS shutting down when this happens as that defeats the object of the UPS. Also the UPS stayed off and didn't come back on and I had to press the button on the unit - not sure if this can be changed? It's a CyberPower CP1500EPFCLCD-UK.
Any ideas? I've read the thread linked above but can't make any sense of it.
Thanks
-
@DanBlackaz said in NUT 2.8.x FSD when UPS is self-testing:
I also experienced a FSD using a CyberPower UPS and saw similar messages in the log. I've actually forced my unit to do self tests since but it hasn't trigged the shutdown. Obviously I do not want my UPS shutting down when this happens as that defeats the object of the UPS. Also the UPS stayed off and didn't come back on and I had to press the button on the unit - not sure if this can be changed? It's a CyberPower CP1500EPFCLCD-UK.
Your description does not seem to match the description of the problem discussed by OP.
What is the actual problem you experienced? Spontaneous shutdown during self test? If so, then see the thread referred to above regarding this. Circa post #104.
-
@dennypage Hi - apologies if I didn't explain it well but I experienced the exact same circumstances as the OP. Had the same message in my event logs:
"Jan 9 00:47:38 usbhid-ups[45038]: ups_status_set: seems that UPS [CyberPower_Network_Equipment_UPS] is in OL+DISCHRG state now. Is it calibrating or do you perhaps want to set 'onlinedischarge' option? Some UPS models (e.g. CyberPower UT series) emit OL+DISCHRG when offline"
"Jan 9 01:20:26 upsmon[43999]: UPS CyberPower_Network_Equipment_UPS battery is low"The unit then turned off and didn't come back on till I pressed the manual power button on the front - there was no power outage and the battery was still at 100% the whole time connected to the grid power.
It seems my UPS was doing the same self-test as the OPs albeit my unit is a CyberPower and theirs is an APC which triggered the same messages.
I also googled like the OP and found the same pull requests on GitHub but not really sure what they mean and what is going wrong.
From reading the link attached and above, am I right in thinking this is a known issue and it will repaired in a future version of pfSense via an update to the NUT service in the background or a package update?
Is there anything I can do to force pfSense to ignore these errors so it doesn't shut down again?
Thanks again
-
see the thread referred to above regarding this. Circa post #104.
-
@dennypage hello - I have looked at that as per my previous reply but I don't understand from reading it?
-
@DanBlackaz said in NUT 2.8.x FSD when UPS is self-testing:
I have looked at that as per my previous reply but I don't understand from reading it?
You didn't see the updated executables?
-
Hello - I feel really thick now I've worked out what you meant! For anyone else as stupid as me, you need to do the following:
-
Download the 2 files upsmon and usbhid-ups which Dennypage has on the other thread circa post #104 - they download as .gz files which are compressed (like .zip, .rar etc)
-
In my case I was using a windows machine so I extracted them using Winrar and then copied them onto my pfSense machine - I'm sure there's a way to extract them in Linux etc but I'm not great at Linux!
-
STOP the UPS service in pfSense
-
I backed up the two existing files in their current directories (/usr/local/sbin/upsmon and /usr/local/libexec/nut/usbhid-ups) by adding .org as a suffix to their name then moved the new files into the directory
-
The permissions were wrong by default so both files need to be chmod 755 before the service can be started as per the last posts on the thread
You should see the following when you're done if you run the command: ls -l /usr/local/sbin/upsmon* /usr/local/libexec/nut/usbhid-ups*
-rwxr-xr-x 1 root wheel 333728 Jan 15 15:37 /usr/local/libexec/nut/usbhid-ups
-rwxr-xr-x 1 root wheel 287088 Nov 17 13:41 /usr/local/libexec/nut/usbhid-ups.org
-rwxr-xr-x 1 root wheel 87760 Jan 15 15:37 /usr/local/sbin/upsmon
-rwxr-xr-x 1 root wheel 68888 Nov 17 13:41 /usr/local/sbin/upsmon.orgAfter this it was just a case of restarting the nut service and it started perfectly.
I am guessing that pfSense will release a new version of these files in the coming weeks / months which will remove the need to do this, but in the mean time, I believe the above seems to fix the issue!
Thanks so much to @dennypage for his patience and support with this issue - I'm still learning all this stuff!
-
-
-