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@gmail




_______________________________________________
Nut-upsuser mailing list
Nut-upsuser@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/nut-upsuser

Reply via email to