Connect a uProcessor to EC25

Dear Forum.

We develop a Acquisition board for different sensor,and transfer data via old GPRS modem.
Now we would like to use a faster way, so, we focus on EC25.

For experimental purpose, i connect the EC25-E to my PC, via serial port (USB to Serial converter was in the middle ,and a extra power supply for the module )and wrote a simple c/c++ programm, sending AT command to the module; was possible to use SMS, receiving , data connection TCP-IP to a server ecc.

All was ok, and simple.

But of course, the serial communication is slow compared to LTE speed,so we need to move to a faster channel.

Reading on web, i find the family of protocol named - Ethernet over USB-,where USB substitute the UART.
So, I buy some KIT with USB and module (EC25),and install the driver required .
Linux,seems to view ok the module; I can see the wwan and cdc-wdmx channels.
With teraterm or putty, i can send AT command to the virtual serial port, and work.
But again, how transfer to Hspeed is not clear…we are again limitated to serial port (virtual in this case).

I understand we can comunicate with module in this way :

a)via MBIM library
b)via ECM

So,Question are:

  1. Some reference with explained code in C/C++…or other languages, so we can understand a mininum of code.

  2. I read that with ECM could be possible interact with modem, with no driver installation; this will give us the possibility to connect the module to a microprocessor with no Operating System, and, working with only with USB-CDC.
    It is true ? or I must concentrate on other option?

Thanks very much and excuse for long mail

Roberto

Is it Linux?
The USB host should run on the Linux, and the Linux can comunicate with the EC25 via USB.
And on the Linux host you can see virtual serial port and you can send AT command via the virtual seri port.

Thanks for Reply Mr Bean

But virtual serial port, are not limitated in speed ?

Just for be more clear:

  1. On a PC with Operating System:
    What I aspect is, that via virtual serial port ,I can send AT command, but, big quantity of data, are transfered via another channel more fast than serial.
    So here, the question is: what channel ? and how

  2. With no Op Sys, but, only with a uP:
    What protocol I must implement on the uP. Maybe USB-CDC-ECM, or ?? This is not clear to me

Thanks again
Roberto

If you connect to USB, there must be a theoretical upper limit, which is definitely higher than Uart. The theoretical upper limit of USB 2.0 is 480Mbps. The theoretical upper limit of cat 4 network is 150Mbps.
If you only use the USB serial port, the speed is definitely higher than that of UART. However, if you need to transfer large amounts of data, you can directly use the OS protocol stack, which is faster than using USB AT and can transfer large amounts of data.
If there is no OS on the MCU, you should implement something by yourself. The EC25 support CDC port and CDC-ECM, Quectel might just provide the USB descriptors.

Thaks very Mr Wang for the reply.

Please, let me ask again some point that is not clear for me.

Just for reduce problem, we stay around 10Mbit /sec… No more

On Window:
When connect the EC25 module, I can see a AT COM port
and DM COM port.
If I connect with example Teraterm (not important what), to the AT COM port,the speed is limitated by Teraterm, to < 1Mbit/sec
If I realize a sw example in C#, and connect to the same AT port, also there the limit is less 1Mbita/sec.

So Question are:

1)So, If I understand , for go faster, I need to write a sw ,USB based (not COMxx based), that understand the USB descriptors, and excange data direct with Endpoints I/O .
Is this correct ?

2)The same will be with a uP …I suppose.

3)The ECM descriptors, specify in what endpoint send AT command, and Data . Correct?

Thanks again for the time spend for me.
Roberto

Such as on Windows, you can send the AT in C# program over the virtual USB serial port. But technically you still nee to set the baudrate for the the virtual serial port, and you can set it to 921600. But if you want to send much bigger amount of the data, it is not the best to send the data with AT command, with the Quectel module, you can just send data with the network adapter. The Windows PC could get the IP address and the PC have the access to the Internet.
By default there are 5 virtual device should be seen on the Windows PC. 4 virtual USB port and one Network Adapter.

1 Like

Thanks Mr Wang for clarify more and more this points.
Expecially for clarify the different use of COM port and Network Aapter.

I hope dont disturb you too much asking again some question on the subject

If I have a uP , with no OP system,what I have do for data transfer ?
I know all is via USB, and the class is ECM. So, where I send data and command ? If you have some docs i can read with pleasure.

Thanks again
Roberto

Please check the Quectel_EC2x&EG2x&EG9x&EM05_Series_USB_Descriptor_Introduction_V1.2.pdf.

For ECM, Quectel have no official documents about the USB descriptors. If you need you can use the USB tree view to check it.

If you try the module on the MCU you should whether the controller support USB CDC, and they should provide the demo or examples of how to comnucate with the USB CDC. What you need to do is just make sure the USB VID/PID and the USB interfaces and endpoints are compatible.

1 Like

Thanks very much for your help. Now is really very clear.
Roberto