Correct - the faulty system uses the older packaged NUT. The working setup in 
FreeBSD (actually XigmaNAS v12.3.0.4.9848) uses NUT v2021.12.09, which I am 
guessing is whatever they pulled from Github on that date.

Unfortunately, I can only verify that the faulty one (Linux) uses libusb-0.1 
and cannot find anything on the libusb for the working FreeBSD. Looking at the 
changelog for NUT, it seems though that libusb-1.0 were not merged into main 
NUT codebase until 2022.01.12. So I would guess it is still on libusb-0.1.

I took a look at the parameters for usbhid-ups. It seems the most relevant ones 
would be pollreq, pollonly, interruptonly, interruptsize. Is the strategy here 
just trial and error since the error log is not showing anything? However, the 
config used between the two systems are identical so would it still be relevant?
________________________________
From: Jim Klimov <[email protected]>
Sent: February 11, 2022 12:31 AM
To: Gary <[email protected]>
Cc: Arnaud Quette via Nut-upsuser <[email protected]>
Subject: Re: [Nut-upsuser] usbhid-ups becomes unresponsive after extended period

So just to clarify - the faulty system uses the older packaged NUT (in Linux) 
and the newer build of master (in FreeBSD) works better?

Does the newer one also use libusb-1.0 dependency (vs. 0.1 likely for packaged 
one), is the custom build that new? It may be that some transport deficiencies 
were fixed in that, or in NUT over the years.

For that older setup, probably there are some timeout settings to tell the 
driver to reconnect somehow, but can't remember ATM. Also different systems 
varied with success of active polling vs interrupt delivery, so "pollonly" (and 
freq) options can help.


On Wed, Feb 9, 2022, 03:56 Gary via Nut-upsuser 
<[email protected]<mailto:[email protected]>>
 wrote:
OS name and version: Ubuntu 20.04.3 LTS
NUT Version: 2.7.4 (installed via apt-get)
USB communication driver: 0.33
Subdriver: APC HID 0.96
Device: APC Back-UPS 550

The usbhid-ups driver seems to stop responding/serving data to upsd after 
running it for a few hours. It works initially when starting the NUT service 
but would stop working after a while. It would start working again for a bit if 
I restart it (sudo upsdrvctl start)

In my syslog, I would get these error messages once it stops working.

Feb  8 15:20:43 internal upsmon[25307]: UPS [ups1@localhost]: connect failed: 
Connection failure: Connection timed out
Feb  8 15:20:43 internal upsmon[25307]: UPS ups1@localhost is unavailable

Reading the log, the upshid-ups log stops updating after a while. For example, 
in this log, it would keep updating until 8282 seconds but nothing appears in 
the log afterwards. The command I use to capture the log is:
/usr/lib/nut/usbhid-ups -DDDDD -a ups1 > /var/log/usbhid_log 2>&1 &

Log file:
https://drive.google.com/file/d/11LwtnUoF7TweNDxMrIG8ZAxNTlzKwpy7/view?usp=sharing

The troubleshooting steps I have done include:
- Works without issue: Connecting to a different VM (but on same hardware, 
cable port, usb passthrough) running FreeBSD 12.3 and NUT 2.7.4.1
--- So it doesn't seem to be an issue with hardware, cable, or VM passthrough 
issue

The setup:
- APC Back-UPS connected via USB to USB port on machine, passthrough via ESXi 
to guest VM

Greatly appreciate any insights.

_______________________________________________
Nut-upsuser mailing list
[email protected]<mailto:[email protected]>
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
_______________________________________________
Nut-upsuser mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser

Reply via email to