> > > As Greg mentioned, usbmon is a better way to snoop the data transfers. > > > > I have continued to investigate the issue using usbmon, but unfortunately, I > > could not find any other irregularity, but the jumps in the report id pattern. > > Did you check the timestamps carefully? In particular, did you > examine the times when each transfer was submitted and completed? If > two adjacent transfers complete more than one or two microseconds > apart, that indicates a problem. It took some time, but thanks to your pointers I was finally able to narrow down the possible causes of the problem and it turned out that there was a problem in the firmware of the usb device. More precisely, I took a closer look at the timestamps of my usbmon log, as you suggested, and it showed a pattern that changed once the duplicate reports started. With this knowledge I could analyze the details together with the device provider. We ended up sniffing the data on the wire and fixed some of the issues by an update of the device firmware that does not show the problem anymore. On the linux end, I have moved some of my python code to C to increase the read speed. I was loosing some reports because I was not emptying the hid report queue used in the libusb backend of the hidapi library fast enough. Thank you again for your great help. Best Thilo Roerig