This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DMA RNDIS mode

Hi,

I am used two bulk endpoints for USB communication: one for Rx and one for Tx.

The Rx worked in DMA transparent mode well, however I want to change it to RNDIS mode (not General RNDIS).

I sending 150Kbyte per transfer.  The data is transferred, but I don't get the interrupt and the completed BD doesn't appears in the completed queue,

note that after the transfer the BD removed from the Rx queue.

The host sends zero byte packet, so why I don't get the interrupt?  

Why the BD doesn't moved to the completed queue in the same way it does in transparent or GRNDIS way?

Thanks

Dani

  • Dani,

    not sure if this is your problem, but you might want to see my thread from 14 august

    AM335x USB Host CppiDmaModeSet() function for setting Per EndPoint RNDIS mode does not match TRM

    http://e2e.ti.com/support/embedded/starterware/f/790/t/207941.aspx

    looking at the code in question, the most likely failure would be in trying to use RNDIS IS on an Rx EndPoint.

    Basically starterware 02_00_00_06 and 02_00_00_07 never touch the Rx RNDIS per endpoint registers so it remain in the default Transparent state.

    However, the starterware code does correctly handle the "global" setting for RNDIS IS corrrectly, so this may not be your issue.