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

    NUT fails to start after 2.7.2 -> 2.8.0 upgrade

    Scheduled Pinned Locked Moved UPS Tools
    6 Posts 2 Posters 144 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.
    • J
      jhg
      last edited by jhg

      NUT version is 2.8.2_5 (I've already tried reinstalling the package)

      NUT seems to think it can't find the UPS, but usbconfig shows it to be present:

      [2.8.0-RELEASE][admin@janus.jhmg.pvt]/usr/local/etc/rc.d: usbconfig
      ...
      ugen0.5: <PR1500LCDRT2U UPS Cyber Power System, Inc.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (2mA)
      ...
      

      Below is the console log attempting to start NUT from the command line.

      [2.8.0-RELEASE][admin@janus.jhmg.pvt]/usr/local/etc/rc.d: ./nut.sh stop
      stopping NUT
      [2.8.0-RELEASE][admin@janus.jhmg.pvt]/usr/local/etc/rc.d: ./nut.sh start
      starting NUT
      Network UPS Tools - UPS driver controller 2.8.2
      Network UPS Tools upsd 2.8.2
      fopen /var/db/nut/upsd.pid: No such file or directory
      Could not find PID file '/var/db/nut/upsd.pid' to see if previous upsd instance is already running!
      Network UPS Tools - Generic HID driver 0.53 (2.8.2)
      listening on 127.0.0.1 port 3493
      USB communication driver (libusb 1.0) 0.47
      listening on ::1 port 3493
      Can't connect to UPS [CyberPower-1500] (usbhid-ups-CyberPower-1500): No such file or directory
      libusb1: Could not open any HID devices: no USB buses found
      No matching HID UPS found
      upsnotify: failed to notify about state 4: no notification tech defined, will not spam more about it
      Driver failed to start (exit status=1)
      Found 1 UPS defined in ups.conf
      Network UPS Tools upsmon 2.8.2
      kill: No such process
      UPS: CyberPower-1500 (primary) (power value 1)
      Using power down flag file /etc/killpower
      

      Also

      [2.8.0-RELEASE][admin@janus.jhmg.pvt]/usr/local/etc/nut: more ups.conf
      [CyberPower-1500]
      driver=usbhid-ups
      port=auto
      
      [2.8.0-RELEASE][admin@janus.jhmg.pvt]/usr/local/etc/nut: egrep -v '^#' nut.conf
      MODE=none
      

      and this, which singles out the usbhid-ups driver as the problem:

      [2.8.0-RELEASE][admin@janus.jhmg.pvt]/usr/local/etc/nut: /usr/local/libexec/nut/usbhid-ups -a CyberPower-1500
      Network UPS Tools - Generic HID driver 0.53 (2.8.2)
      USB communication driver (libusb 1.0) 0.47
      libusb1: Could not open any HID devices: no USB buses found
      No matching HID UPS found
      upsnotify: failed to notify about state 4: no notification tech defined, will not spam more about it
      

      pfSense CE on Beelink EQ12 (N100 CPU, dual 2.5Gbe Intel NICs)
      Hitron CODA56 - Comcast 2.5Gb cable

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

        @jhg Please post the output of the following commands:

        pkg info | grep nut
        
        usbconfig dump_all_desc
        
        J 1 Reply Last reply Reply Quote 0
        • J
          jhg @dennypage
          last edited by jhg

          @dennypage Here it is, complete (rather long)

          [2.8.0-RELEASE][admin@janus.jhmg.pvt]/root: pkg info | grep nut
          nut-2.8.2                      Network UPS Tools
          pfSense-pkg-nut-2.8.2_5        Network UPS Tools
          

          Here's what Package Manager has:

          nut-pkg-manager.png

          [2.8.0-RELEASE][admin@janus.jhmg.pvt]/root: usbconfig dump_all_desc
          ugen0.1: <Intel XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
          
            bLength = 0x0012
            bDescriptorType = 0x0001
            bcdUSB = 0x0300
            bDeviceClass = 0x0009  <HUB>
            bDeviceSubClass = 0x0000
            bDeviceProtocol = 0x0003
            bMaxPacketSize0 = 0x0009
            idVendor = 0x0000
            idProduct = 0x0000
            bcdDevice = 0x0100
            iManufacturer = 0x0001  <Intel>
            iProduct = 0x0002  <XHCI root HUB>
            iSerialNumber = 0x0000  <no string>
            bNumConfigurations = 0x0001
          
           Configuration index 0
          
              bLength = 0x0009
              bDescriptorType = 0x0002
              wTotalLength = 0x001f
              bNumInterfaces = 0x0001
              bConfigurationValue = 0x0001
              iConfiguration = 0x0000  <no string>
              bmAttributes = 0x0040
              bMaxPower = 0x0000
          
              Interface 0
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0000
                bAlternateSetting = 0x0000
                bNumEndpoints = 0x0001
                bInterfaceClass = 0x0009  <HUB>
                bInterfaceSubClass = 0x0000
                bInterfaceProtocol = 0x0000
                iInterface = 0x0000  <no string>
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0081  <IN>
                  bmAttributes = 0x0003  <INTERRUPT>
                  wMaxPacketSize = 0x0002
                  bInterval = 0x00ff
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
                Additional Descriptor
          
                bLength = 0x06
                bDescriptorType = 0x30
                bDescriptorSubType = 0x00
                 RAW dump:
                 0x00 | 0x06, 0x30, 0x00, 0x00, 0x00, 0x00
          
          
          
          
          ugen0.2: <Hub Terminus Technology Inc.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA)
          
            bLength = 0x0012
            bDescriptorType = 0x0001
            bcdUSB = 0x0200
            bDeviceClass = 0x0009  <HUB>
            bDeviceSubClass = 0x0000
            bDeviceProtocol = 0x0001
            bMaxPacketSize0 = 0x0040
            idVendor = 0x1a40
            idProduct = 0x0101
            bcdDevice = 0x0111
            iManufacturer = 0x0000  <no string>
            iProduct = 0x0001  <USB 2.0 Hub>
            iSerialNumber = 0x0000  <no string>
            bNumConfigurations = 0x0001
          
           Configuration index 0
          
              bLength = 0x0009
              bDescriptorType = 0x0002
              wTotalLength = 0x0019
              bNumInterfaces = 0x0001
              bConfigurationValue = 0x0001
              iConfiguration = 0x0000  <no string>
              bmAttributes = 0x00e0
              bMaxPower = 0x0032
          
              Interface 0
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0000
                bAlternateSetting = 0x0000
                bNumEndpoints = 0x0001
                bInterfaceClass = 0x0009  <HUB>
                bInterfaceSubClass = 0x0000
                bInterfaceProtocol = 0x0000
                iInterface = 0x0000  <no string>
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0081  <IN>
                  bmAttributes = 0x0003  <INTERRUPT>
                  wMaxPacketSize = 0x0001
                  bInterval = 0x000c
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
          
          ugen0.3: <Dell MS116 Optical Mouse Dell Computer Corp.> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)
          
            bLength = 0x0012
            bDescriptorType = 0x0001
            bcdUSB = 0x0200
            bDeviceClass = 0x0000  <Probed by interface class>
            bDeviceSubClass = 0x0000
            bDeviceProtocol = 0x0000
            bMaxPacketSize0 = 0x0008
            idVendor = 0x413c
            idProduct = 0x301a
            bcdDevice = 0x0100
            iManufacturer = 0x0001  <PixArt>
            iProduct = 0x0002  <Dell MS116 USB Optical Mouse>
            iSerialNumber = 0x0000  <no string>
            bNumConfigurations = 0x0001
          
           Configuration index 0
          
              bLength = 0x0009
              bDescriptorType = 0x0002
              wTotalLength = 0x0022
              bNumInterfaces = 0x0001
              bConfigurationValue = 0x0001
              iConfiguration = 0x0000  <no string>
              bmAttributes = 0x00a0
              bMaxPower = 0x0032
          
              Interface 0
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0000
                bAlternateSetting = 0x0000
                bNumEndpoints = 0x0001
                bInterfaceClass = 0x0003  <HID device>
                bInterfaceSubClass = 0x0001
                bInterfaceProtocol = 0x0002
                iInterface = 0x0000  <no string>
          
                Additional Descriptor
          
                bLength = 0x09
                bDescriptorType = 0x21
                bDescriptorSubType = 0x11
                 RAW dump:
                 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x2e,
                 0x08 | 0x00
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0081  <IN>
                  bmAttributes = 0x0003  <INTERRUPT>
                  wMaxPacketSize = 0x0004
                  bInterval = 0x000a
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
          
          ugen0.4: <Multimedia Keyboard Lite-On Technology Corp.> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)
          
            bLength = 0x0012
            bDescriptorType = 0x0001
            bcdUSB = 0x0110
            bDeviceClass = 0x0000  <Probed by interface class>
            bDeviceSubClass = 0x0000
            bDeviceProtocol = 0x0000
            bMaxPacketSize0 = 0x0008
            idVendor = 0x04ca
            idProduct = 0x003a
            bcdDevice = 0x0115
            iManufacturer = 0x0001  <Lite-On Technology Corp.>
            iProduct = 0x0002  <USB Multimedia Keyboard>
            iSerialNumber = 0x0000  <no string>
            bNumConfigurations = 0x0001
          
           Configuration index 0
          
              bLength = 0x0009
              bDescriptorType = 0x0002
              wTotalLength = 0x003b
              bNumInterfaces = 0x0002
              bConfigurationValue = 0x0001
              iConfiguration = 0x0000  <no string>
              bmAttributes = 0x00a0
              bMaxPower = 0x0032
          
              Interface 0
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0000
                bAlternateSetting = 0x0000
                bNumEndpoints = 0x0001
                bInterfaceClass = 0x0003  <HID device>
                bInterfaceSubClass = 0x0001
                bInterfaceProtocol = 0x0001
                iInterface = 0x0000  <no string>
          
                Additional Descriptor
          
                bLength = 0x09
                bDescriptorType = 0x21
                bDescriptorSubType = 0x10
                 RAW dump:
                 0x00 | 0x09, 0x21, 0x10, 0x01, 0x00, 0x01, 0x22, 0x41,
                 0x08 | 0x00
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0081  <IN>
                  bmAttributes = 0x0003  <INTERRUPT>
                  wMaxPacketSize = 0x0008
                  bInterval = 0x000a
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
              Interface 1
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0001
                bAlternateSetting = 0x0000
                bNumEndpoints = 0x0001
                bInterfaceClass = 0x0003  <HID device>
                bInterfaceSubClass = 0x0000
                bInterfaceProtocol = 0x0000
                iInterface = 0x0000  <no string>
          
                Additional Descriptor
          
                bLength = 0x09
                bDescriptorType = 0x21
                bDescriptorSubType = 0x10
                 RAW dump:
                 0x00 | 0x09, 0x21, 0x10, 0x01, 0x00, 0x01, 0x22, 0x4e,
                 0x08 | 0x00
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0082  <IN>
                  bmAttributes = 0x0003  <INTERRUPT>
                  wMaxPacketSize = 0x0008
                  bInterval = 0x000a
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
          
          ugen0.5: <PR1500LCDRT2U UPS Cyber Power System, Inc.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (2mA)
          
            bLength = 0x0012
            bDescriptorType = 0x0001
            bcdUSB = 0x0200
            bDeviceClass = 0x0000  <Probed by interface class>
            bDeviceSubClass = 0x0000
            bDeviceProtocol = 0x0000
            bMaxPacketSize0 = 0x0040
            idVendor = 0x0764
            idProduct = 0x0601
            bcdDevice = 0x0200
            iManufacturer = 0x0003  <CPS>
            iProduct = 0x0001  <CP1500PFCLCDa>
            iSerialNumber = 0x0002  <CXXJV2014210>
            bNumConfigurations = 0x0001
          
           Configuration index 0
          
              bLength = 0x0009
              bDescriptorType = 0x0002
              wTotalLength = 0x0029
              bNumInterfaces = 0x0001
              bConfigurationValue = 0x0001
              iConfiguration = 0x0000  <no string>
              bmAttributes = 0x00c0
              bMaxPower = 0x0001
          
              Interface 0
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0000
                bAlternateSetting = 0x0000
                bNumEndpoints = 0x0002
                bInterfaceClass = 0x0003  <HID device>
                bInterfaceSubClass = 0x0000
                bInterfaceProtocol = 0x0000
                iInterface = 0x0000  <no string>
          
                Additional Descriptor
          
                bLength = 0x09
                bDescriptorType = 0x21
                bDescriptorSubType = 0x10
                 RAW dump:
                 0x00 | 0x09, 0x21, 0x10, 0x01, 0x21, 0x01, 0x22, 0xd1,
                 0x08 | 0x02
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0081  <IN>
                  bmAttributes = 0x0003  <INTERRUPT>
                  wMaxPacketSize = 0x0040
                  bInterval = 0x000a
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
               Endpoint 1
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0002  <OUT>
                  bmAttributes = 0x0003  <INTERRUPT>
                  wMaxPacketSize = 0x0040
                  bInterval = 0x0014
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
          
          ugen0.6: <AX201 Bluetooth Intel Corp.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
          
            bLength = 0x0012
            bDescriptorType = 0x0001
            bcdUSB = 0x0201
            bDeviceClass = 0x00e0  <Wireless controller>
            bDeviceSubClass = 0x0001
            bDeviceProtocol = 0x0001
            bMaxPacketSize0 = 0x0040
            idVendor = 0x8087
            idProduct = 0x0026
            bcdDevice = 0x0002
            iManufacturer = 0x0000  <no string>
            iProduct = 0x0000  <no string>
            iSerialNumber = 0x0000  <no string>
            bNumConfigurations = 0x0001
          
           Configuration index 0
          
              bLength = 0x0009
              bDescriptorType = 0x0002
              wTotalLength = 0x00c8
              bNumInterfaces = 0x0002
              bConfigurationValue = 0x0001
              iConfiguration = 0x0000  <no string>
              bmAttributes = 0x00e0
              bMaxPower = 0x0032
          
              Interface 0
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0000
                bAlternateSetting = 0x0000
                bNumEndpoints = 0x0003
                bInterfaceClass = 0x00e0  <Wireless controller>
                bInterfaceSubClass = 0x0001
                bInterfaceProtocol = 0x0001
                iInterface = 0x0000  <no string>
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0081  <IN>
                  bmAttributes = 0x0003  <INTERRUPT>
                  wMaxPacketSize = 0x0040
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
               Endpoint 1
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0002  <OUT>
                  bmAttributes = 0x0002  <BULK>
                  wMaxPacketSize = 0x0040
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
               Endpoint 2
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0082  <IN>
                  bmAttributes = 0x0002  <BULK>
                  wMaxPacketSize = 0x0040
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
              Interface 1
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0001
                bAlternateSetting = 0x0000
                bNumEndpoints = 0x0002
                bInterfaceClass = 0x00e0  <Wireless controller>
                bInterfaceSubClass = 0x0001
                bInterfaceProtocol = 0x0001
                iInterface = 0x0000  <no string>
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0003  <OUT>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x0000
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
               Endpoint 1
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0083  <IN>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x0000
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
              Interface 1 Alt 1
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0001
                bAlternateSetting = 0x0001
                bNumEndpoints = 0x0002
                bInterfaceClass = 0x00e0  <Wireless controller>
                bInterfaceSubClass = 0x0001
                bInterfaceProtocol = 0x0001
                iInterface = 0x0000  <no string>
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0003  <OUT>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x0009
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
               Endpoint 1
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0083  <IN>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x0009
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
              Interface 1 Alt 2
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0001
                bAlternateSetting = 0x0002
                bNumEndpoints = 0x0002
                bInterfaceClass = 0x00e0  <Wireless controller>
                bInterfaceSubClass = 0x0001
                bInterfaceProtocol = 0x0001
                iInterface = 0x0000  <no string>
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0003  <OUT>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x0011
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
               Endpoint 1
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0083  <IN>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x0011
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
              Interface 1 Alt 3
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0001
                bAlternateSetting = 0x0003
                bNumEndpoints = 0x0002
                bInterfaceClass = 0x00e0  <Wireless controller>
                bInterfaceSubClass = 0x0001
                bInterfaceProtocol = 0x0001
                iInterface = 0x0000  <no string>
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0003  <OUT>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x0019
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
               Endpoint 1
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0083  <IN>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x0019
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
              Interface 1 Alt 4
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0001
                bAlternateSetting = 0x0004
                bNumEndpoints = 0x0002
                bInterfaceClass = 0x00e0  <Wireless controller>
                bInterfaceSubClass = 0x0001
                bInterfaceProtocol = 0x0001
                iInterface = 0x0000  <no string>
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0003  <OUT>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x0021
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
               Endpoint 1
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0083  <IN>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x0021
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
              Interface 1 Alt 5
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0001
                bAlternateSetting = 0x0005
                bNumEndpoints = 0x0002
                bInterfaceClass = 0x00e0  <Wireless controller>
                bInterfaceSubClass = 0x0001
                bInterfaceProtocol = 0x0001
                iInterface = 0x0000  <no string>
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0003  <OUT>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x0031
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
               Endpoint 1
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0083  <IN>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x0031
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
              Interface 1 Alt 6
                bLength = 0x0009
                bDescriptorType = 0x0004
                bInterfaceNumber = 0x0001
                bAlternateSetting = 0x0006
                bNumEndpoints = 0x0002
                bInterfaceClass = 0x00e0  <Wireless controller>
                bInterfaceSubClass = 0x0001
                bInterfaceProtocol = 0x0001
                iInterface = 0x0000  <no string>
          
               Endpoint 0
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0003  <OUT>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x003f
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
               Endpoint 1
                  bLength = 0x0007
                  bDescriptorType = 0x0005
                  bEndpointAddress = 0x0083  <IN>
                  bmAttributes = 0x0001  <ISOCHRONOUS>
                  wMaxPacketSize = 0x003f
                  bInterval = 0x0001
                  bRefresh = 0x0000
                  bSynchAddress = 0x0000
          
          
          

          pfSense CE on Beelink EQ12 (N100 CPU, dual 2.5Gbe Intel NICs)
          Hitron CODA56 - Comcast 2.5Gb cable

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

            @jhg said in NUT fails to start after 2.7.2 -> 2.8.0 upgrade:

            [2.8.0-RELEASE][admin@janus.jhmg.pvt]/root: pkg info | grep nut
            nut-2.8.2 Network UPS Tools
            pfSense-pkg-nut-2.8.2_5 Network UPS Tools

            These are good.

            @jhg said in NUT fails to start after 2.7.2 -> 2.8.0 upgrade:

            ugen0.5: <PR1500LCDRT2U UPS Cyber Power System, Inc.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (2mA)

            bLength = 0x0012
            bDescriptorType = 0x0001
            bcdUSB = 0x0200
            bDeviceClass = 0x0000 <Probed by interface class>
            bDeviceSubClass = 0x0000
            bDeviceProtocol = 0x0000
            bMaxPacketSize0 = 0x0040
            idVendor = 0x0764
            idProduct = 0x0601
            bcdDevice = 0x0200
            iManufacturer = 0x0003 <CPS>
            iProduct = 0x0001 <CP1500PFCLCDa>
            iSerialNumber = 0x0002 <CXXJV2014210>
            bNumConfigurations = 0x0001

            Configuration index 0

            bLength = 0x0009
            bDescriptorType = 0x0002
            wTotalLength = 0x0029
            bNumInterfaces = 0x0001
            bConfigurationValue = 0x0001
            iConfiguration = 0x0000  <no string>
            bmAttributes = 0x00c0
            bMaxPower = 0x0001
            
            Interface 0
              bLength = 0x0009
              bDescriptorType = 0x0004
              bInterfaceNumber = 0x0000
              bAlternateSetting = 0x0000
              bNumEndpoints = 0x0002
              bInterfaceClass = 0x0003  <HID device>
              bInterfaceSubClass = 0x0000
              bInterfaceProtocol = 0x0000
              iInterface = 0x0000  <no string>
            
              Additional Descriptor
            
              bLength = 0x09
              bDescriptorType = 0x21
              bDescriptorSubType = 0x10
               RAW dump:
               0x00 | 0x09, 0x21, 0x10, 0x01, 0x21, 0x01, 0x22, 0xd1,
               0x08 | 0x02
            
             Endpoint 0
                bLength = 0x0007
                bDescriptorType = 0x0005
                bEndpointAddress = 0x0081  <IN>
                bmAttributes = 0x0003  <INTERRUPT>
                wMaxPacketSize = 0x0040
                bInterval = 0x000a
                bRefresh = 0x0000
                bSynchAddress = 0x0000
            
             Endpoint 1
                bLength = 0x0007
                bDescriptorType = 0x0005
                bEndpointAddress = 0x0002  <OUT>
                bmAttributes = 0x0003  <INTERRUPT>
                wMaxPacketSize = 0x0040
                bInterval = 0x0014
                bRefresh = 0x0000
                bSynchAddress = 0x0000
            

            This also looks fine.

            Questions:

            • Have you rebooted since the update to 2.8.0 completed?
            • Have you un-plugged and replugged the usb connection?
            • Does usbconfig show a driver already attached to the ups? Use the following command to list drivers:
            usbconfig show_ifdrv
            

            Check the above first, but the next thing to explore afterward will be starting the driver in debug mode. To do this, first start the service from the UI, and then kill the driver:

            killall usbhid-ups
            

            Then, run the driver with debug:

            /usr/local/libexec/nut/usbhid-ups -DDD -a YOUR_UPS_NAME_HERE
            

            See what additional errors it shows. If it doesn't show enough you can add more 'D's until it does up to "-DDDDDD".

            J 1 Reply Last reply Reply Quote 0
            • J
              jhg @dennypage
              last edited by

              @dennypage Interesting. I would have thought the initial reboot, which occurred as part of the upgrade, would have done the trick, but it took a second reboot, just now, to get things working.

              So the issue, for me at least, seems resolved, but of course this leaves open the question of why a second reboot was needed. Here's some more information in case it helps.

              There was no difference in the output of usbconfig show_ifdrv at any point -- before or after unplugging/replugging the USB cable, nor after rebooting. Here's the output relating to the UPS, which was identical at all 3 points:

              ugen0.5: <PR1500LCDRT2U UPS Cyber Power System, Inc.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (2mA)
              

              Question: What would tell me whether or not a driver was loaded?

              Prior to rebooting, I also tried running usbhid-ups -DDDDDD -a CyberPower-1500, and the only apparently meaningful message was (complete output later):

              ...   
                 0.001460     [D2] Initializing an USB-connected UPS with library libusb-1.0.0 (API: 0x1000102) (NUT subdriver name='USB communication driver (libusb 1.0)' ver='0.47')
                 0.001760     [D2] libusb1: No appropriate HID device found
                 0.001774     libusb1: Could not open any HID devices: no USB buses found
                 0.001780     No matching HID UPS found
              ...
              

              Here's the full output:

              [2.8.0-RELEASE][admin@janus.jhmg.pvt]/root: /usr/local/libexec/nut/usbhid-ups -DDDDDD -a CyberPower-1500
                 0.000001     [D5] send_to_all: SETINFO driver.state "init.starting"
              Network UPS Tools - Generic HID driver 0.53 (2.8.2)
              USB communication driver (libusb 1.0) 0.47
                 0.000284     [D1] upsdrv_makevartable...
                 0.000449     [D5] send_to_all: SETINFO driver.version.usb "libusb-1.0.0 (API: 0x1000102)"
                 0.000465     [D1] Using USB implementation: libusb-1.0.0 (API: 0x1000102)
                 0.000604     [D5] do_upsconf_args: confupsname=CyberPower-1500, var=driver, val=usbhid-ups
                 0.000616     [D5] do_upsconf_args: call main_arg()
                 0.000624     [D3] main_arg: var='driver' val='usbhid-ups'
                 0.000631     [D5] do_upsconf_args: not a main_arg()
                 0.000637     [D5] do_upsconf_args: this is a 'driver' setting, may we proceed?
                 0.000645     [D6] testval_reloadable: var=driver, oldval=usbhid-ups, newval=usbhid-ups, reloadable=0, reload_flag=0
                 0.000654     [D6] testval_reloadable: verdict for (re)loading var=driver value: -1
                 0.000659     [D5] do_upsconf_args: 'driver' setting already applied with this value
                 0.000667     [D5] do_upsconf_args: confupsname=CyberPower-1500, var=port, val=auto
                 0.000673     [D5] do_upsconf_args: call main_arg()
                 0.000678     [D3] main_arg: var='port' val='auto'
                 0.000685     [D6] testinfo_reloadable: var=port, infoname=driver.parameter.port, newval=auto, reloadable=0, reload_flag=0
                 0.000692     [D6] testinfo_reloadable: verdict for (re)loading var=port value: 1
                 0.000703     [D5] send_to_all: SETINFO driver.parameter.port "auto"
                 0.000728     [D1] Network UPS Tools version 2.8.2 (release/snapshot of 2.8.2) built with FreeBSD clang version 19.1.5 (https://github.com/llvm/llvm-project.git llvmorg-19.1.5-0-gab4b5a2db582); Target: x86_64-unknown-freebsd15.0; Thread model: posix and configured with flags: --sysconfdir=/usr/local/etc/nut --program-transform-name= --localstatedir=/var/db/nut --datadir=/usr/local/etc/nut --with-devd-dir=/usr/local/etc/devd --with-drvpath=/usr/local/libexec/nut --with-statepath=/var/db/nut --with-altpidpath=/var/db/nut --with-pidpath=/var/db/nut --with-pkgconfig-dir=/usr/local/libdata/pkgconfig --with-user=nut --with-group=nut --with-python=/usr/local/bin/python3.11 --without-python2 --with-python3=/usr/local/bin/python3.11 --without-nut_monitor --with-ltdl --with-nut-scanner --with-avahi --with-cgi --with-cgipath=/usr/local/www/cgi-bin/nut --with-htmlpath=/usr/local/www/nut --with-gd-includes=-I/usr/local/include --with-gd-libs='-L/usr/local/lib -lgd' --without-dev --with-freeipmi --without-ipmi --with-doc=no --with-modbus --with-neon --without-nss --with-openssl --with-powerman --with-serial --with-snmp --with-usb=auto --prefix=/usr/local --mandir=/usr/local/share/man --disable-silent-rules --infodir=/usr/local/share/info/ --build=amd64-portbld-freebsd15.0
                 0.000748     [D1] debug level is '6'
                 0.000759     [D5] send_to_all: SETINFO driver.debug "6"
                 0.000768     [D5] send_to_all: SETFLAGS driver.debug RW NUMBER
                 0.001368     [D1] Succeeded to become_user(nut): now UID=316 GID=316
                 0.001431     [D5] send_to_all: SETINFO device.type "ups"
                 0.001444     [D5] send_to_all: SETINFO driver.state "init.device"
                 0.001451     [D1] upsdrv_initups (non-SHUT)...
                 0.001460     [D2] Initializing an USB-connected UPS with library libusb-1.0.0 (API: 0x1000102) (NUT subdriver name='USB communication driver (libusb 1.0)' ver='0.47')
                 0.001760     [D2] libusb1: No appropriate HID device found
                 0.001774     libusb1: Could not open any HID devices: no USB buses found
                 0.001780     No matching HID UPS found
                 0.001809     [D5] send_to_all: SETINFO driver.state "cleanup.exit"
                 0.001818     upsnotify: failed to notify about state 4: no notification tech defined, will not spam more about it
              

              You might consider adding this resolution to the release notes for 2.8.

              Thanks for the assistance!

              pfSense CE on Beelink EQ12 (N100 CPU, dual 2.5Gbe Intel NICs)
              Hitron CODA56 - Comcast 2.5Gb cable

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

                @jhg said in NUT fails to start after 2.7.2 -> 2.8.0 upgrade:

                Interesting. I would have thought the initial reboot, which occurred as part of the upgrade, would have done the trick, but it took a second reboot, just now, to get things working.

                Glad you have it sorted.

                There was no difference in the output of usbconfig show_ifdrv at any point -- before or after unplugging/replugging the USB cable, nor after rebooting.
                ...
                Question: What would tell me whether or not a driver was loaded?

                If there were an attached driver, it should have shown up with the show_ifdrv command. If you use the command and look at the other usb devices, I think they will show attached drivers. I don't expect to see a driver attached to the ups, because there is a quirk that tells the OS to ignore that device (and not attach a driver).

                Look for idVendor and idProduct in the above output. The Vendor ID for your device is 0764, which corresponds to Cyber Power Systems, and the Product ID for your device is 0601, which is registered as "PR1500LCDRT2U UPS" (don't sweat an exact match for the name).

                You can see the quirk with the following command:

                [25.07-RC][root@fw]/root: usbconfig dump_device_quirks | grep 0764
                VID=0x0764 PID=0x0005 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_HID_IGNORE
                VID=0x0764 PID=0x0501 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_HID_IGNORE
                VID=0x0764 PID=0x0601 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_HID_IGNORE
                [25.07-RC][root@fw]/root: 
                

                Your device is third on the list. The HID_IGNORE quirk says to ignore the device and not attach a driver.

                @jhg said in NUT fails to start after 2.7.2 -> 2.8.0 upgrade:

                You might consider adding this resolution to the release notes for 2.8.

                LOL... sorry, I don't work here. While I wrote and maintain various packages, including NUT, I'm still just a volunteer. Most packages are actually written by volunteers.

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