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.

RNDIS over USB initialization problem

Sir,

I'm trying to develop RNDIS over USB as a composite device.

During the initialization stage, after receiving GET_ENCAPSULATED_COMMAND request from the host, I have sent a RESPONSE_AVAILABLE signal through interrupt transmission and a GET_ENCAPSULATED_RESPONSE request from the host is received. But the problem  I'm facing is that this Non_standard request(GET_ENCAPSULATED_RESPONSE request) is not correct inside the code(observed the values of FIFO0 register). When verified through Wireshark the data sent from host is correct.

Am I doing the correct way? What can I do to overcome this problem?

Any advise is appreciated.

regards,

Arun Kumar

  • we are not familiar with RNDIS protocol, Maybe you get help from MSFT?

  • HI Arun,

    Where are you observing the incorrrect data?

    Regards,

    JMMN

  • Thanks for the reply JMMN.

    I solved the problem mentioned above.  But the doubt is that when I receive the Query_Request msg in the Encapsulated_Command_Request, the Query_complete msg should be given as a response  in Encapsulated_Command_Response.

    Replies should be given based on OIDs in the Query_Request. Is there any method for filling Query_cmplt msg because its data is so long. We have to put data one by one as a little endian.

    Which OIDs are important and cannot be avoided so that code can be small? Should we reply with correct data for all Query_msg with different OIDs?

  • Hello Arun,

    Unfortunately, our team does not have deep knowledge of RNDIS protocol and cannot address your question.  Please let us know if you have any questions about USB device implementations or interoperability.

    Regards,

    JMMN