Content originally posted in LPCWare by mtburt on Tue Apr 02 18:03:20 MST 2013
Hello,
I'm using the Kiel USB stack on the LPC1343 to do some fairly high bandwidth transfers over a bulk in endpoint. It's sending 3 64 byte packets every millisecond pretty effectively. But eventually, if I leave data transferring for long enough, the host reports a timeout during the endpoint read. This occurs every time but the amount of data that is transmitted out varies quite a bit, from 4M packets logged on the endpoint to more than 75M.
Using a beagle USB sniffer to monitor the traffic, everything looks fine until the packet which causes the timeout. The failing packet has an invalid length, instead of the typical 64 bytes being transferred it reports between 900 and 1024 (different value each time), and isn't ACK/NACK-ed by the host.
I can't find any obvious overflows or problems in the code. And it's my understanding that the hardware only supports transfers up to 64 bytes, so if the sniffer is accurate something strange is happening.
I was hoping someone has some insight on this problem or can point me in the right direction. Any tips would be appreciated.
Thanks in advance,
-Matt