[Nut-upsuser] nutdrv_qx hangs after send: QS

Charles Lepple clepple at gmail.com
Mon Apr 6 13:27:42 UTC 2015

On Apr 6, 2015, at 8:46 AM, Richard Flint <richard.flint at gmail.com> wrote:

> Unfortunately this approach isn't going to work.
> I've done some further research and it would appear that it is the underlying ugen device and not libusb that is failing to honor the timeout.
> https://mail-index.netbsd.org/tech-misc/2006/03/17/0000.html
> The person above worked around this by having the device opened in non blocking mode using the O_NONBLOCK flag but this required changing libusb.

Unfortunately, the ugen drivers in Solaris, NetBSD, FreeBSD, etc. are similarly named, but not necessarily the same code. At least with the *BSDs, you can inspect the code to see what has changed (and the BSD USB support has improved significantly across the board since 2006 when that message was posted).

OpenUSB seems to work around the blocking issue by creating a separate timeout thread, so I still think there is some hope there.

On the other hand, if that doesn't work, I would consider setting up another system dedicated to monitoring the UPS, and setup NUT on Solaris to be a client to the other system. Linux on x86_64 is probably the best supported OS for NUT and a USB UPS, but others have had success with embedded ARM and MIPS Linux systems. I have a Soekris net5501 running FreeBSD monitoring the USB UPS in my home "data center" in the basement, and it has been very reliable: http://soekris.com/products/net5501.html (also available in a rack-mount form factor; I have no connection to Soekris other than using their equipment)

Charles Lepple
clepple at gmail

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20150406/dfbaba21/attachment.html>

More information about the Nut-upsuser mailing list