Host device driver always times out reading bulk pipe if data is not ready | Cypress Semiconductor
Host device driver always times out reading bulk pipe if data is not ready
We use WinDriver on the host PC for the USB communication and we use auto DMA to do bulk data transfer from GPIF FIFO to the bulk endpoint. If the WinDriver' WD_Transfer() is called to transfer data after the data is ready on the bulk pipe it works fine. However, if the WD_Transfer() is called before the data is ready on the bulk pipe the WinDriver always times out. The data maybe ready in a few milliseconds after WD_Transfer() is called. The time out period is 2 seconds for WD_Transfer(). Calling WD_Transfer() after time out will get the data. This happens to the interrupt endpoint too.
Since the same WinDriver has been working with our USB2 device we are not sure if this is a WinDriver (or USB host driver) issue or some incorrect settings in the FX3 that may cause this issue.