[Nut-upsuser] UPS Liebert GXT-3

Charles Lepple clepple at gmail.com
Thu Jul 18 12:10:03 UTC 2013

On Jul 18, 2013, at 4:48 AM, Paul Smith wrote:

> My issue is that I don't understand enough about FreeBSD USB or NUT in order 
> to ascertain what needs "fixing", but I am confident that the root cause is 
> the length of the HID Descriptor.

My comment about the length of the HID descriptor was referring to the mismatch between what was advertised (200 bytes) and what was retrieved (99).

I don't remember what version of FreeBSD I was using when I first hooked up my MGE Pulsar Evolution, but it's at 9.1 now, and working perfectly with NUT 2.6.5. Here's an excerpt from lsusb on a Linux box:

        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode           33 US
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength    1300
          Report Descriptor: (length is 1300)

The key here is that the HID Device Descriptor says "the HID Report Descriptor will be 1300 bytes", and when the report descriptor is actually retrieved, the length matches. So both the NUT code and the FreeBSD USB core can handle much longer descriptors; specifically, descriptors which require two bytes to represent the length. 

The difference between 200 and 99 doesn't make sense. I could understand if the difference was exactly 256, or even plus or minus the length of a typical descriptor, but that's just odd.

Charles Lepple
clepple at gmail

More information about the Nut-upsuser mailing list