Beta test of new NUT UPS package
-
Thanks Ben. I actually have code to fix up a missing /var/db/nut, but it's currently only run at install time to fix a problem with the prior nut package. It's easy enough to move the fix up check to be executed at each config sync. I'll have it for you when I get back in a day or two.
Awesome, that should be a rather easy fix!
Btw, do you mind posting the ups type and driver that you are testing with?
I will have to check this evening after I get home with access to the server.
-
Several questions:
What messages are in the system log? Look for messages from upsd, upsmon, upsdrvctl, blazer*.
What are the contents of /usr/local/etc/nut/ups.conf and upsd.conf?
What nut processes are running? (ps -axuwww | grep ups)
Does anything change if you restart the nut service via the nut status page or the services page?
Have you successfully tested this specific ups model with nut previously?I'm running a generic asian ups with the following
(Various USB)
UPSilon 2000 software blazer_usb langid_fix=0x409It installed perfectly, looks great, unfortunately it gives me
"Failed to retrieve status"
-
USB type: Local USB
Driver: usbhid -
Hey Starrbuck, I sent you an update that should address your ram disk issue. Please let me know that it works for you. Thanks.
-
Got it, thanks!
-
Hey Starrbuck, I sent you an update that should address your ram disk issue. Please let me know that it works for you. Thanks.
The ramdisk issue is corrected. Upon rebooting the package started up normally and the status looks fine.
-
Good to hear. Thanks again for testing.
-
w0w, I may have an approach that will address the SNMP unreachable on startup issue issue. Give me a couple of days, and I'll let you know. In the mean time, please test the existing beta2 version. Thanks.
-
UPS Status — OFF, but displayed battery charge and load are OK.
Fixed with an extra argument for driver.
mibs=ietf
Looks much better now :)
Good job!P.S. Don't look at I/O Voltage at first picture, it's Powercom firmware bug that could not be fixed anyway.
-
Can I request some features for package? (lowest priority in your list) :)
1. I want shutdown pfsense before battery get LOW condition, for example after running 5 minutes on battery, I have seen some implementations using internal nut scripting, but not for pfsense. Feature is very similar to what APCUPSD already have for years.
2. It would be good to kill UPS power, sending command to shutdown UPS, like APCUPSD doing it.BTW I am using APCUPSD on windows for the same UPS.
-
Several questions:
What messages are in the system log? Look for messages from upsd, upsmon, upsdrvctl, blazer*.
upsmon 73821 Poll UPS [sunpac] failed - Driver not connected
upsd 71207 Can't connect to UPS [sunpac] (blazer_usb-sunpac): No such file or directoryWhat are the contents of /usr/local/etc/nut/ups.conf and upsd.conf?
sunpac]
driver=blazer_usb
port=auto
langid_fix=0x4095
subdriver=krauler
productid=1234
vendorid=0925LISTEN 127.0.0.1
LISTEN ::1What nut processes are running? (ps -axuwww | grep ups)
ps -axuwww | grep ups
root 71207 0.0 0.0 20712 2368 - Ss 6:10PM 0:00.24 /usr/local/sbin/upsd -u root
root 72651 0.0 0.0 16612 2308 - Is 6:10PM 0:00.00 /usr/local/sbin/upsmon
uucp 73821 0.0 0.0 16612 2340 - S 6:10PM 0:00.20 /usr/local/sbin/upsmon
root 58229 0.0 0.0 18740 2240 0 S+ 9:44PM 0:00.00 grep upsDoes anything change if you restart the nut service via the nut status page or the services page?
No
Have you successfully tested this specific ups model with nut previously?
No
I'm running a generic asian ups with the following
(Various USB)
UPSilon 2000 software blazer_usb langid_fix=0x409It installed perfectly, looks great, unfortunately it gives me
"Failed to retrieve status"
-
I have "tecnoware" UPS, some ERA series but not the same as listed in NUT supported devices. It have similar behavior to yours, johnabbot
Playing with driver options not helped, strange… but UPSilon 2000 works under windows environment at least. -
John, it looks like the usb information for the ups doesn't match. I would recommend dumping the usb information on the device and heading over to the NUT forums with it. You can dump the usb information with the following command on the console:
usbconfig dump_device_desc
-
I've sent out beta 3. You do not need to remove the beta 1/2 package before installing the beta 3 package. Note that it is normal that the nut service is stopped during the install–you will need to restart the service after the install completes.
Again, thank you for all your help!
-
w0w, with the beta 3 release you should be able to address the SNMP unreachable on startup issue issue. Add the following lines to ups.conf in the advanced section:
maxretry=60
retrydelay=60This will result in a retry every minute for an hour. Be careful how you use this.
See the ups.conf man page for more information.
-
I believe NUT already handles this. Have a look at the man page for the apcsmart driver. Pretty rich configuration options for power handling in there.
@w0w:
It would be good to kill UPS power, sending command to shutdown UPS, like APCUPSD doing it.
-
Hey John, just wondering if you had a chance to dump the usb config to check the vendor and product id?
driver=blazer_usb
port=auto
langid_fix=0x4095
subdriver=krauler
productid=1234
vendorid=0925 -
dennypage
Thanks, looks like b3 works. UPS reconnects if no connection at startup or if it lost.I believe NUT already handles this. Have a look at the man page for the apcsmart driver. Pretty rich configuration options for power handling in there.
@w0w:
It would be good to kill UPS power, sending command to shutdown UPS, like APCUPSD doing it.
I don't use apcsmart driver, I use SNMP. I think I'll try
something like " /usr/local/ups/sbin/upsdrvctl shutdown" later to check if this works.
Thanks again about tip for ups.conf, shame on me. :)
-
w0w
If that works to kill the UPS, you can add this to rc.shutdown and it will send the command if NUT shuts down the system
I use the system patches package to keep it there across updates.if (test -f /etc/killpower) then echo "Shutting down UPS power..." /usr/local/sbin/upsdrvctl shutdown fi
-
Glad it works. No shame btw, it wasn't possible to do in beta 2. Both config and script changes were needed to support it.
@w0w:
Thanks, looks like b3 works. UPS reconnects if no connection at startup or if it lost.
Thanks again about tip for ups.conf, shame on me. :)
-
Pull request created: https://github.com/pfsense/FreeBSD-ports/pull/155
-
Hey John, just wondering if you had a chance to dump the usb config to check the vendor and product id?
Hi Denny,
There was an attempt to reverse engineer this back in 3013 that seems to have come to nothing.
http://lists.alioth.debian.org/pipermail/nut-upsdev/2013-January/006390.html
my understanding is they won't do any more work on supporting it. I've wasted enough time on getting it to work I think I will wait to see what works well with NUT on the pfsense and buy one of those.
John
driver=blazer_usb
port=auto
langid_fix=0x4095
subdriver=krauler
productid=1234
vendorid=0925 -
If you are looking for a new UPS, pretty much anything that is supported by NUT 2.7.4 should work fine with the new nut package under pfSense. To ensure compatibility with NUT, it would be a good idea to choose a ups that operates with a publicly available protocol. You can find these on the NUT hardware compatibility list by selecting "***" as the minimum Support Level.
-
sorry, wrong thread
-
I got a Eaton 5E2000iUSB and it seems to work perfectly.
I still have to add the Nut Clients (debian servers & a NAS) and test it properly but looking good.
Thanks a million for your work, this is one thing about Pfsense that has been really bugging me.
-
Thanks John. I'm glad it worked for you. I really appreciate your help with testing the new package.
-
let me know if I can test for you too.
Does this NUT update support reporting on enviromentals via an APC 9631 and sensors? -
The UPS Detail section on the Status page will display all variables reported by the NUT driver, however I don't personally know what variables are reported by the driver for the 9631 card.
If you would like a copy of the beta package, please pm me with an email address. Thanks.
@irj972:
Does this NUT update support reporting on enviromentals via an APC 9631 and sensors?
-
Does the Beta package properly support the connection to Apcupsd ? Now I use a workaround with the old package, but I'd rather use something that can be configured through the pfsense webui.
-
Yes, the package supports configuration of remote apcupsd.
-
Thanks for letting me join the Beta Phase.
Here's my feedback:
I use a remote APC UPS which is hooked up on one of my Synology NAS.
After removing the current package i installed the beta via cmdline and was very happy that my Config Data has been found :)
I had to re-enable these by saving them and i got every value from the APC now shown in pfSense. That's cool!
There is also a new widget. The new one seems to be a little bigger. There i have to say, that i liked the older one a little more.
As i remember there where colored texts in it and it was, yes smaller.I keep up looking if there is any bug left :)
Thank you! -
Thanks for the feedback renegade. Much appreciated. Glad it worked for you.
The new widget is intended to fit with pfSense's new Bootstrap model. Line it up with the System Information widget and you'll see what I mean. Surprisingly, when not in alert state, the size of the new widget is about the same size as the old widget. It's smaller if there is an alert. :)
The new widget is intended to provide a highly distinctive visual indication of UPS alerts. The alert combines a large shaded color band and bolded alert text, which fits with the Bootstrap model. You can see what it looks like by disconnecting your UPS or by killing the driver. The multicolored text of the prior widget really was not sufficiently distinctive, particularly for color blind administrators.
No, I'm not color blind, but I have worked with admins that are.
-
Just installed the beta package without any problems. Connected to my APC SmartUPS 1500 usb through Apcupsd on my ubuntu server to which the UPS is physically connected. Worked without a hitch. Also the widget works without any issues.
Do you need logfiles or more info ?
-
Glad it worked for you justmie. No log files necessary. Thank you again for your help.
-
I found a strange bug. If I call Services >> UPS, it brings up https://192.168.1.1/nut_status.php properly. However, if I go to Services >> Snort, and then to Services >> UPS, it tries to call https://192.168.1.1/snort/nut_status.php.
-
Thanks Starrbuck. I've committed a change that addresses this. Not sure how long it will take to come available.
-
No hurry. It freaked me out for a bit until I figured out I was causing it by going to Snort first. ;)
-
I'm not sure how long the release will take to go through the system, so I sent out a beta4 with the url fix. This should be the same as the pending release except for the version number. If you come across any other issues, please do let me know. Again, thank you for your help!
-
Sure thing, glad to help.
-
I can report that all is working.
But I want report some strange issue, if you are just updating your previous beta then NUT service refuses to start automatically, widget just reports that UPS need attention and you must reboot or wait while it reconnects.Jul 28 19:29:06 upsd 57399 - I've manually pushed start service button on UPS page
Jul 28 19:29:16 upsmon 58301 Communications with UPS SMK-1000A established Jul 28 19:29:15 upsd 57956 Connected to UPS [SMK-1000A]: snmp-ups-SMK-1000A Jul 28 19:29:13 snmp-ups 59689 Startup successful Jul 28 19:29:11 upsmon 58301 UPS SMK-1000A is unavailable Jul 28 19:29:11 upsmon 58301 Poll UPS [SMK-1000A] failed - Driver not connected Jul 28 19:29:06 upsmon 58301 Communications with UPS SMK-1000A lost Jul 28 19:29:06 upsmon 58301 Poll UPS [SMK-1000A] failed - Driver not connected Jul 28 19:29:06 upsd 57956 User monuser@::1 logged into UPS [SMK-1000A] Jul 28 19:29:06 upsmon 58073 Startup successful Jul 28 19:29:06 upsd 57956 Startup successful Jul 28 19:29:06 upsd 57399 Can't connect to UPS [SMK-1000A] (snmp-ups-SMK-1000A): No such file or directory Jul 28 19:29:06 upsd 57399 listening on 127.0.0.1 port 3493 Jul 28 19:29:06 upsd 57399 listening on ::1 port 3493 Jul 28 19:29:06 upsd 57399 upsd.conf: invalid directive maxage = 25 Jul 28 19:27:52 pkg pfSense-pkg-nut-2.7.4b4 installed Jul 28 19:27:52 php /etc/rc.packages: Successfully installed package: nut. Jul 28 19:27:52 check_reload_status Syncing firewall Jul 28 19:27:51 upsmon 27988 Communications with UPS SMK-1000A lost Jul 28 19:27:51 upsmon 27988 Poll UPS [SMK-1000A] failed - Driver not connected Jul 28 19:27:51 upsd 27378 User monuser@::1 logged into UPS [SMK-1000A] Jul 28 19:27:51 upsmon 27815 Startup successful Jul 28 19:27:51 upsd 27378 Startup successful Jul 28 19:27:51 upsd 26835 Can't connect to UPS [SMK-1000A] (snmp-ups-SMK-1000A): No such file or directory Jul 28 19:27:51 upsd 26835 listening on 127.0.0.1 port 3493 Jul 28 19:27:51 upsd 26835 listening on ::1 port 3493 Jul 28 19:27:51 upsd 26835 upsd.conf: invalid directive maxage = 25 Jul 28 19:27:51 php /etc/rc.packages: Starting service nut Jul 28 19:27:51 snmp-ups 86120 Signal 15: exiting Jul 28 19:27:51 upsd 61866 Signal 15: exiting Jul 28 19:27:51 upsd 61866 mainloop: Interrupted system call Jul 28 19:27:51 upsd 61866 User monuser@::1 logged out from UPS [SMK-1000A] Jul 28 19:27:51 upsmon 62862 Signal 15: exiting Jul 28 19:27:51 php /etc/rc.packages: Stopping service nut Jul 28 19:27:51 check_reload_status Syncing firewall Jul 28 19:27:51 php /etc/rc.packages: Beginning package installation for nut .
Don't look at "maxage = 25" it's already fixed ;)
Also when I push restart service it restarts and "UPS Status" shows me same alert "Status Alert: The UPS requires attention", if I just hit refresh button in browser — everything coming back to normal state.
Sample log after pushing restart service:
Jul 28 19:47:35 upsmon 90347 Communications with UPS SMK-1000A established Jul 28 19:47:34 upsd 89700 Connected to UPS [SMK-1000A]: snmp-ups-SMK-1000A Jul 28 19:47:32 snmp-ups 14241 Startup successful Jul 28 19:47:30 upsmon 90347 UPS SMK-1000A is unavailable Jul 28 19:47:30 upsmon 90347 Poll UPS [SMK-1000A] failed - Driver not connected Jul 28 19:47:25 upsmon 90347 Communications with UPS SMK-1000A lost Jul 28 19:47:25 upsmon 90347 Poll UPS [SMK-1000A] failed - Driver not connected Jul 28 19:47:25 upsd 89700 User monuser@::1 logged into UPS [SMK-1000A] Jul 28 19:47:25 upsmon 90280 Startup successful Jul 28 19:47:25 upsd 89700 Startup successful Jul 28 19:47:25 upsd 88694 Can't connect to UPS [SMK-1000A] (snmp-ups-SMK-1000A): No such file or directory Jul 28 19:47:25 upsd 88694 listening on 127.0.0.1 port 3493 Jul 28 19:47:25 upsd 88694 listening on ::1 port 3493 Jul 28 19:47:25 snmp-ups 23316 Signal 15: exiting Jul 28 19:47:25 upsd 11392 Signal 15: exiting Jul 28 19:47:25 upsd 11392 mainloop: Interrupted system call Jul 28 19:47:25 upsmon 11755 upsmon parent: read Jul 28 19:47:25 upsd 11392 User monuser@::1 logged out from UPS [SMK-1000A] Jul 28 19:47:25 upsmon 11893 Signal 15: exiting
Am I missing something or my configuration is wrong elsewhere?
I have attached one.