PfSense 2.3.4 with NUT 2.7.4_4 and Tripp Lite SMX500RT1U USB No matching HID UPS



  • The UPS is on the supported list for nut.

    When the USB is connected the, the logs shows….
    uhid0: <tripp 0="" 1="" lite="" tripp="" smx500rt1u,="" class="" 0,="" rev="" 1.10="" 0.0a,="" addr="">on usbus0

    The UPS Service is setup as "Local USB" via the "usbhid" driver.

    When I start nut, from the ssh command line I get...

    /usr/local/etc/rc.d/nut.sh start
    starting NUT
    Network UPS Tools upsmon 2.7.4
    kill: No such process
    UPS: Local-USB-UPS (master) (power value 1)
    Using power down flag file /etc/killpower
    Network UPS Tools - UPS driver controller 2.7.4
    Network UPS Tools - Generic HID driver 0.41 (2.7.4)
    USB communication driver 0.33
    No matching HID UPS found
    Driver failed to start (exit status=1)
    Network UPS Tools upsd 2.7.4
    fopen /var/db/nut/upsd.pid: No such file or directory
    listening on ::1 port 3493
    listening on 127.0.0.1 port 3493
    Can't connect to UPS [Local-USB-UPS] (usbhid-ups-Local-USB-UPS): No such file or directory

    The key error seems to be "No matching HID UPS found".

    Any ideas what I'm missing?</tripp>



  • Perhaps try the tripplite driver instead of usbhid?



  • @dennypage:

    Perhaps try the tripplite driver instead of usbhid?

    Should have mentioned, tried that, same result.



  • What do you see when you run "usbconfig dump_device_desc"?



  • @dennypage:

    What do you see when you run "usbconfig dump_device_desc"?

    ugen0.2: <tripp lite="" smx500rt1u="" tripp="">at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (0mA)

    bLength = 0x0012
      bDescriptorType = 0x0001
      bcdUSB = 0x0110
      bDeviceClass = 0x0000  <probed by="" interface="" class="">bDeviceSubClass = 0x0000
      bDeviceProtocol = 0x0000
      bMaxPacketSize0 = 0x0008
      idVendor = 0x09ae
      idProduct = 0x0001
      bcdDevice = 0x000a
      iManufacturer = 0x0001  <tripp lite="">iProduct = 0x0002  <tripp lite="" smx500rt1u="">iSerialNumber = 0x0000  <no string="">bNumConfigurations = 0x0001</no></tripp></tripp></probed></tripp>



  • Seems to be a problem starting the UPS driver. If I setup the UPS to be "Local USB" and driver "tripplite", save the config, the log shows…

    Jul 11 16:44:27 php-fpm 76934 /nut_settings.php: Starting service nut
    Jul 11 16:44:27 upsmon 13232 Startup successful
    Jul 11 16:44:28 upsd 14483 listening on ::1 port 3493
    Jul 11 16:44:28 upsd 14483 listening on 127.0.0.1 port 3493
    Jul 11 16:44:28 upsd 14483 Can't connect to UPS [Local-USB-UPS] (tripplite_usb-Local-USB-UPS): No such file or directory
    Jul 11 16:44:28 upsd 14579 Startup successful
    Jul 11 16:44:30 upsd 14579 User monuser@127.0.0.1 logged into UPS [Local-USB-UPS]
    Jul 11 16:44:30 upsmon 13712 Poll UPS [Local-USB-UPS] failed - Driver not connected
    Jul 11 16:44:30 upsmon 13712 Communications with UPS Local-USB-UPS lost
    Jul 11 16:44:35 upsmon 13712 Poll UPS [Local-USB-UPS] failed - Driver not connected
    Jul 11 16:44:35 upsmon 13712 UPS Local-USB-UPS is unavailable

    But if I then ssh to the server and manually start the UPS driver…

    /usr/local/libexec/nut/tripplite_usb -u root -a Local-USB-UPS

    I see...

    Network UPS Tools - Tripp Lite OMNIVS / SMARTPRO driver 0.29 (2.7.4)
    Warning: This is an experimental driver.
    Some features may not function correctly.

    Detected a UPS: Tripp Lite /TRIPP LITE SMX500RT1U
    libusb_get_interrupt() returned 0 instead of 8 while sending 3a 00 ff 0d 00 00 00 00 '........'
    Using binary SMART protocol (3005)
    Unknown input voltage range: 0x06
    Unit ID: 65535
    Attached to Tripp Lite TRIPP LITE SMX500RT1U

    And the UPS shows online in Services / UPS / Status, together with all the values I'd expect...

    Variable Value
    battery.voltage 13.70
    battery.voltage.nominal 12
    device.mfr Tripp Lite
    device.model TRIPP LITE SMX500RT1U
    device.type ups
    driver.name tripplite_usb
    driver.parameter.pollinterval 2
    driver.parameter.port auto
    driver.parameter.synchronous no
    driver.version 2.7.4
    driver.version.internal 0.29
    input.voltage 247
    input.voltage.maximum 261
    input.voltage.minimum 236
    input.voltage.nominal 120
    outlet.1.desc Load 1
    outlet.1.id 1
    outlet.1.switch 1
    outlet.1.switchable 1
    outlet.2.desc Load 2
    outlet.2.id 2
    outlet.2.switchable 0
    ups.debug.D 00 f7 00 89 0d 00 00 '.......'
    ups.debug.L 0c 00 06 07 58 58 0d '....XX.'
    ups.debug.load_banks 1
    ups.debug.M 00 ec 01 05 0d 00 00 '.......'
    ups.debug.P 30 30 35 30 30 58 0d '00500X.'
    ups.debug.S 01 04 00 00 64 00 0d '....d..'
    ups.debug.T 21 00 01 f4 00 58 0d '.....X.'
    ups.debug.V 06 00 0c 01 58 58 0d '....XX.'
    ups.delay.shutdown 64
    ups.firmware F29AF.B
    ups.firmware.aux protocol 3005
    ups.id 65535
    ups.mfr Tripp Lite
    ups.model TRIPP LITE SMX500RT1U
    ups.power.nominal 500
    ups.productid 0001
    ups.status OL
    ups.temperature 0
    ups.vendorid



  • Found it. It's a permissions thing. For some reason the correct user context is not setup. Adding "user=root" in the ups.conf advanced settings fixes it.



  • There is a discussion of this problem here. Please give that a try and let me know if it clears your permission problem. Thanks.



  • @dennypage:

    There is a discussion of this problem here. Please give that a try and let me know if it clears your permission problem. Thanks.

    Unfortunately, the site with the pfSense and the UPS, is live and about 250 Miles away from me. So I cannot reboot and re-connect the UPS USB cable.
    However, on all further UPS implementations we will test this.



  • Okay, thanks.

    Note that you don't have to do the disconnect/reconnect if you are able to do a reboot.



  • An Electrician caused a reboot by turning off the power on the clean side of the UPS!
    Anyway I removed the "user=root" and it works ok now.



  • @communityuk:

    An Electrician caused a reboot by turning off the power on the clean side of the UPS!
    Anyway I removed the "user=root" and it works ok now.

    Awesome, thanks for letting me know. I'll see about adding an install warning for this next time I update the package.

    About the electrician though… sigh.


Log in to reply