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