Citeren Daniel O'Connor <[email protected]>:

I have a customer who just bought an APC Back-UPS XS 1300 LCD and I
thought I'd try the latest NUT with it (on an old-ish FreeBSD 6.x
system).

It sees the UPS but I can't actually query it for data, in the
usbhid-ups debug output I see..
  30.840512     HIDGetEvents: failed to buffer report: Result too large
  30.840600     Got -34 HID objects...
  30.840681     Quick update...

This is probably due to a broken libusb. Looking at the dump of the report descriptor, it looks like this UPS should be supported.

upsc gives..
downie:~>upsc u...@localhost
ups.status: WAIT
downie:~>upsc u...@localhost
Error: Data stale

Initially, the server can connect to the driver. You can see that, because it sets ups.status to WAIT, indicating that it has successfully sent the DUMPALL command and is now waiting for the reply. That's the last thing we hear, the driver never replies, not even to the PINGs that we send.

Any ideas? The libusb support in 6.x is pretty crappy so maybe it's
that :(

If it is very slow in timing out on the USB communication, that could be a problem. The following worries me:

   1.272355     upsdrv_updateinfo...
  30.839759     file_report_buffer: expected 4 bytes, but got 128!

This means the HIDGetEvents() functions takes almost 30 seconds to return, where we expect it to return almost immediately. This means the interrupt pipeline is not being handled correctly. Since the driver stalls so long here, the server will give up on it. My first suggestion would be to check if upgrading libusb helps, possibly by trying it out on a more recent OS.

Best regards, Arjen
--
Please keep list traffic on the list


_______________________________________________
Nut-upsdev mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/nut-upsdev

Reply via email to