AnsweredAssumed Answered

SDK 2.5.0:USB0 host ctrl:ISO IN cbf invoked with "transfer->transferSofar" always 0

Question asked by bob belmont on Mar 19, 2019
Latest reply on Apr 5, 2019 by Felipe García

There is a bug for the SDK for host controller ISO IN transfer. The USB stack invokes the transfer callback with parameter “transferSofar” equals to 0 for  payload  length > 0 at transport. So there is no way from the cbf's perspective to determine how many bytes the device actually sent.

 

Please see attached device enumeration. I hooked up KEIL debugger to inspect the transfer parameter upon call back. I armed an ISO in transfer for 96 bytes. Upon call back, the buffer the transfer points to (transfer->transferBuffer = 0x2000321B) actually contains the data the device sent (please compare to USB analyzer actual data) but transfer->transferSoFar is 0. It should be 88 instead. 

 

Please note that this issue does not occur with Interrupt-IN transfer.

 

attached USB trace  : AcquisitionFile0000.ufo. (please use Ellysis free viewer to inspect the trace)

 

1)ISO in at transport (snapshot from USB trace)

2)transfer cbf inspection 

2.a) transfer structure

2.b) transfer buffer

-> The USB stack actually received the data from the device but "TransferSoFar" is 0 instead of 88 so the cbf can not determine how many bytes were actually received.

Please advise.

Attachments

Outcomes