I'm writing a usb device driver for a data acquisition device in Ubuntu 16.04. The data acquisition device is currently working in Windows and the manufacturer only provides the driver for Windows and I need it to be working in Linux.
So, to do the reverse engineering, I captured the data with Wireshark in Windows. I figured out all the setup urbs and I can send data to the data acquisition device and works well but the problem is to receive the data. It seems that there are continuous(periodic) data coming from endpoints 1 and 3(which are the bulk in endpoints). In Windows, there doesn't seem to be any request packet going to the usb device to receive the data from endpoints 1 and 3 but in Linux, the data is received only when I send some kind of request(for example, read file operation).
I've found that there is something called "Continuous Reader" in Windows, but I can't find any hint in Linux for reading continuous data from usb device. https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/how-to-use-the-continous-reader-for-getting-data-from-a-usb-endpoint--umdf-
I would really appreciate your help, Thank you!