NUT Package (2.8.1 and above)
-
@dennypage said in NUT Package (2.8.1 and above):
Can you run the driver by hand in debug mode via ssh please?
First start the service, and then kill the driver:
killall usbhid-ups
Then, run the driver with debug:/usr/local/libexec/nut/usbhid-ups -DDDDDD -a TrippLite
FYI - this is the output when I tried to manually restart the driver after connection was lost:
0.002954 [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.003874 [D2] Checking device 1 of 3 (0000/0000) 0.004670 [D1] nut_libusb_open: invalid libusb bus number 0 0.004804 [D2] - VendorID: 0000 0.004821 [D2] - ProductID: 0000 0.004833 [D2] - Manufacturer: Generic 0.004845 [D2] - Product: XHCI root HUB 0.004856 [D2] - Serial Number: unknown 0.004868 [D2] - Bus: 000 0.004878 [D2] - Bus Port: unknown 0.004889 [D2] - Device: 001 0.004901 [D2] - Device release number: 0100 0.004912 [D2] Trying to match device 0.004934 [D2] match_function_subdriver (non-SHUT mode): matching a device... 0.004978 [D2] match_function_subdriver (non-SHUT mode): failed to match a subdriver to vendor and/or product ID 0.004991 [D2] Device does not match - skipping 0.005115 [D2] Checking device 2 of 3 (0000/0000) 0.005340 [D1] nut_libusb_open: invalid libusb bus number 0 0.005432 [D2] - VendorID: 0000 0.005447 [D2] - ProductID: 0000 0.005458 [D2] - Manufacturer: Marvell 0.005470 [D2] - Product: EHCI root HUB 0.005481 [D2] - Serial Number: unknown 0.005492 [D2] - Bus: 001 0.005502 [D2] - Bus Port: unknown 0.005513 [D2] - Device: 001 0.005525 [D2] - Device release number: 0100 0.005535 [D2] Trying to match device 0.005554 [D2] match_function_subdriver (non-SHUT mode): matching a device... 0.005596 [D2] match_function_subdriver (non-SHUT mode): failed to match a subdriver to vendor and/or product ID 0.005610 [D2] Device does not match - skipping 0.005713 [D2] Checking device 3 of 3 (09AE/3024) 0.156567 [D1] nut_libusb_open get iManufacturer failed, retrying... 0.310568 [D1] nut_libusb_open get iManufacturer failed, retrying... 0.461572 [D1] nut_libusb_open get iManufacturer failed, retrying... 0.608445 [D1] nut_libusb_open get iProduct failed, retrying... 0.762543 [D1] nut_libusb_open get iProduct failed, retrying... 0.912962 [D1] nut_libusb_open get iProduct failed, retrying... 1.066550 [D1] nut_libusb_open get iSerialNumber failed, retrying... 1.218542 [D1] nut_libusb_open get iSerialNumber failed, retrying... 1.369116 [D1] nut_libusb_open get iSerialNumber failed, retrying... 1.369185 [D2] - VendorID: 09ae 1.369200 [D2] - ProductID: 3024 1.369214 [D2] - Manufacturer: unknown 1.369226 [D2] - Product: unknown 1.369238 [D2] - Serial Number: unknown 1.369249 [D2] - Bus: 001 1.369261 [D2] - Bus Port: 001 1.369273 [D2] - Device: 002 1.369285 [D2] - Device release number: 0002 1.369296 [D2] Trying to match device 1.369319 [D2] match_function_subdriver (non-SHUT mode): matching a device... 1.369424 [D3] match_function_regex: matching a device... 1.369447 [D2] Device matches 1.369460 [D2] Reading configuration descriptor 1 of 1 1.369848 [D3] libusb_kernel_driver_active() returned 0: Success 1.369919 [D2] Claimed interface 0 successfully 1.369944 [D3] nut_usb_set_altinterface: skipped libusb_set_interface_alt_setting(udev, 0, 0) 1.446624 [D2] Unable to get HID descriptor (No device) 1.446696 [D3] HID descriptor length (method 1) -1 1.446713 [D4] i=0, extra[i]=09, extra[i+1]=21 1.446736 [D3] HID descriptor, method 2: (9 bytes) => 09 21 11 01 21 01 22 75 03 1.446775 [D3] HID descriptor length (method 2) 885 1.446789 [D2] HID descriptor length 885 1.523598 [D2] Unable to get Report descriptor: Input/output error 1.523845 [D2] libusb1: No appropriate HID device found 1.524098 libusb1: Could not open any HID devices: insufficient permissions on everything 1.524142 No matching HID UPS found 1.524226 [D5] send_to_all: SETINFO driver.state "cleanup.exit" 1.524248 upsnotify: failed to notify about state 4: no notification tech defined, will not spam more about it
And this was the initial good manual startup:
0.002990 [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.003801 [D2] Checking device 1 of 3 (0000/0000) 0.004569 [D1] nut_libusb_open: invalid libusb bus number 0 0.004704 [D2] - VendorID: 0000 0.004723 [D2] - ProductID: 0000 0.004734 [D2] - Manufacturer: Generic 0.004745 [D2] - Product: XHCI root HUB 0.004757 [D2] - Serial Number: unknown 0.004768 [D2] - Bus: 000 0.004778 [D2] - Bus Port: unknown 0.004789 [D2] - Device: 001 0.004800 [D2] - Device release number: 0100 0.004810 [D2] Trying to match device 0.004832 [D2] match_function_subdriver (non-SHUT mode): matching a device... 0.004876 [D2] match_function_subdriver (non-SHUT mode): failed to match a subdriver to vendor and/or product ID 0.004888 [D2] Device does not match - skipping 0.005006 [D2] Checking device 2 of 3 (0000/0000) 0.005231 [D1] nut_libusb_open: invalid libusb bus number 0 0.005323 [D2] - VendorID: 0000 0.005337 [D2] - ProductID: 0000 0.005349 [D2] - Manufacturer: Marvell 0.005360 [D2] - Product: EHCI root HUB 0.005371 [D2] - Serial Number: unknown 0.005381 [D2] - Bus: 001 0.005391 [D2] - Bus Port: unknown 0.005402 [D2] - Device: 001 0.005412 [D2] - Device release number: 0100 0.005422 [D2] Trying to match device 0.005442 [D2] match_function_subdriver (non-SHUT mode): matching a device... 0.005476 [D2] match_function_subdriver (non-SHUT mode): failed to match a subdriver to vendor and/or product ID 0.005489 [D2] Device does not match - skipping 0.005585 [D2] Checking device 3 of 3 (09AE/3024) 0.018725 [D2] - VendorID: 09ae 0.018775 [D2] - ProductID: 3024 0.018789 [D2] - Manufacturer: Tripp Lite 0.018800 [D2] - Product: ECO850LCD 0.018811 [D2] - Serial Number: 3216CV4BC87F303175 0.018822 [D2] - Bus: 001 0.018832 [D2] - Bus Port: 001 0.018843 [D2] - Device: 002 0.018853 [D2] - Device release number: 0002 0.018864 [D2] Trying to match device 0.018884 [D2] match_function_subdriver (non-SHUT mode): matching a device... 0.018983 [D3] match_function_regex: matching a device... 0.019006 [D2] Device matches
-
@dennypage said in NUT Package (2.8.1 and above):
First start the service, and then kill the driver:
killall usbhid-ups
Then, run the driver with debug:/usr/local/libexec/nut/usbhid-ups -DDDDDD -a TrippLite
Here is system log after disconnecting / reconnecting USB cable:
Mar 11 11:40:04 upsmon 8414 Poll UPS [TrippLite] failed - Driver not connected Mar 11 11:40:01 kernel uhid0: <Tripp Lite ECO850LCD, class 0/0, rev 2.00/0.02, addr 2> on usbus1 Mar 11 11:40:01 kernel uhid0 on uhub1 Mar 11 11:40:01 kernel ugen1.2: <Tripp Lite ECO850LCD> at usbus1 Mar 11 11:39:59 upsmon 8414 Poll UPS [TrippLite] failed - Driver not connected Mar 11 11:39:54 upsmon 8414 Poll UPS [TrippLite] failed - Driver not connected Mar 11 11:39:49 upsmon 8414 Poll UPS [TrippLite] failed - Driver not connected Mar 11 11:39:48 kernel ugen1.2: <Tripp Lite ECO850LCD> at usbus1 (disconnected) Mar 11 11:39:44 upsmon 8414 Poll UPS [TrippLite] failed - Driver not connected
After disconnecting / reconnecting USB cable and manual driver start, UPS is available again:
0.002865 [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.003797 [D2] Checking device 1 of 3 (0000/0000) 0.004739 [D1] nut_libusb_open: invalid libusb bus number 0 0.004878 [D2] - VendorID: 0000 0.004897 [D2] - ProductID: 0000 0.004909 [D2] - Manufacturer: Generic 0.004920 [D2] - Product: XHCI root HUB 0.004932 [D2] - Serial Number: unknown 0.004943 [D2] - Bus: 000 0.004953 [D2] - Bus Port: unknown 0.004963 [D2] - Device: 001 0.004974 [D2] - Device release number: 0100 0.004985 [D2] Trying to match device 0.005008 [D2] match_function_subdriver (non-SHUT mode): matching a device... 0.005052 [D2] match_function_subdriver (non-SHUT mode): failed to match a subdriver to vendor and/or product ID 0.005065 [D2] Device does not match - skipping 0.005194 [D2] Checking device 2 of 3 (0000/0000) 0.005421 [D1] nut_libusb_open: invalid libusb bus number 0 0.005517 [D2] - VendorID: 0000 0.005532 [D2] - ProductID: 0000 0.005543 [D2] - Manufacturer: Marvell 0.005554 [D2] - Product: EHCI root HUB 0.005565 [D2] - Serial Number: unknown 0.005576 [D2] - Bus: 001 0.005586 [D2] - Bus Port: unknown 0.005596 [D2] - Device: 001 0.005607 [D2] - Device release number: 0100 0.005617 [D2] Trying to match device 0.005637 [D2] match_function_subdriver (non-SHUT mode): matching a device... 0.005669 [D2] match_function_subdriver (non-SHUT mode): failed to match a subdriver to vendor and/or product ID 0.005682 [D2] Device does not match - skipping 0.005775 [D2] Checking device 3 of 3 (09AE/3024) 0.018671 [D2] - VendorID: 09ae 0.018723 [D2] - ProductID: 3024 0.018736 [D2] - Manufacturer: Tripp Lite 0.018748 [D2] - Product: ECO850LCD 0.018762 [D2] - Serial Number: 3216CV4BC87F303175 0.018774 [D2] - Bus: 001 0.018784 [D2] - Bus Port: 001 0.018794 [D2] - Device: 002 0.018805 [D2] - Device release number: 0002 0.018816 [D2] Trying to match device 0.018843 [D2] match_function_subdriver (non-SHUT mode): matching a device... 0.018946 [D3] match_function_regex: matching a device... 0.018967 [D2] Device matches
-
@ghound said in NUT Package (2.8.1 and above):
72251.591030 [D2] Checking device 3 of 3 (09AE/3024)
72251.745371 [D1] nut_libusb_open get iManufacturer failed, retrying...
72251.895872 [D1] nut_libusb_open get iManufacturer failed, retrying...
72252.050367 [D1] nut_libusb_open get iManufacturer failed, retrying...
72252.205384 [D1] nut_libusb_open get iProduct failed, retrying...
72252.359364 [D1] nut_libusb_open get iProduct failed, retrying...
72252.513419 [D1] nut_libusb_open get iProduct failed, retrying...
72252.667482 [D1] nut_libusb_open get iSerialNumber failed, retrying...
72252.820954 [D1] nut_libusb_open get iSerialNumber failed, retrying...
72252.971389 [D1] nut_libusb_open get iSerialNumber failed, retrying...
72252.971473 [D2] - VendorID: 09ae
72252.971489 [D2] - ProductID: 3024
72252.971501 [D2] - Manufacturer: unknown
72252.971516 [D2] - Product: unknown
72252.971528 [D2] - Serial Number: unknown
72252.971540 [D2] - Bus: 001
72252.971551 [D2] - Bus Port: 001
72252.971563 [D2] - Device: 002
72252.971574 [D2] - Device release number: 0002
72252.971586 [D2] Trying to match device
72252.971609 [D2] match_function_subdriver (non-SHUT mode): matching a device...
72252.971645 [D3] match_function_regex: matching a device...
72252.971663 [D3] match_function_exact: matching a device...
72252.971678 [D2] match_function_exact: failed match of Vendor: (null) != Tripp Lite
72252.971690 [D2] Device does not match - skipping@ghound said in NUT Package (2.8.1 and above):
0.005713 [D2] Checking device 3 of 3 (09AE/3024)
0.156567 [D1] nut_libusb_open get iManufacturer failed, retrying...
0.310568 [D1] nut_libusb_open get iManufacturer failed, retrying...
0.461572 [D1] nut_libusb_open get iManufacturer failed, retrying...
0.608445 [D1] nut_libusb_open get iProduct failed, retrying...
0.762543 [D1] nut_libusb_open get iProduct failed, retrying...
0.912962 [D1] nut_libusb_open get iProduct failed, retrying...
1.066550 [D1] nut_libusb_open get iSerialNumber failed, retrying...
1.218542 [D1] nut_libusb_open get iSerialNumber failed, retrying...
1.369116 [D1] nut_libusb_open get iSerialNumber failed, retrying...
1.369185 [D2] - VendorID: 09ae
1.369200 [D2] - ProductID: 3024
1.369214 [D2] - Manufacturer: unknown
1.369226 [D2] - Product: unknown
1.369238 [D2] - Serial Number: unknown
1.369249 [D2] - Bus: 001
1.369261 [D2] - Bus Port: 001
1.369273 [D2] - Device: 002
1.369285 [D2] - Device release number: 0002For some reason we are loosing the ability to query device manufacturer and product. That it is persistent indicates that there is a problem in the kernel's USB drivers or the hardware itself. Unfortunately this is well outside of NUT's control.
Looking at your usbconfig output, the one thing I would recommend is to try a different USB port on the host. Something that connects to bus0 (generic XHCI) rather than bus1 (Marvell EHCI).
-
@dennypage said in NUT Package (2.8.1 and above):
For some reason we are loosing the ability to query device manufacturer and product. That it is persistent indicates that there is a problem in the kernel's USB drivers or the hardware itself. Unfortunately this is well outside of NUT's control.
Looking at your usbconfig output, the one thing I would recommend is to try a different USB port on the host. Something that connects to bus0 (generic XHCI) rather than bus1 (Marvell EHCI).
Thank you for looking at all the logs. This is a Netgate SG1100 box, so I connected to the USB3 port at ugen0.1: <Generic XHCI root HUB> at usbus0 – Bus:000 Bus Port: 002; vice my original connection to the USB2 port at ugen1.1: <Marvell EHCI root HUB> at usbus1 – Bus:001 Bus Port: 001. Again, connection was lost after around one day of operation. I do have another SG1100 I can try. Any other troubleshooting ideas? Thank you.
Log USB3 port connection:
0.007864 [D2] Checking device 3 of 3 (09AE/3024) 0.010883 [D2] - VendorID: 09ae 0.010949 [D2] - ProductID: 3024 0.010964 [D2] - Manufacturer: Tripp Lite 0.010976 [D2] - Product: ECO850LCD 0.010987 [D2] - Serial Number: 3216CV4BC87F303175 0.010998 [D2] - Bus: 000 0.011009 [D2] - Bus Port: 002 0.011019 [D2] - Device: 002 0.011030 [D2] - Device release number: 0002 0.011041 [D2] Trying to match device 0.011062 [D2] match_function_subdriver (non-SHUT mode): matching a device... 0.011164 [D3] match_function_regex: matching a device... 0.011185 [D2] Device matches
-
@ghound said in NUT Package (2.8.1 and above):
0.007864 [D2] Checking device 3 of 3 (09AE/3024)
0.010883 [D2] - VendorID: 09ae
0.010949 [D2] - ProductID: 3024
0.010964 [D2] - Manufacturer: Tripp Lite
0.010976 [D2] - Product: ECO850LCD
0.010987 [D2] - Serial Number: 3216CV4BC87F303175
0.010998 [D2] - Bus: 000
0.011009 [D2] - Bus Port: 002
0.011019 [D2] - Device: 002
0.011030 [D2] - Device release number: 0002This looks correct (working). Manufacturer and Product are identifiable. If this subsequently fails, to confirm that the issue is the same as experienced on the other port, I would need to see what the driver says when it isn't working. Also interested to see the output of "usbconfig -v" when it isn't working.
-
@dennypage said in NUT Package (2.8.1 and above):
This looks correct (working). Manufacturer and Product are identifiable. If this subsequently fails, to confirm that the issue is the same as experienced on the other port, I would need to see what the driver says when it isn't working. Also interested to see the output of "usbconfig -v" when it isn't working.
Below is result of usbconfig -v when the connection is not working (on USB3 port):
[23.09.1-RELEASE][admin@router01.localr01]/dev/usb: usbconfig -v ugen0.1: <Generic XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA) ugen0.1.0: uhub0: <Generic XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0300 bDeviceClass = 0x0009 <HUB> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0003 bMaxPacketSize0 = 0x0009 idVendor = 0x0000 idProduct = 0x0000 bcdDevice = 0x0100 iManufacturer = 0x0001 <Generic> 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 ugen1.1: <Marvell EHCI root HUB> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA) ugen1.1.0: uhub1: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0009 <HUB> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0001 bMaxPacketSize0 = 0x0040 idVendor = 0x0000 idProduct = 0x0000 bcdDevice = 0x0100 iManufacturer = 0x0001 <Marvell> iProduct = 0x0002 <EHCI root 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 = 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 = 0x0008 bInterval = 0x00ff bRefresh = 0x0000 bSynchAddress = 0x0000 ugen0.2: <Tripp Lite ECO850LCD> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 <Probed by interface class> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x09ae idProduct = 0x3024 bcdDevice = 0x0002 iManufacturer = 0x0003 <retrieving string failed> iProduct = 0x0001 <retrieving string failed> iSerialNumber = 0x0005 <retrieving string failed> 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 = 0x0000 bInterfaceProtocol = 0x0000 iInterface = 0x0000 <no string> Additional Descriptor bLength = 0x09 bDescriptorType = 0x21 bDescriptorSubType = 0x11 RAW dump: 0x00 | 0x09, 0x21, 0x11, 0x01, 0x21, 0x01, 0x22, 0x75, 0x08 | 0x03 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x0040 bInterval = 0x00ff bRefresh = 0x0000 bSynchAddress = 0x0000 Broadcast Message from root@router01.localr01 (no tty) at 16:01 EDT... UPS TrippLite is unavailable
-
@ghound said in NUT Package (2.8.1 and above):
iManufacturer = 0x0003 <retrieving string failed>
iProduct = 0x0001 <retrieving string failed>
iSerialNumber = 0x0005 <retrieving string failed>It was worth a shot.
Can you confirm that this behavior started following an upgrade of pfSense?
-
@dennypage said in NUT Package (2.8.1 and above):
Can you confirm that this behavior started following an upgrade of pfSense?
Behavior has persisted through several updates. (In fact, UPS has never not had this issue from its first day out of the box.)
-
@ghound said in NUT Package (2.8.1 and above):
Behavior has persisted through several updates. (In fact, UPS has never not had this issue from its first day out of the box.)
Okay, I'm confused. Please detail what previous version/date that the problem did not occur, and what version/date began to occurr.
-
@dennypage said in NUT Package (2.8.1 and above):
Okay, I'm confused. Please detail what previous version/date that the problem did not occur, and what version/date began to occurr.
TrippLite UPS was purchased new in May '23 and connected to SG-1100 (23.05 / 2.8.0_2). You gave me a few tips to properly load usbhid-ups. Once usbhid-ups loaded correctly, after a few days, UPS lost connection (so the UPS has never operated without the lost connection problem every few days). At the time, I believed this was the "lost connection" problem mentioned in the thread. The problem has persisted from first connection to today. SG-1100 is currently 23.09.1 and Nut 2.8.2_1.
-
@ghound said in NUT Package (2.8.1 and above):
TrippLite UPS was purchased new in May '23 and connected to SG-1100 (23.05 / 2.8.0_2). You gave me a few tips to properly load usbhid-ups. Once usbhid-ups loaded correctly, after a few days, UPS lost connection (so the UPS has never operated without the lost connection problem every few days). At the time, I believed this was the "lost connection" problem mentioned in the thread. The problem has persisted from first connection to today. SG-1100 is currently 23.09.1 and Nut 2.8.2_1.
Ah, okay. It's never operated correctly. I had misunderstood that it was a regression.
-
@dennypage Sorry if this is the wrong place. I migrated the configuration to a Netgate 4200. I have NUT package 2.8.2_1. It had permission errors. After including user=root in the ups.conf section (as suggested by you in the previous track) it started working. It also worked on the previous system.
-
@pvk1 Ownership of the /var/db/nut directory is incorrect. The following command will fix that:
chown -R nut:nut /var/db/nut
The errors for /usr/local/etc/nut are more of an issue. Those files should be accessed prior to switching to user "nut". What version of pfSense are you running? What does
pkg info | grep nut
report? Thx.
-
@dennypage
I am running: 23.09.1-RELEASE (amd64)pkg info:
nut-devel-2024.01.03 Network UPS Tools
pfSense-pkg-nut-2.8.2_1 Network UPS Toolsthx
-
@pvk1 Can you post the output of the the following commands please?
ls -l /var/db/nut ls -l /usr/local/etc/nut
Thanks
-
@dennypage Hi, thx
ls -l /var/db/nut
total 0
ls: /var/db/nut: Permission deniedls -l /usr/local/etc/nut
total 143
-rw-r--r-- 1 root wheel 15136 Mar 4 22:00 cmdvartab
-rw-r--r-- 1 root wheel 98236 Mar 4 22:00 driver.list
-rw-r--r-- 1 root wheel 1071 Mar 4 22:00 hosts.conf
-rw-r--r-- 1 root wheel 1071 Mar 4 22:00 hosts.conf.sample
-rw-r--r-- 1 root wheel 4774 Mar 4 22:00 nut.conf
-rw-r--r-- 1 root wheel 4774 Mar 4 22:00 nut.conf.sample
-rw-r----- 1 root wheel 124 Apr 1 18:43 ups.conf
-rw-r--r-- 1 root wheel 9845 Mar 4 22:00 ups.conf.sample
-rw-r----- 1 root wheel 28 Apr 1 18:43 upsd.conf
-rw-r--r-- 1 root wheel 9199 Mar 4 22:00 upsd.conf.sample
-rw-r----- 1 root wheel 167 Apr 1 18:43 upsd.users
-rw-r--r-- 1 root wheel 2349 Mar 4 22:00 upsd.users.sample
-rw-r----- 1 root wheel 530 Apr 1 18:43 upsmon.conf
-rw-r--r-- 1 root wheel 24735 Mar 4 22:00 upsmon.conf.sample
-rw-r--r-- 1 root wheel 4217 Mar 4 22:00 upssched.conf
-rw-r--r-- 1 root wheel 4217 Mar 4 22:00 upssched.conf.sample
-rw-r--r-- 1 root wheel 1871 Mar 4 22:00 upsset.conf
-rw-r--r-- 1 root wheel 1871 Mar 4 22:00 upsset.conf.sample
-rw-r--r-- 1 root wheel 6861 Mar 4 22:00 upsstats-single.html
-rw-r--r-- 1 root wheel 6861 Mar 4 22:00 upsstats-single.html.sample
-rw-r--r-- 1 root wheel 4096 Mar 4 22:00 upsstats.html
-rw-r--r-- 1 root wheel 4096 Mar 4 22:00 upsstats.html.sample -
@pvk1 said in NUT Package (2.8.1 and above):
ls: /var/db/nut: Permission denied
Strange.
You are root, right ?[24.03-BETA][root@pfSense.bhf.tld]/root: whoami root
-
@pvk1 said in NUT Package (2.8.1 and above):
ls -l /var/db/nut
total 0
ls: /var/db/nut: Permission deniedAs @Gertjan noted, you need to run the commands as root.
-
@dennypage
Thx. I had disabled the admin user, so I could not login as root. The user that I login with is member of the system admins.I now enabled admin again.
s: /var/db/nut:
-rw-r--r-- 1 root nut 6 Apr 2 13:19 upsd.pid
-rw-r--r-- 1 root nut 6 Apr 2 13:19 upsmon.pid
srw-rw---- 1 root nut 0 Apr 2 13:19 usbhid-ups-ups
-rw-r--r-- 1 root nut 6 Apr 2 13:19 usbhid-ups-ups.pid -
@pvk1 Running as non-root will require that ownership of /var/db/nut, and all files therein, to be user "nut".
Note that all of the following needs to be done as root.
Suggested path:
- Remove user=root from the configuration. NB: If you have anything else in the Advanced section, please post that before continuing...
- Shut down the UPS service via command "/usr/local/etc/rc.d/nut.sh stop".
- Do "ps -axuw | grep ups" and see if any of the nut commands, such as upsmon, are still running. If they are you can stop them with "killall upsmon".
- Change ownership of /var/db/nut via command "chown -R nut /var/db/nut".
Following that, you should see permissions like so:
[23.09.1-RELEASE][root@fw]/root: ls -ld /var/db drwxr-xr-x 22 root wheel 54 Apr 2 08:29 /var/db [23.09.1-RELEASE][root@fw.cococafe.com]/root: ls -la /var/db/nut total 10 drwxr-x--- 2 nut nut 3 Apr 2 10:17 . drwxr-xr-x 22 root wheel 54 Apr 2 08:29 .. -rw-r--r-- 1 nut uucp 6 Apr 1 14:40 upsmon.pid [23.09.1-RELEASE][root@fw]/root:
You can also check permissions for /usr/local/etc/nut like so:
[23.09.1-RELEASE][root@fw]/root: ls -ld /usr/local/etc drwxr-xr-x 35 root wheel 91 Apr 2 08:45 /usr/local/etc [23.09.1-RELEASE][root@fw]/root: ls -ld /usr/local/etc/nut drwxr-xr-x 2 root wheel 24 Feb 10 12:16 /usr/local/etc/nut [23.09.1-RELEASE][root@fw]/root: ls -la /usr/local/etc/nut/*.conf -rw-r--r-- 1 root wheel 1071 Feb 7 11:02 /usr/local/etc/nut/hosts.conf -rw-r--r-- 1 root wheel 4774 Feb 7 11:02 /usr/local/etc/nut/nut.conf -rw-r----- 1 root wheel 43 Apr 1 14:29 /usr/local/etc/nut/ups.conf -rw-r----- 1 root wheel 28 Apr 1 14:29 /usr/local/etc/nut/upsd.conf -rw-r----- 1 root wheel 530 Apr 1 14:29 /usr/local/etc/nut/upsmon.conf -rw-r--r-- 1 root wheel 4217 Feb 7 11:02 /usr/local/etc/nut/upssched.conf -rw-r--r-- 1 root wheel 1871 Feb 7 11:02 /usr/local/etc/nut/upsset.conf [23.09.1-RELEASE][root@fw]/root:
Lastly, start the UPS service via command "/usr/local/etc/rc.d/nut.sh start".