📡 MT5700M-CN
MT5700M-CN
Introduction
- The
MT5700M-CNis based on3GPP Release 16technology, supporting5G NR NSAandSAdual-mode networking, along with 5G and industry-specific features: Super Uplink,SUL,uRLLC,5G LAN, high-precision timing, network slicing, and industry customization. - The
MT5700M-CNsupports5G Sub-6 GHzwith frequency bands covering mainland China, and is backward compatible with4G/3G.5G NRpeak uplink and downlink rates can reach4Gbpsand1.5Gbpsrespectively, meeting the high-bandwidth requirements of industrial applications. - The
MT5700M-CNuses anM.2form factor, high-reliability components, and an industrial-grade design to adapt to diverse industrial environments, with an operating temperature range of-30℃ to 70℃. It integrates a rich set of hardware interfaces, includingUSB/XGE/PCIe/UART/SPI/I2C/USIM/GPIO, fully meeting the interface needs of industrial equipment.
The MT5700M-CN is popular among 5G CPE DIY enthusiasts because it is easy to get started with, simple to operate, supports 3CC carrier aggregation, and offers a price advantage over other similar modules. However, its incomplete proprietary AT command manual makes some features unavailable, making it slightly less versatile than Quectel modules.
How to Buy
Individuals and IoT device manufacturers sell it on platforms like Taobao and Xianyu, with market prices ranging from ¥650 to ¥750.
🔌 Connection Methods
The MT5700M-CN uses an M.2 Key-B interface and supports USB 3.0, PCIe, and PHY data transmission.
🔗 USB 3.0
It connects to the host as a USB device, reports its USB port profile, and then communicates with the host. Now supports Windows and Linux.
There are 9 port profiles, which can be set using the AT command AT^SETMODE=<port profile ID>. The module automatically restarts after the command is sent.
| ID | Description |
|---|---|
| 0 | 🐧 Linux ECM Normal, ECM+DIAG+PCUI+Serial_B+Serial_C+GPS |
| 1 | 🪟 Windows NCM Normal, DIAG+PCUI+Serial_B+Serial_C+GPS+NCM |
| 2 | 🐧 Linux ECM Debug, ECM+DIAG+PCUI+ADB+Serial_B+Serial_C+GPS |
| 3 | 🪟 Windows NCM Debug, DIAG+PCUI+Serial_B+Serial_C+GPS+ADB+NCM |
| 4 | 🐧 Linux NCM Normal (Default), NCM+DIAG+PCUI+Serial_B+Serial_+GPS |
| 5 | 🐧 Linux NCM Debug, NCM+DIAG+PCUI+ADB+Serial_B+Serial_C+GPS |
| 6 | 🪟 Windows RNDIS, RNDIS+DIAG+PCUI+Serial_B+Serial_C+GPS |
| 7 | 🪟 Windows MBIM (Not yet supported), MBIM+DIAG+PCUI+Serial_B+Serial_C+GPS |
| 8 | 📞 PPP, Modem+DIAG+PCUI+Serial_B+Serial_C+GPS |
Explanations of a few important port profiles:
- 🖥️ PCUI: Used for AT communication
- 📊 Serial_B/C: Used with
DIAGto collect log information - 🔍 DIAG: Used for debugging and logging, see
Log Collection - 🛠️ ADB: ADB port, only available in
debugfirmware, regardless of whether theDebugport profile is active
In practice, it is recommended to use the NCM port profile, which provides two endpoints for better bandwidth utilization.
💻 PCIe Mode
Operates in PCIe RC mode; other modes are not supported yet.
Application Guide
Preparation
- Install the Windows/Linux driver
- Install any serial terminal software (e.g.,
XCOM, SSCOM, ...); serial port parameters usually do not need adjustment. - Ensure the correct port profile is active so the corresponding ports are enumerated. (On Windows, check in
Device Manager; on Linux, runlsusb.)
AT communication port:
- On Windows, the port is
Application Interface - On Linux, the device is usually enumerated as
/dev/ttyUSB1
Dial-Up Internet Guide
Dual-stack networking (IPv4 + IPv6) is used by default. Refer to the manual if you need to change this.
Manual Dialing
Enter AT^NDISDUP=1,1 and check the response to see if the dial-up was successful.
To cancel the dial-up, enter AT^NDISDUP=1,0.
Auto Dialing
Auto dialing runs automatically every time the module starts, with no manual intervention needed.
If you have previously configured auto dialing, you must cancel it first, otherwise the new settings will not take effect. Enter AT^SETAUTODIAL=0.
- For
USB 3.0connection, enterAT^SETAUTODIAL=1,1and check the response. - For
PHYEthernet connection, enterAT^SETAUTODIAL=1,2and check the response.
For PCIe connection, I don't have a host device, so please refer to the manual.
LED Network Status
LED display is disabled by default. Enable it with AT^LEDSWITCH=1; it takes effect after a reboot.
❓ Module Upgrade and Downgrade
Since some Linux firmware packages are missing, it is recommended to use a Windows host for upgrades and downgrades.
- Download and install the TD Tech platform driver.
- Download the upgrade guide for your platform, and follow its instructions to upgrade or downgrade.
Manual Downloads
Link contains the following guides:
- MT5700M-CN 5G Module Hardware Design Guide
- 5G LAN Function Verification Guide
- 5G Slicing Function Test Guide
- AT Command Manual
- DIAG TOOL User Guide
- FOTA Upgrade Guide
- Linux Kernel Driver Integration Guide
- USB Interface Application Guide
- Windows USB Driver Installation Guide
- Sleep/Wake Guide
- Function Application Guide
- Thermal Protection Solution Guide
- Local Upgrade Guide_Linux
- Local Upgrade Guide_Windows
- Local Log Collection and Tool Integration Guide_Linux
- Local Log Collection Guide_Windows
- High-Precision Timing Function Verification Guide
Copyright belongs to TD Tech Ltd.. If there is any infringement, please email i@racel.dev, and I will delete it immediately.
Software Compatible with MT5700M-CN
- QModem: Module management plugin, compatible with QWRT/LEDE/Immortalwrt/Openwrt
- MT5700M PHY AT ETH Control: Python script for Ethernet connection control
- Web UI: A
MT5700M-CNcontrol panel developed by an individual; not open source yet, please find the download yourself
Linux Compatibility
See the Linux Kernel Driver Integration Guide for details, or you can directly use the kernel patch I created.
If the usbserial driver is loaded and lsusb shows the module's device, you can manually run sudo /bin/sh -c 'echo 3466 3301 > /sys/bus/usb-serial/drivers/generic/new_id';
After that, you should see /dev/ttyUSB* enumerated.
FOTA Upgrade Tutorial
Server Setup
Preparation
HTTP is used here instead of HTTPS because certificate configuration is too cumbersome.
- A public nginx server
- Binary module firmware package
- The module must be online
Assume the firmware package is placed in the /tmp/fota/full folder (as of now, it must be placed in the full folder).
Assume your nginx is running at http://localhost/.
nginx Configuration
Assume our final FOTA download link is http://localhost/download/b16.
Then your site configuration should be:
location /download/b16 {
alias /tmp/fota;
allow all;
autoindex on;
}
Configure the FOTA Update Package
The FOTA update package is provided by TD Tech, but individuals often cannot obtain it. Here is a configuration method I figured out; follow it strictly and it will work.
The full folder mentioned above should contain three files, and the naming must be strictly consistent:
- FIRMWARE1.BIN - The binary firmware package, which is the same package used on Linux platforms. For Windows platforms, you need to extract it from the upgrade guide.
- changelog.xml - The update log file, required.
- filelist.xml - Records the MD5 and size of the above two files, required.
changelog.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<component name="FIRMWARE1" version="1.1.6.0(SP1C02)"/>
<default-language name="de-de">1031</default-language>
<language name="en-us" code="1033">
<features>
<feature>1.product_name="MT5700M-CN"</feature>
<feature>2.update_mode="0"</feature>
<feature>3.source_version="1.1.6.0(SP1C02)"</feature>
<feature>en-us</feature>
</features>
</language>
</root>
Just modify the version number here.
filelist.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<component>
<name>FIRMWARE1</name>
<compress>0</compress>
</component>
<files>
<file>
<spath>changelog.xml</spath>
<dpath>changelog.xml</dpath>
<operation>c</operation>
<md5>86ed31415b5a0b978dfa677fa47bd1b1</md5>
<size>484</size>
</file>
<file>
<spath>FIRMWARE1.BIN</spath>
<dpath>FIRMWARE1.BIN</dpath>
<operation>c</operation>
<md5>06801c391284f4a12d92c5f0f6d8b830</md5>
<size>62770696</size>
</file>
</files>
</root>
For different firmware versions, remember to update the md5 and size.
Perform the FOTA Update
See the FOTA Upgrade Guide for details.
- Enter
AT^FOTASTATE?; the response should be10, indicating waiting for download. - Enter
AT^FOTAOEMDL="url", whereurlishttp://localhost/download/b16from above. - Wait for the download to complete; you can use
AT^FOTADQLto check the download progress. - When the download is complete, the status will be
40. EnterAT^FWUPto execute the update. - When the update is ready, the status will be
50. The device will automatically reboot and enterDLOADmode to perform the update.
If the device does not perform the update after rebooting, it means the firmware package verification failed (TD Tech adds a digital signature to each firmware package). This often happens when you extract the firmware package from an exe yourself. Please check again.
If an error occurs during the FOTA download or update process, it means your FOTA server configuration is incorrect. Check the configuration section and the nginx access log.
The Magic code of the firmware package is 55 AA 5A A5. You can search and extract it directly from the .exe file, making sure the tail is strictly aligned.
📡 Antenna Definition
Antenna Definition
📋 Technical Specifications
Technical Specifications
Technical Specifications