3007 CM4 4G Mini EN

来自Mcuzone Wiki

切换语言为中文

Keywords

Raspberry Pi, Orange Pi, NVIDIA, FriendlyELEC, CM4 4G Mini, CAT4 4G, Qualcomm 4G/GPS, NL668-EU,NL668-EAU,NL668-AM,ZTE CAT4, Driver-free and Dial-up-free, Auto-identification, Plug and play, Raspberry Pi OS, Ubuntu, Debian, Android, OpenWrt

I. Introduction

The CM4 4G Mini is a 4G module that matches the size of the Raspberry Pi CM4/CM5 core board. The CM4 4G Mini is compatible with various 4G modules, catering to different system and cost requirements. The CM4 4G Mini uses USB ports for communication, featuring both USB-C and 1.25mm 4Pin dual interfaces (choose one). The USB-C interface is suitable for the vast majority of application scenarios, with a connection method that involves external use, such as on embedded platforms like Raspberry Pi, Orange Pi, and NVIDIA, as well as PCs, various set-top boxes, and more. The 4G module can be directly mounted on top of the CM4/CM5 core board and connected to the our Raspberry Pi expansion board via the 1.25mm 4Pin connector. The CM4 4G Mini features a self-ejecting Nano SIM card slot. Depending on the module's functionality, it is equipped with 1 to 3 IPEX 1 interfaces, which can be paired with either FPC antennas or SMA antennas for use.

The 4G module is driver-free, auto-recognized, plug-and-play, and requires no additional drivers on the official OS of development boards such as Raspberry Pi, Orange Pi, and NVIDIA. Some 4G modules come with built-in GPS functionality, allowing developers to save space and operate with ease. The GPS feature requires an external passive GPS antenna.

From the perspective of CPU solutions, 4G modules can be divided into domestic solutions and Qualcomm solutions. Among them, CAT4 4G and ZTE CAT4 are domestic solutions, while Qualcomm 4G/Qualcomm 4G-GPS/NL668-EAU 4G/NL668-EU 4G/NL668-AM 4G modules are Qualcomm solutions.

3007_CM4_4G_Mini_59.jpg

3007_CM4_4G_Mini_75.jpg

II. Hardware Spec

1. Utilizing a high-efficiency imported DC-DC circuit, the standby current is 0.15A, and the operating current during full-speed downloading is less than 0.3A.

2. Onboard 4G LTE module.

3. One USB port for 4G communication and power supply.There are two types interfaces(USB-C and 1.25mm-4P), choose one to use.

4. One Nano SIM card slot.

5. Two IPEX 1 4G ANT connector, and the antenna only needs to be connected to the MAIN interface; it also have one IPEX 1 GPS antenna connector (suitable for 4G modules with GPS functionality).

6. Two LEDs: one network LED and one status LED.

7. Size: 40*55mm. The module is fully compatible with the dimensions of the Raspberry Pi CM4/CM5, immersion gold process, lead-free production, PCB certified by UL and ROHS, flame retardant rating 94V-0.

3007_CM4_4G_Mini_15.jpg

3D Plastic casing (Opt.):

3007_CM4_4G_Mini_39.jpg3007_CM4_4G_Mini_46.jpg

4G module Network

LED

status LED
CAT4 4G Always on The blinking status of 1.8 seconds on and 0.2 seconds off (which can also be determined by the on time being longer than the off time) indicates that the 4G module is connected to the network.
The blinking status is 1.8 seconds off and 0.2 seconds on, indicating an issue with the SIM card or network. Please check the SIM card and antenna.
Qualcomm 4G/NL668-AM/EU/EAU None The blinking status is slow with brief rapid flashes in between, indicating that the 4G module is connected to the network; otherwise, it suggests an issue with the SIM card or network. Please check the SIM card and antenna.
ZTE CAT4/EU None The fast blinking status indicates that the 4G module is connected to the network; otherwise, it suggests there might be an issue with the SIM card or the network. Please check the SIM card and the antenna.

III. Work with Raspberry Pi OS

The Raspberry Pi OS (Raspberry Pi OS with desktop): 2024-07-04-raspios-bookworm-arm64.img.xz.

You can download the Raspberry Pi OS in:

https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit

3007_CM4_4G_Mini_44.jpg

Raspberry Pi CM4 Expansion Board with CM4 4G mini
(The figure shows the CM4-WiFi7-POE expansion board)

3007_CM4_4G_Mini_45.jpg

Raspberry Pi 5 with CM4 4G mini

1

3.1 Connect 4G

Running the Raspberry Pi OS, execute the command lsusb in terminal, as shown in the image below:

0012_MPUUART_MP4232_41.jpg

3007_CM4_4G_Mini_60.jpg

3007_CM4_4G_Mini_61.jpg

By executing ifconfig -a in terminal, we can see the 4G module (eth1 or usb0) successfully obtains an IP address:

0012_MPUUART_MP4232_39.jpg

3007_CM4_4G_Mini_63.jpg

3007_CM4_4G_Mini_62.jpg

After the 4G module successfully obtains an IP address, we can ping external network addresses, such as:

ping www.mcuzone.com

0012_MPUUART_MP4232_43.jpg

Connect to Internet via a 4G module, access a speed test website to measure the speed, and the results are as follows:

0012_MPUUART_MP4232_44.jpg

Note: Network speed tests are affected by the network environment and testing methods. Please refer to the actual speed, as this test is for reference only.

3.2 GPS test

If you choose the Qualcomm 4G-GPS/NL668-EU/NL668-EAU/NL668-AM, then this 4G module comes with GPS functionality. You need to connect a GPS passive antenna and ensure that the GPS antenna is extended outdoors.

Execute lsusb, as shown in the image below:

0024_MP4GUSB_04.jpg

Note down the ID value of the 4G module: 05c6 90b6.

Use the following command to open the ttyUSB serial port, where the value after "echo" is the ID value recorded above:

sudo modprobe option

sudo sh -c 'echo 05c6 90b6 > /sys/bus/usb-serial/drivers/option1/new_id'

After executing the above two commands, the OS should have three additional devices: ttyUSB0, ttyUSB1, ttyUSB2. You can check them by entering ls /dev.

0024_MP4GUSB_06.jpg

Run minicom and open the ttyUSB0 serial port.

sudo minicom -D /dev/ttyUSB0

And execute:

at+gtgpsepo=1 //Enable AGPS

at+gtgpspower=1 //Enable GPS

Please wait a moment for the positioning to succeed, then execute:

at+gtgps? //View NMEA messages

Then you can see the GPS information output:

0012_MPUUART_MP4232_70.jpg

3.3 Use udhcpc to obtain the DNS address

Sometimes the IP address obtained through the 4G module is correct, and pinging a public IP address succeeds, but when pinging a public domain name, a "name error" occurs, making it impossible to ping. This is because the 4G module did not obtain the correct DNS address. We can resolve it by following these steps:

Connect the Ethernet cable, then install udhcpc while ensuring the internet is working properly:

sudo apt install udhcpc

0007_Zero_4G_Cat1_48.jpg

After successful installation, for CAT4 4G (network identifier: eth1), please execute:

sudo udhcpc -i eth1

3007_CM4_4G_Mini_58.jpg

Once the execution succeeds, run the ping command, and it should function properly.

3.4 Modification of Network Priority

If multiple internet-connected devices are in use simultaneously, there is a priority order among these devices. Taking the CAT4 4G as an example, when the wired Ethernet port and the 4G module coexist, we execute the route command to check the routing table. Since eth1 (i.e., CAT4 4G) is listed first, the internet connection is currently being routed through the 4G module.

5005_CM5IO_Mini_23.jpg

If you want to prioritize the wired network for internet access, you can execute the following command:

sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1

Explanation of these two commands (separated by '&&'):

sudo ip route del default: Remove the default route from the routing table.

sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1: Add the gateway of the wired network as a new default route (ensure to use the actual gateway address).

After completing the execution, execute the route command to view the routing table. The current default route is the gateway of the wired network (eth0 is listed first):

5005_CM5IO_Mini_26.jpg

This way, the network will default to using the wired connection. If you need to switch back to defaulting to the 4G network, please restart the OS.

Note: After a reboot, the routing table resets. To ensure the network continues to use the wired connection as the default route post-restart, you'll need to execute sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1 again.

IV. Work with Ubuntu OS on Raspberry Pi device

The Ubuntu OS (Ubuntu OS with desktop): ubuntu-24.04-preinstalled-desktop-arm64+raspi.img.xz.

You can download the Ubuntu OS in:

https://ubuntu.com/download/raspberry-pi

The 4G module is also driver-free in the Ubuntu OS and is automatically recognized as a device starting with "enx".

After powering on and running the Ubuntu OS, execute the command lsusb in terminal, as shown in the image below:

0012_MPUUART_MP4232_65.jpg

3007_CM4_4G_Mini_65.jpg

3007_CM4_4G_Mini_64.jpg

By executing ifconfig -a in terminal, we can see the 4G module (enx...) successfully obtains an IP address:

3007_CM4_4G_Mini_04.jpg

After the 4G module successfully obtains an IP address, we can ping external network addresses, such as:

ping www.mcuzone.com

0012_MPUUART_MP4232_69.jpg

Connect to Internet via a 4G module, access a speed test website to measure the speed, and the results are as follows:

3101_Domestic_4G_31.jpg

Note: Network speed tests are affected by the network environment and testing methods. Please refer to the actual speed, as this test is for reference only.

V. Work with Ubuntu OS on NVIDIA device

The system used for testing is the NVIDIA Ubuntu OS. The 4G models are all driver-free, supporting plug-and-play functionality. The version is: jetson-nano-jp461-sd-card-image.zip

You can download the Ubuntu OS in:

https://developer.download.nvidia.com/embedded/L4T/r32_Release_v7.1/JP_4.6.1_b110_SD_Card/Jeston_Nano/jetson-nano-jp461-sd-card-image.zip

We are using the JETSON NANO paired with a 4G module for testing. The CAT4 4G and ZTE CAT4 are recognized as eth devices in the OS, while the Qualcomm 4G-GPS/NL668-EU/NL668-EAU/NL668-AM is identified as USB0/1 devices. Additionally, our 4G carrier board is available as an optional accessory, which can be stacked with the NVIDIA board for assembly.

3007_CM4_4G_Mini_17.jpg

Execute the command lsusb in terminal, as shown in the image below:

3007_CM4_4G_Mini_33.jpg

3007_CM4_4G_Mini_66.jpg

3007_CM4_4G_Mini_67.jpg

By executing the ip addr command, we can see the 4G module (eth... or usb...):

3007_CM4_4G_Mini_34.jpg

3007_CM4_4G_Mini_68.jpg

3007_CM4_4G_Mini_69.jpg

After the 4G module successfully obtains an IP address, we can ping external network addresses, such as:

ping 220.189.288.38

ping www.mcuzone.com

3007_CM4_4G_Mini_35.jpg

Taking the CAT4 4G module as an example, connect to the external network, access a speed test website, and the results are as follows:

3007_CM4_4G_Mini_36.jpg

Note: Network speed tests are affected by the network environment and testing methods. Please refer to the actual speed, as this test is for reference only.

VI. Work with Debian OS on Orange Pi device

The OS used for testing is the Debian OS from Orange Pi: Orangepi3-lts_3.0.8_debian_bullseye_desktop_xfce_linux5.16.17.img

You can download the Debian OS in:

http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-3-LTS.html

We are using the Orange Pi 3 LTS paired with a 4G module for testing. The Orange Pi OS supports plug-and-play; both CAT4 4G and ZTE CAT4 are recognized as enx devices, while the Qualcomm 4G-GPS/NL668-EU/NL668-EAU/NL668-AM is recognized as a usb0 device.

3007_CM4_4G_Mini_18.jpg

By executing lsusb in the system terminal, you can see that the 4G module has been recognized, as shown in the figure below:

3007_CM4_4G_Mini_06.jpg

3007_CM4_4G_Mini_70.jpg

3007_CM4_4G_Mini_71.jpg

By executing the ip addr command, we can see the 4G module (enx... or usb0):

3007_CM4_4G_Mini_07.jpg

3007_CM4_4G_Mini_72.jpg

3007_CM4_4G_Mini_73.jpg

After the 4G module successfully obtains an IP address, we can ping external network addresses, such as:

ping 220.189.288.38

ping www.mcuzone.com

3007_CM4_4G_Mini_08.jpg

Taking the CAT4 4G module as an example, connect to the external network, access a speed test website, and the results are as follows:

Note: Network speed tests are affected by the network environment and testing methods. Please refer to the actual speed, as this test is for reference only.

VII. Work with OpenWrt on Raspberry Pi device

The OS used for testing is OpenWrt: openwrt-bcm27xx-bcm2712-rpi-5-squashfs-sysupgrade-linux-6.6.66-20241219.img.gz

In the OpenWrt, it can be configured in a one-in-one-out switch mode, where the 4G can serve as the WAN port, and the Raspberry Pi 5's own network port can be configured as the LAN port for connecting to a PC.

Qualcomm 4G-GPS/NL668-EU/NL668-EAU/NL668-AM, CAT4 4G, and ZTE CAT4 4G are all driver-free and dial-up free, recognized as eth1 devices.

7.1 Login the operation interface

Connect the Raspberry Pi 5 to the PC's Ethernet port, boot up the OS, and navigate to the Network and Internet settings in Windows. Open the connected network in Ethernet to view the default gateway's IP address. This address is the backend configuration page address for the OpenWrt. As shown in the figure, the address tested in this article is 192.168.1.1.

3007_CM4_4G_Mini_19.jpg

Then open your web browser and enter 192.168.1.1 to access the OpenWrt. The default username is root, and the default password is password.

After logging in, navigate to "Services - Terminal", and log in using the username root and the password password.

Enter ifconfig -a, and you will see a network card labeled as eth1, which is the Qualcomm 4G-GPS/NL668-EU/NL668-EAU/NL668-AM module.

7.2 Set the 4G module as the WAN port

After accessing the OpenWrt, navigate to "Network - Interfaces" and click "Add New Interface."

The setup for the new interface is as shown in the figure below, where "eth1" represents the 4G module, and the name can be customized.

Then click "Create Interface".

In the "Firewall Settings", select "Create/Assign Firewall Zone" and choose "WAN", then click "Save".

Automatically return to the "Interfaces" and click "Save & Apply":

Wait a moment, and we will see in the "Network - Interfaces" that the WAN port we just configured has obtained an IP address through the 4G module.

Now we are in the "Services - Terminal" section. By executing ifconfig -a, we can see that eth1 has successfully obtained an IP address. and pinging a public IP address is successful, indicating that internet access is now available through the 4G module.

3007_CM4_4G_Mini_57.jpg

3007_CM4_4G_Mini_28.jpg

Meanwhile, we can observe in the network card connection of the PC connected to the Raspberry Pi that the Ethernet connection status is "Internet", indicating that the PC can also access the internet through this 4G module at this time.

3007_CM4_4G_Mini_29.jpg

Open https://www.speedtest.cn/ on your PC to conduct a speed test. At this point, the traffic is routed through the 4G module, and the test results are as follows:

3007_CM4_4G_Mini_30.jpg

Note: Network speed tests are affected by the network environment and testing methods. Please refer to the actual speed, as this test is for reference only.

VIII. Work with Android OS on NanoPi M6

The Friendly NanoPi M6 is paired with a 4G module for Android OS testing. The 4G module is plug-and-play and does not require additional drivers. A Nano SIM card that supports 4G or higher is needed. The model of the 4G module is CM4 4G mini (ZTE CAT4 4G).

The OS we use is the Friendly Android OS: rk3588-sd-android12-20240821.img.gz.

You can download the Android OS in:

https://download.friendlyelec.com/NanoPiM6

Flash the OS onto the TF card, and after booting the OS from the TF card, you can directly access the internet via ZTE CAT4. A successful Internet connection indicator will appear in the status bar at the top right corner of the desktop, as shown in the figure below:

3007_CM4_4G_Mini_55.jpg

Open Chrome, connect to Internet, visit a speed test website to conduct a speed test, and the results are as follows:

Note: Network speed tests are affected by the network environment and testing methods. Please refer to the actual speed, as this test is for reference only.

If you need to check the detailed status of the network, you can download and install the terminal software Termux for viewing. The download link is:

http://www.mcuzone.com/wiki/3007_CM4_4G_Mini/termux_1020.apk

After installing Termux, open the software and execute ifconfig -a in terminal, as shown in the image:

3007_CM4_4G_Mini_74.jpg

eth2 is the ZTE CAT4.

We can ping public IP addresses, for example:

ping 220.189.288.38

ping www.mcuzone.com

3007_CM4_4G_Mini_43.jpg

IX. AT command operation

9.1 AT command operation

Taking CAT4 4G as an example, execute lsusb in terminal:

0012_MPUUART_MP4232_41.jpg

Record the ID value of the 4G module: 1286 4e3d (The ID number for each type of module varies; please refer to the actual details for accurate information.)

Use the following command to open the ttyUSB serial port, where the value after echo is the ID recorded above:

sudo modprobe option

sudo sh -c 'echo 1286 4e3d > /sys/bus/usb-serial/drivers/option1/new_id'

After executing the above two commands, proceed with ls /dev/ttyUSB*:

3007_CM4_4G_Mini_01.jpg

Install minicom:

sudo apt-get install minicom

Then open the AT command serial port using minicom:

sudo minicom -D /dev/ttyUSB0

(Note: The choice of which serial port to use should be based on the ability to input and run AT commands after entering this port, ensuring that the display is not garbled and the results do not jump erratically.)

The first time you enter an AT command, there may be no echo. If you then input the command at and press Enter, and it returns "OK," it indicates that everything is working properly. If you need to check the echo, please type the command: ate1, then press Enter. After that, you can continue to type other commands and see the inputs.

0012_MPUUART_MP4232_45.jpg

Common AT commands:

1. Check if the SIM card is detected:

at+cpin?

Return ready to indicate the card has been recognized, if return error, you need to check the hardware.

2. Check antenna signal quality:

at+csq

Return values between 26 and 31 indicate a good signal, with 31 representing a full signal strength; return values between 20 and 25 indicate a barely acceptable signal; return values below 20 indicate a poor signal or that the antenna might not be connected.

3. Check network registration status:

at+cops?

Normally, it should return the network supporter's code: 7, where 7 represents 4G.

Note: The above command at+csq should not include a question mark, while the other two commands require a question mark.

4. View the SIM card's IMEI code:

at+cgsn

5. Reset 4G module (Sometimes, if you reinsert the SIM card, hot swapping may not work; in such cases, you can use this reset command to reset the module.):

at+reset

6. Disable radio frequency:

at+cfun=0

Enable radio frequency:

at+cfun=1

The two commands mentioned above can be used in pairs to allow the module to re-register with the network without restarting the 4G module.

9.2 Modify the IP address of the 4G module

1. CAT4 4G:

Execute the AT command:

AT+ROUTEIP=<newip>

Note: only addresses in the format of 192.168.x.1 are supported. If you set AT+ROUTEIP=192.168.3.1, the final IP address obtained will be 192.168.3.100. After making the changes, you need to power off and restart the OS.

Query current IP: AT+ROUTEIP?, it returns two values, the first one is the old IP, and the second one is the new IP.

Test command: AT+ROUTEIP=?

2. Qualcomm 4G-GPS/NL668-EU/NL668-EAU/NL668-AM, ZTE CAT4 4G:

Set the 4G module's IP to directly obtain a public IP. Please execute the AT command:

Set the IP to public: AT+GTIPPASS=1

Set the IP to private: AT+GTIPPASS=0

Check whether the current IP is a public or private IP: AT+GTIPPASS?

After modifying the IP, a power cycle reboot is required for the changes to take effect.

X. Power consumption test of 4G modules

Note: The test data in this section are obtained from actual measurements by our company and represent only the results of that particular test. They are for reference purposes only and do not represent the final product data.

Connect the 4G module to the USB port of the Raspberry Pi 5, disable the WiFi on the Raspberry Pi 5, do not connect an Ethernet cable, and use only the 4G module for internet access. The power consumption of the 4G module is as follows:

Without downloading files Power Continuously downloading

files at full speed

Power Continuously uploading

files at full speed

Power
CAT4 4G 0.13A 0.65W 0.19A 0.95W 0.38A 1.9W
Qualcomm 4G 0.15A 0.75W 0.29A 1.45W 0.4A 2W
ZTE CAT4 0.14A 0.7W 0.21A 1.05W 0.51A 2.55W

XI. 4G module carrier board assembly demonstration

3007_CM4_4G_Mini_80.jpg

3007_CM4_4G_Mini_81.jpg

Contact Us

0001_x.jpg 0002_fb.jpg 0004_ytb.jpg 0003_bb.jpg 0005_qq.jpg QQ:8204136

Email: mcuzone@vip.qq.com

Tel: +86(0)13957118045

If there are any omissions, errors, or infringements on this page, please contact us through the above methods. Thank you!

Copyright 2004-2025 Wildchip