Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    NUT package (2.8.0 and below)

    Scheduled Pinned Locked Moved UPS Tools
    1.2k Posts 128 Posters 4.5m Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • O
      OffstageRoller
      last edited by

      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

      1 Reply Last reply Reply Quote 2
      • G
        ghound
        last edited by

        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.
        Screenshot 2023-06-04 at 2.53.13 PM.png
        Screenshot 2023-06-04 at 2.54.36  PM_Redacted.png

        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.

        dennypageD 1 Reply Last reply Reply Quote 0
        • dennypageD
          dennypage @ghound
          last edited by

          @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.

          G 1 Reply Last reply Reply Quote 1
          • G
            ghound @dennypage
            last edited by

            @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 state

            Also, new entries appeared from upsc for:
            battery.charge.low: 10
            battery.runtime.low: 120
            driver.flag.ignorelb: enabled

            I 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.

            1 Reply Last reply Reply Quote 0
            • M
              Maltz @dennypage
              last edited by

              @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.

              usbhid-ups.gz

              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?

              dennypageD 1 Reply Last reply Reply Quote 0
              • dennypageD
                dennypage @Maltz
                last edited by

                @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.

                M 1 Reply Last reply Reply Quote 0
                • M
                  Maltz @dennypage
                  last edited by

                  @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.

                  dennypageD 1 Reply Last reply Reply Quote 0
                  • dennypageD
                    dennypage @Maltz
                    last edited by

                    @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.

                    M 1 Reply Last reply Reply Quote 1
                    • M
                      Maltz @dennypage
                      last edited by

                      @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!

                      dennypageD 1 Reply Last reply Reply Quote 1
                      • dennypageD
                        dennypage @Maltz
                        last edited by

                        @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.

                        1 Reply Last reply Reply Quote 0
                        • M
                          Maltz
                          last edited by

                          This post is deleted!
                          1 Reply Last reply Reply Quote 1
                          • M
                            Maltz
                            last edited by

                            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

                            usbhid-ups.gz

                            sha256sum of uncompressed file:
                            cdeb8d4400e0c721c878c0af084f48356323c29b7f9ef4fc526b4d9a3ff339a5 usbhid-ups

                            keyserK 1 Reply Last reply Reply Quote 1
                            • I
                              incith
                              last edited by incith

                              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 dennypageD D 3 Replies Last reply Reply Quote 0
                              • I
                                incith @incith
                                last edited by

                                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.

                                1 Reply Last reply Reply Quote 0
                                • dennypageD
                                  dennypage @incith
                                  last edited by

                                  @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

                                  I 1 Reply Last reply Reply Quote 0
                                  • I
                                    incith @dennypage
                                    last edited by incith

                                    @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
                                    
                                    dennypageD 1 Reply Last reply Reply Quote 0
                                    • dennypageD
                                      dennypage @incith
                                      last edited by

                                      @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.

                                      I 2 Replies Last reply Reply Quote 0
                                      • I
                                        incith @dennypage
                                        last edited by incith

                                        @dennypage

                                        [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:
                                        
                                        dennypageD 1 Reply Last reply Reply Quote 0
                                        • D
                                          DurUser @incith
                                          last edited by

                                          @incith
                                          I have the same thing happen lately. (23.05.1)
                                          It works fine for a while but then says unavailable. I restart service and all works again. Sometimes for weeks, sometimes it quits the next day.
                                          Also use a cyberpower 1500
                                          Hardware is a Dell R210-II

                                          I keyserK 2 Replies Last reply Reply Quote 0
                                          • I
                                            incith @DurUser
                                            last edited by

                                            @DurUser My UPS.status is always blank. So it does not work even for a little bit for me. It thinks the ups is offline 100%.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.