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.
we are not familiar with RNDIS protocol, Maybe you get help from MSFT?
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
Where are you observing the incorrrect data?
In reply to 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?
In reply to Arun Kumar77:
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.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.