AnsweredAssumed Answered

Strange USB behavior regarding BlockSize and DataSize

Question asked by mbergmann on Feb 21, 2013
Latest reply on Mar 25, 2013 by Yixing Kong
Branched to a new discussion

Hi,

 

I'm working on an USB Device Mass Storage driver for my own iMX233 Board. The software is all done ourselfe. No Linux or other BSP.

Currently I've problems answering READ-10 Command Transports.

 

If I set the wMaxPacketSize to 512 Byte I can send data up to 768 bytes. With this data size in the dTD I get the USB interrupt on complete after sending the data. But if I try to send more than 768 Bytes with one dTD I can see the first 512 Bytes in one IN txn packet on the bus, but other packages/the rest of the data is missing. Thus I do not get any interrupt. Furthermore the status:Active bit in the dTD is not cleared and no other status bit is set. It seems that the cell is hanging after the first package.

 

If I set the wMaxPacketSize to 256 or below I'm able to transfer up to 2K of data via one dTD. If I try to send more the transfer hangs after 2K.

 

Is there something special with the iMX233 USB regarding and data size and wMaxPacketSize. The code I'm using is working fine on my STMP3650 board (nearly same USB Cell).

 

Any idea?

 

Thanks

 

Mike

 

Message was edited: made more concrete

Outcomes