Hi,

My device is connected to the host by 3 IN endpoints (USB 1.1).
Two of them are interrupt HID eps and the third is bulk.
I have an issue with packets being concatenated while sent from the
device to the host, if the polling from the host isn't quick enough.
For instance, in my bulk ep, I can transfer 64 bytes in each frame. I
usually send 16 byte packages.
If the polling was delayed from some reason, the 4 packets will be
transferred to the host the next time it polls, and 64 bytes will be
transferred.
If there were more than 4 packets concatenated, the rest will be lost,
as only 64 bytes can be passed in a frame (but if I had a packet larger
than 64 bytes in will be fragmented into 64-bytes fragments and all the
data will pass).
I had this issue also with the interrupt HID eps. I was supposed to send
8 bytes reports, and the EP could have transferred 16 bytes, so
sometimes I had concatenations. The reports which arrived to the host
were illegal (incompatible with the report descriptor, awaiting 8-byte
reports) and I got resets on the USB line. As a workaround I enlarged
the reports into 10 bytes, which prevented the possibility of
concatenation (the ep could not transfer 20 bytes), but with the bulk ep
I can't do that as anything is allowed on the bulk ep, and the maximum
package size is much bigger and I don't want to overload the USB line.

My questions are:
How do prevent this concatenation? I want each packet to be sent in its
own frame.
What is causing this issue? Should I config something in the FW related
to the USB and DMA registers?
Is this a "babble" condition?
Can I force the host to poll every time I have data? It polls every 1ms
anyway on the interrupt eps. I use a Poll Demand trigger every time I
have data available for the DMA to transfer to the USB TxFifo, but these
concatenations still happen.

Thanks,
Gadi Tunes


-------------------------------------------------------------------------
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

Reply via email to