PFSense + NUT + Old tripplite UPS issue
-
Hi!
I've been struggling a bit to run an older UPS on my pfsense (2.7.2). I installed NUT (2.8.2_1) and the UPS is a Tripplite Internet750U.
On the link I've found from network ups tools (https://networkupstools.org/stable-hcl.html), it tells me the driver should be usbhid-ups, however when running it with this parameters, it tells me I should switch to the tripplite-usb driver.Output from usbhid-usp
Network UPS Tools - Generic HID driver 0.52 (2.8.1.1) USB communication driver (libusb 1.0) 0.46 0.000000 [D1] Network UPS Tools version 2.8.1.1 (release/snapshot of 2.8.1.1) built with FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152); Target: x86_64-unknown-freebsd14.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/man --disable-silent-rules --infodir=/usr/local/share/info/ --build=amd64-portbld-freebsd14.0 0.000024 [D1] debug level is '2' 0.000190 [D1] Succeeded to become_user(nut): now UID=316 GID=316 0.000210 [D1] upsdrv_initups (non-SHUT)... 0.000214 [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.46') 0.000311 [D2] Checking device 1 of 1 (09AE/0001) 0.007495 [D2] - VendorID: 09ae 0.007499 [D2] - ProductID: 0001 0.007500 [D2] - Manufacturer: TRIPP LITE 0.007502 [D2] - Product: TRIPP LITE INTERNET750U 0.007504 [D2] - Serial Number: unknown 0.007505 [D2] - Bus: 000 0.007507 [D2] - Bus Port: 007 0.007508 [D2] - Device: 002 0.007510 [D2] - Device release number: 0001 0.007511 [D2] Trying to match device 0.007514 [D2] match_function_subdriver (non-SHUT mode): matching a device... 0.007523 This Tripp Lite device (09ae/0001) is not supported by usbhid-ups. Please use the tripplite_usb driver instead. 0.007525 [D2] match_function_subdriver (non-SHUT mode): failed to match a subdriver to vendor and/or product ID 0.007527 [D2] Device does not match - skipping 0.007536 [D2] libusb1: No appropriate HID device found 0.007539 libusb1: Could not open any HID devices: insufficient permissions on everything 0.007540 No matching HID UPS found 0.007549 upsnotify: failed to notify about state 4: no notification tech defined, will not spam more about it
Switching the config to the tripplite_usb
Network UPS Tools - Tripp Lite OMNIVS / SMARTPRO driver 0.35 (2.8.1.1) Warning: This is an experimental driver. Some features may not function correctly. 0.000000 [D1] Network UPS Tools version 2.8.1.1 (release/snapshot of 2.8.1.1) built with FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152); Target: x86_64-unknown-freebsd14.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/man --disable-silent-rules --infodir=/usr/local/share/info/ --build=amd64-portbld-freebsd14.0 0.000022 [D1] debug level is '2' 0.000186 [D1] Succeeded to become_user(nut): now UID=316 GID=316 0.000296 [D2] Checking device 1 of 1 (09AE/0001) 0.007133 [D2] - VendorID: 09ae 0.007138 [D2] - ProductID: 0001 0.007140 [D2] - Manufacturer: TRIPP LITE 0.007142 [D2] - Product: TRIPP LITE INTERNET750U 0.007144 [D2] - Serial Number: unknown 0.007145 [D2] - Bus: 000 0.007147 [D2] - Bus Port: 007 0.007148 [D2] - Device: 002 0.007150 [D2] - Device release number: 0001 0.007151 [D2] Trying to match device 0.007154 [D2] Device matches 0.007156 [D2] Reading configuration descriptor 1 of 1 0.007180 [D2] Claimed interface 0 successfully 0.007894 [D2] Retrieved HID descriptor (expected 9, got 9) 0.007898 [D2] HID descriptor length 52 0.808666 Unit ID not retrieved (not available on all models) 0.808673 [D2] Caller doesn't like this device 0.811207 [D2] libusb1: No appropriate HID device found 0.811211 libusb1: Could not open any HID devices: insufficient permissions on everything 0.811213 No matching USB/HID UPS found 0.811225 upsnotify: failed to notify about state 4: no notification tech defined, will not spam more about it
So with this one, it sees the UPS, there's a match, but fails to connect.
Here's the output of nut-scanner
Scanning USB bus. No start IP, skipping SNMP Scanning XML/HTTP bus. No start IP, skipping NUT bus (old connect method) Scanning NUT simulation devices. Scanning NUT bus (avahi method). Error sending Eaton <SCAN_REQUEST/> to <broadcast>, #1/3 Failed to create Avahi client: Daemon not running Error sending Eaton <SCAN_REQUEST/> to <broadcast>, #2/3 Error sending Eaton <SCAN_REQUEST/> to <broadcast>, #3/3 [nutdev1] driver = "tripplite_usb" port = "auto" vendorid = "09AE" productid = "0001" product = "TRIPP LITE INTERNET750U" vendor = "TRIPP LITE" bus = "000" device = "002" busport = "007" ###NOTMATCHED-YET###bcdDevice = "0001"
If I try to run the triplite driver with -u root, still fails (altered to show only the UPS section, it lists all my usb hubs and other componments)
Network UPS Tools - Tripp Lite OMNIVS / SMARTPRO driver 0.35 (2.8.1.1) Warning: This is an experimental driver. Some features may not function correctly. 0.000000 [D1] Network UPS Tools version 2.8.1.1 (release/snapshot of 2.8.1.1) built with FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152); Target: x86_64-unknown-freebsd14.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/man --disable-silent-rules --infodir=/usr/local/share/info/ --build=amd64-portbld-freebsd14.0 0.000022 [D1] debug level is '2' 0.000186 [D1] Succeeded to become_user(root): now UID=0 GID=0 0.000483 [D2] Checking device 4 of 7 (09AE/0001) 0.007417 [D2] - VendorID: 09ae 0.007420 [D2] - ProductID: 0001 0.007421 [D2] - Manufacturer: TRIPP LITE 0.007423 [D2] - Product: TRIPP LITE INTERNET750U 0.007425 [D2] - Serial Number: unknown 0.007427 [D2] - Bus: 000 0.007428 [D2] - Bus Port: 007 0.007429 [D2] - Device: 002 0.007431 [D2] - Device release number: 0001 0.007432 [D2] Trying to match device 0.007434 [D2] Device matches 0.007436 [D2] Reading configuration descriptor 1 of 1 0.007455 [D2] Claimed interface 0 successfully 0.008178 [D2] Retrieved HID descriptor (expected 9, got 9) 0.008182 [D2] HID descriptor length 52 0.808952 Unit ID not retrieved (not available on all models) 0.808960 [D2] Caller doesn't like this device 0.819357 [D2] libusb1: No appropriate HID device found 0.819360 libusb1: Could not open any HID devices: insufficient permissions on everything 0.819362 No matching USB/HID UPS found 0.819374 upsnotify: failed to notify about state 4: no notification tech defined, will not spam more about it
usbconfig dump_device_desc
ugen0.2: <TRIPP LITE TRIPP LITE INTERNET750U> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (60mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0110 bDeviceClass = 0x0000 <Probed by interface class> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0008 idVendor = 0x09ae idProduct = 0x0001 bcdDevice = 0x0001 iManufacturer = 0x0001 <TRIPP LITE> iProduct = 0x0002 <TRIPP LITE INTERNET750U > iSerialNumber = 0x0000 <no string> bNumConfigurations = 0x0001
So yeah not to sure what to do next. All I can see is the insufficient permissions, wondering if it would be a permission thing, but on the other end, even trying it with root doesn't work.
Any input welcome!
-
@Evraptor The permissions error is a red herring.
It is possible that you are encountering a bug in NUT. There is an update to the version of NUT on pfSense pending. Probably best to wait for it unless you are in the mood to purchase another UPS.
Btw, "older UPS" often means older batteries. Lead acid batteries such as that UPS uses are good for only 3-5 years. If the batteries are older than 3 years, or the UPS has been unplugged for more than a year, the batteries will almost certainly need replacing.
-
Hey!
Good, hopefully the update will fix it up!
Old ups, but batteries inside were replaced. Ended up finding new batteries for that ups.
Kinda curious on what could produce a bug like this. From what I can see everything is setup proprely. Even permissions on the usb device is good. Really weird!
-
Finally got something working.
in ups.conf box in the settings I've added:
[UPS] subdriver = "TrippLite HID 0.85" vendorid = "09ae" productid = "0001"
So now I do have informations working on the UPS, but it states it's running on battery. Almost like the driver is not getting all the infos it requires
-
@Evraptor You can keep playing with it, but I would not trust it.