On Thu, 6 Dec 2007, Gadi Tunes wrote: > Thanks for the quick reply. > > The device can transmit more than 64 bytes. > Each packet is broken into 64 bytes fragments while transmitted. > > At normal operation, the device generated data every 4-5ms, while the > host usually polls every 1ms. > The issue occurs when there is one delayed poll from the host, which is > 100ms after its last poll. In this case the data is generated faster > than the host polls, but this is not normal behavior. We cannot work > with 100msec rates. It's too slow.
In that case you need to fix the host, not the peripheral. Get rid of those 100-ms gaps. > I also assume that there is some sort of TXFifo in the USB to overcome > such a situation. > > There is nothing wrong in sending to packets in the same frame, except > it's not supposed to be this way, and eventually the concatenation > causes packets to get lost. > If I will be able to overcome the concatenation issue, and force each > packet to be transmitted in its own frame, data won't be lost. > I tried to busy wait on the transmit status register, to verify that the > previous packet was already sent, but it didn't help. Why didn't it help? > In the FW code I > can only trigger the poll by setting the POLL_DEMAND bit in the control > register. Trigger what poll? Are you talking about the polls sent by the host? If you are then your statement is completely wrong -- nothing you do in the peripheral's firmware can cause the host to sent a poll. > If the poll doesn't arrive, the data will still accumulate. Why? If you don't submit the data until after the previous packet has been sent, then the data can't accumulate. Alan Stern ------------------------------------------------------------------------- SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 _______________________________________________ Linux-usb-users@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users