Hi,
I am wondering if the MK64FN1M0VDC12 SDK USB stack does support enumerating the CDC-ECM Device class on the host?
Regards,
Mohammed
Hello Mohammed,
I am sorry but the MK64FNM0VDC12 SDK does not support CDC-ECM device class. I would recommend you to take a look to some of the USB CDC SDK examples and make the proper changes to work with CDC-ECM.
I hope this helps you.
Have a good day, Daniel.
Hello Daniel,
Thank you for the reply!
Then the Freescale NXP USB stack is compatible with CDC-ECM class? if the proper CDC-ECM Class is implemented.
Hello Mohammed,
You can try to implement a CDC-ECM class and you may not have problems because ECM is a subclass of CDC.
However, as we do not have an specific CDC-ECM implementation or example, we can’t guarantee that third party implementations can be fully compatible.
Greetings, Daniel.
Hello Daniel,
Thank you for your reply!
I was wondering if you provide some sort of support in helping with this issue?
There is none in our staff that has experiences with develpoing USB classes, in addition the 4G module we are trying to integrate has a custom driver. See the info we got from the manufacturer below:
"CDC-ECM is supported on the firmware release 014 release for the modem. With the 014 release and this setting, you'll end up with 4 interfaces visible on USB: Diagnostic port, GNSS output port, AT command port, and CDC-ECM.
For the AT command port, it looks a lot like CDC-ACM but just not advertised that way in the descriptors. Looking through the driver, this seems consistent, but I don't know fully why it was moved into a separate driver. Glancing at the USB descriptor, it provides 3 endpoints which is similar to CDC-ACM. One endpoint is for events back from the serial port, and the other two are for direct data for the port on the interface.
So yes, I'd give it a shot with CDC-ECM and CDC-ACM and see what happens. Since the UART isn't directly advertised as a CDC-ACM device, they'll need to modify the driver to recognize it that way.
Note: I'll further note that the interface description between CDC-ACM and what the modem does is a bit different so a CDC-ACM driver wouldn't work as-is.
In CDC-ACM, there are 2 different interfaces advertised over USB. One interface has the interrupt endpoint for control events, and the other interface has the two bulk endpoints.
For the modem's interface, it has a single interface with 3 endpoints - the interrupt endpoint and 2 bulk endpoints. The customer will need to make sure their pre-existing CDC-ACM driver associates correctly with those three endpoints."
Best Regards, Mohammed
Hi
Which modem are you using?
Note that the uTasker project has turn-key support for a number of such modems via FS and/or HS USB on Kinetis devices. This is an overview of its out-of-the-box capabilities, where I have highlighted a Telit LE910C1 cellular/Dual-WiFi bundle attached via USB host below:
And following is the Telit's USB configuration, whereby the interfaces of interest are the modem (for AT command control), its Network interface (in this case it uses RNDIS class) and an Android Debug Bridge (in all it has 8 interfaces but the others are not needed, and ADB is optional).
I would recommend using a K66 if you need to use Kinetis since its HS USB is much better suited to such work. The FS USB host in the K64 is not a full USB host implementation (and has limited endpoints) and so it restricted (it will work, but it is slower and needs more overhead to work out the HS USB host limitations in FW).
For HS USB and networking the i.MX RT parts are recommended (the uTasker solution works on any Kinetis or i.MX RT with no effort to move between the two families). The i.MX RT parts are easier to find and better priced that Kinetis nowadays and offer much improved performance.
For turn-key solutions or fast-track custom developments see https://www.utasker.com/
Regards
Mark
The best solution I could recommend you would be to try our NXP Engineering Services. Here you can hire hardware and software services to help you with your projects.
Here’s the link: https://www.nxp.com/support/support/nxp-engineering-services:SW-SUPPORT
I hope this helps.
Regards, Daniel.