Hi, My program reads reports from a device using the hid_interrupt_read() function, but when reports follow each other quickly, they could get lost (not returned by hid_interrupt_read()).
With help of the developer of the device we could get some information about what is going on in the device: - the device has a queue for the IN-reports, so a report is not lost in the device - in each report there is a value that counts how many times the device has placed a report in the IN-report-buffer - in each report there is a value that contains the time that the last IN-report waited in the register to be fetched by the host With this information we see that: - the device puts all messages in the IN-report-buffer, but not all messages could be fetched with hid_interrupt_read() - a lost message is fetched (by something) in <10ms (this is the same time as the other messages) Then my questions are: - Is there some routine in libhid (or libusb) that is fetching the reports from the IN-report-buffer of the device and saves them in a 'buffer' where hid_interrupt_read() is reading from? In my case it looks like that buffer is overwritten. - If so, can this be disabled or influenced? - If not, what else can be going on here? Hope someone can help to clear things up. Best regards. _______________________________________________ libhid-discuss mailing list libhid-discuss@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/libhid-discuss http://libhid.alioth.debian.org/