Ticket #68 (closed defect: invalid)
libusb_control_transfer size is incorrect when using default report ID (only windows port)
|Reported by:||gorlik||Owned by:||pbatard|
I am using a HID USB device with only one report type. The descriptor does not contain any report ID as described in the USB spec.
In windows calling libusb_control_transfer for either IN or OUT results in packets short by 1 byte (the data is not shifted, just missing the last byte).
below is a sample call of the function:
libusb_control_transfer(devh, CTRL_IN, HID_GET_REPORT, (HID_REPORT_TYPE_FEATURE<<8), 0, buffer, BUFFER_SIZE, TIMEOUT);
The exact same source and USB device work just fine using libusb in linux.
Also, very similar code works in both linux and windows when the HID device has report IDs.