I am sending lots of data to the host on bulk IN endpoint. I noticed that after few seconds, the usb stops sending data. When I debugged it, I found out that the last three packets sent by USB are on DATA0 only. But in my code, all packets are being toggled before I sent them. Even my last packet I sent was on DATA1 which is still OWN by usb.
I read on the forum that I need to reset the Data toggling after certain amount of time. Is that right?
Here is the link. It is mentioned in point #2
In the usb specification, they say that we timeout and STALL the endpoint. Then the host driver will send CLEAR FEATURE for the stalled endpoint.
I just want to know is this the right way to do it. If yes, what should be the timeout period I should set.
For a USB device, it does not need to reset the Data toggling after certain amount of time. The reset of Data toggling to DATA0 for an endpoint is required after CLEAR FEATURE command is received for a particular endpoint.