5008 CM5B 2ETH EN

来自Mcuzone Wiki

切换语言为中文

Keywords

Raspberry Pi, CM5 Core board, Dual Gigabit Ethernet, CSI, DSI, RTC, PWM, USB3.0, PCIe, RPiOS

I. Introduction

CM5B_2ETH is a dual Ethernet port expansion board based on the Raspberry Pi CM5 design, with dimensions essentially identical to the Raspberry Pi 5. Equipped with 2*USB 3.0 ports and 2*USB 2.0 ports (1.25mm 4Pin), 1*native Gigabit Ethernet port, and 1*USB 3.0-to-Gigabit Ethernet port, along with standard peripherals such as HDMI, RTC, PCIe, Fan, 40P, CAM, and DISP. It is ideally suited for various OpenWrt/gateway applications requiring dual-NIC setups. The 16-pin PCIe interface can expand external devices such as SSD, 2.5G Ethernet, WiFi7, AI, TPU, etc., and provides a 2A power supply capability.

II. Hardware Spec

1) Supports all Raspberry Pi CM5 core board versions, featuring DF40HC3.0 connectors.

2) 2*Ethernet ports: 1*native Gigabit Ethernet and 1*USB 3.0-expanded Gigabit Ethernet, using an integrated network transformer.

3) 2*USB3.0-A HOST.

4) 2*USB2.0 HOST, 1.25mm-4Pin port.

5) 1*native PCIe interface, 0.5mm-16Pin, connected on FPC, with PCIe power delivery capability up to 2A, surpassing the PCIe performance of Raspberry Pi 5.

6) 1*single CSI/DSI0 combo interface with 0.5mm pitch 22-pin FPC bottom connector.

7) 3*LED lights: Power input LED, CM5 core board power LED, and CM5 core board operation LED.

8) 1*Micro HDMI output port, supporting 4K output.

9) 1*RTC interface, 1.25mm-2P.

10) 1*PWM fan connector, 1.0mm-4Pin.

11) 40-pin GPIO, 2.54mm-2*20PIN, fully compatible with Raspberry Pi 5 GPIO pinout.

12) 2*buttons: Power button and Boot button.

13) 1*USB2.0 OTG, used for power supply: 5V3A, up to 5V5A; it can also be used for OS flashing, supporting core boards with eMMC, as well as TF card flashing(for core boards without eMMC). This interface can be connected to a computer and used as a USB network adapter under the OpenWrt (requires OS support).

14) Size: 85*56mm. The four-layer board design uses UL and RoHS certified materials with a flammability rating of 94V-0.

15) Optional aluminum alloy casing.

5008_CM5_2ETH_61.jpg

5008_CM5_2ETH_62.jpg

5008_CM5_2ETH_63.jpg

5008_CM5_2ETH_64.jpg

5008_CM5_2ETH_65.jpg

5008_CM5_2ETH_76.jpg

5008_CM5_2ETH_67.jpg

5008_CM5_2ETH_68.jpg

5008_CM5_2ETH_69.jpg

III. Flash OS

We use the Raspberry Pi OS, the system version is 2025-05-13-raspios-bookworm-arm64.img.xz

You can download it in:

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

For core boards with eMMC, the OS is flashed onto the eMMC. If the core board does not have eMMC, the OS is flashed onto the TF card or NVMe SSD.

Use a core board with eMMC. Before flashing the OS, please press the BOOT button on the board and connect the power USB-C interface to the computer:

5008_CM5_2ETH_86.jpg

After the device is recognized by the computer, you can release the BOOT button. Once the flashing process is completed, power on the device again to boot the OS.

For the flashing method, please refer to:

How to flash OS

IV. Work with Raspberry Pi OS

4.1 USB port detection test

4.1.1 USB port recognition test

Plug the USB device into the USB port of the expansion board:

5008_CM5_2ETH_71.jpg

Execute the command lsusb in the terminal:

If there are no external devices connected to the USB ports, the corresponding device numbers will not appear—only the USB hub will be shown.

Then execute lsusb -t to check whether the USB ports are operating in the correct mode.

Bus 02: Native USB 3.0 port, 5000M.

Bus 04: Expanded USB 3.0 port, 5000M.

Bus 04: Expanded USB 2.0 port, 5000M.

4.1.2 USB3.0 speed test

Insert a USB 3.0 external hard drive into the USB 3.0 Type-A port, install the hard disk speed testing software hdparm:

sudo apt install hdparm

Test USB hard drive interface speed:

The first USB 3.0-A port (native, the bottom port in the dual-layer connector is native USB 3.0):

Execute df in the terminal to view the SSD partition information.

5008_CM5_2ETH_05.jpg

We can see the SSD partition named sda1.

Execute the speed test command repeatedly to measure disk performance multiple times:

sudo hdparm -t /dev/sda1

5008_CM5_2ETH_06.jpg

No. Transmission speed(MB/s)
1 361.06
2 343.97
3 350.18
4 345.29
5 362.54
Avg. 352.61 (about 2.75Gbps)

The second USB 3.0-A port (expanded, the upper port in the dual-layer connector is expanded USB 3.0):

Execute df in the terminal and the SSD partition named sda1.

Execute the speed test command repeatedly to measure disk performance multiple times:

sudo hdparm -t /dev/sda1

5008_CM5_2ETH_07.jpg

No. Transmission speed(MB/s)
1 333.96
2 359.28
3 334.95
4 324.69
5 335.03
Avg. 337.58(about 2.64Gbps)

Testing USB hard drive read/write speed:

Plug two USB 3.0 hard drives into each of the two USB 3.0-A ports; then use the Linux dd command to copy a large file (a single file) between the two drives. The test results are as follows:

Data transfer direction Time(s) Transmission speed(MB/s) Transmission speed(Gbps) Packet size(Mb)
SSD1->SSD2 37.91 263.78 2.06 10000
SSD2->SSD1 34.52 289.69 2.26 10000

The read/write speed of a USB hard drive is close to its interface speed.

Test the speed of a 2.5G USB Ethernet adapter:

Insert a 2.5G USB network card into a USB 3.0-A port and conduct speed tests with another PC on the same local area network.

We use the network speed testing tool iperf3 for speed tests.

Download iperf3 for Windows:

http://www.mcuzone.com/down/Software.asp?ID=10000634

Install iperf3 on Linux:

sudo apt-get install iperf3

First USB3.0-A port(native):

Client mode is around 2.33Gbps:

5008_CM5_2ETH_08.jpg

Server mode is around 1.78Gbps:

5008_CM5_2ETH_09.jpg

Second USB3.0-A port(expanded):

Client mode is around 2.27Gbps:

5008_CM5_2ETH_10.jpg

Server mode is around 1.78Gbps:

5008_CM5_2ETH_11.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.

4.2 Ethernet port test

Please insert the network cable connected to the upper-level router into the native Gigabit Ethernet port, then execute ifconfig, and the display will be as follows:

5008_CM5_2ETH_87.jpg

eth0 is the native Gigabit Ethernet port, and eth1 is the expanded Gigabit Ethernet port.

We conducted speed tests on the native Gigabit Ethernet port using iperf3.

Client mode is around 937Mbps.

5008_CM5_2ETH_13.jpg

Server mode is around 948Mbps.

5008_CM5_2ETH_14.jpg

We conducted speed tests on the expanded Gigabit Ethernet port.

Client mode is around 943Mbps.

5008_CM5_2ETH_15.jpg

Server mode is around 949Mbps.

5008_CM5_2ETH_16.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.

4.3 RTC test

The CM5 core board comes with a built-in RTC, while an external battery needs to be connected on the expansion board, which can be used directly under the Raspberry Pi OS. As shown in the figure below:

5008_CM5_2ETH_70.jpg

After the OS starts, execute the following in the terminal:

ls /dev/r*

You can see the RTC device:

5005_CM5IO_Mini_12.jpg

The command to display the current system time is date;

The command to write the system time to the RTC is sudo hwclock -w;

The command to read the system time from the RTC is sudo hwclock -r.

As shown below:

5005_CM5IO_Mini_13.jpg

If the RTC battery is correctly connected at this time, the RTC will continue to keep accurate time after power loss. If the RTC battery is not properly connected, the time will reset to the default (January 1, 1970) after power loss.

4.4 PWM fan test

Installing the monitoring tool s-tui:

sudo apt install s-tui

Then, execute s-tui in the Raspberry Pi terminal, and you can observe the changes in fan speed in the monitoring window.

5007_CM5_NAS_24.jpg

If you need to customize the fan speed and operating temperature range, please open the terminal and execute the following commands:

sudo nano /boot/firmware/config.txt

Insert the following lines at the end of the file:

dtparam=cooling_fan=on

dtparam=fan_temp0=50000,fan_temp0_hyst=5000,fan_temp0_speed=255

Among them:

fan_temp0=50000, where 50000 represents the temperature, here it is 50°C.

fan_temp0_hyst=5000, where 5000 denotes the hysteresis temperature, here it is 5°C.

fan_temp0_speed=255, where 255 indicates the fan speed, with the maximum being 255.

You can input multiple temperature ranges and their corresponding fan speeds, with each segment on a separate line, differentiated by unique numbering (e.g., 1., 2., 3., etc.):

dtparam=fan_temp1=36000,fan_temp1_hyst=5000,fan_temp1_speed=128

5003_CM5_Router_59.jpg

4.5 DSI test

The official two LCD screens for Raspberry Pi: the 1st-gen LCD has a resolution of 800×480, while the 2nd-gen LCD has a resolution of 1280×720. Both screens require additional power supply.

4.5.1 Raspberry Pi 1st-Gen LCD Display

Power up the OS, open the terminal and execute the following commands.

sudo nano /boot/firmware/config.txt

Insert the following lines at the end of the file:

dtoverlay=vc4-kms-dsi-7inch,dsi0

5002_CM5_Basic_34.jpg

After saving and restarting the OS, you can use the Raspberry Pi 7-inch touchscreen.

4.5.2 Raspberry Pi 2nd-Gen LCD Display

Open the terminal and execute the following commands:

sudo nano /boot/firmware/config.txt

Insert the following lines at the end of the file:

dtoverlay=vc4-kms-dsi-ili9881-7inch,dsi0

2009_CM4_SSD_WiFi6_21.jpg

After saving and restarting the OS, you can use the Raspberry Pi 7-inch touchscreen.

4.6.3 Notes

1): If both the HDMI display and the 7-inch touchscreen are connected simultaneously, the 7-inch touchscreen may become the secondary screen. Simply power off the system, disconnect the HDMI display, and restart; the 7-inch touchscreen will then function as the primary display.

2): The added command actually enables the second display, meaning a dual-screen setup. Whether the second screen's hardware is installed or not, the system may still recognize it as a dual-display configuration. If you use PrtScn (Print Screen) to take a screenshot, it may capture both screens. In some cases, this could even cause the system to fail to boot. Therefore, if you don’t need this screen, it is recommended to remove or comment out this line in config.txt.

4.6 CSI test

The camera used for testing here is the OV5647. Once the OS is running, open the terminal and execute the following commands:

sudo nano /boot/firmware/config.txt

Insert the following lines at the end of the file:

dtoverlay=ov5647,cam0

5002_CM5_Basic_36.jpg

Add according to your model in practice. Save and restart the OS, then you can use the OV5647 camera.

Execute the following command in the terminal:

ls /dev/video*

You will then see the video0 device listed.

5005_CM5IO_Mini_17.jpg

Execute libcamera-hello --camera 0 in the terminal to open the corresponding camera for preview.

5005_CM5IO_Mini_18.jpg

If a photo is required, please excute:

libcamera-jpeg -o test.jpg

The photos are saved in the /home/mcuzone directory (i.e., the user's home directory). The photo effects are as follows:

5005_CM5IO_Mini_19.jpg

4.7 Button test

CM5B_2ETH expansion board comes with a button that functions as a power switch("PWR"). When the device is on, pressing the button once will bring up the shutdown menu:

5001_CM5_WiFi7-PoE_47.jpg

Press the button again to power off immediately.

Power on by pressing the button once while in the shutdown state (requires power connection).

4.8 PCIe extension test

4.8.1 SSD test

Expand the SSD storage by connecting an MPS2280 to the PCIe interface, as shown in the figure:

5008_CM5_2ETH_74.jpg

The CM5 core board without eMMC can boot the OS from an SSD. For the operation steps, please refer to the flashing section. We will demonstrate using an SSD as data storage based on the core board with eMMC.

Execute lspci in the terminal to check the SSD information.

In File Manager, click on the SSD partition, and an authorization dialog will pop up. Enter the current account password to authorize.

Note: The first partition requires password authorization upon clicking; others only need a click.

After authorization, the partition will appear on the desktop.

5008_CM5_2ETH_20.jpg

Execute df in the terminal to view the SSD partition information.

5008_CM5_2ETH_21.jpg

We can see that the partition name of the SSD is nvme0n1p1.

This partition can be used for data storage.

Test the interface speed of an SSD

Execute the speed test command repeatedly to measure disk performance multiple times:

sudo hdparm -t /dev/nvme0n1p1

5008_CM5_2ETH_22.jpg

No. Transmission speed(MB/s)
1 449.61
2 449.39
3 448.64
4 447.93
5 448.02
Avg. 448.72 (about 3.51Gbps)

By default, the SSD operates in PCIe Gen2 mode. You can enable PCIe Gen3 mode by following these steps:

Execute the following command in the terminal:

sudo nano /boot/firmware/config.txt

Then, add the following code at the end of the file:

dtparam=pciex1_gen=3

5008_CM5_2ETH_23.jpg

Save and exit, then restart the OS —this will switch to PCIe Gen3.

Execute the speed test command repeatedly to measure disk performance multiple times again:

5008_CM5_2ETH_24.jpg

No. Transmission speed(MB/s)
1 884.71
2 884.69
3 885.18
4 885.44
5 884.63
Avg. 884.93 (about 6.91Gbps)

The interface speed of an SSD in PCIe Gen3 mode is almost double that in PCIe Gen2 mode.

4.8.2 WiFi7 and Bluetooth test

Please insert the MPW7 adapter board into the PCIe interface, connect the onboard Bluetooth interface to the USB 2.0 port of the expansion board to enable WiFi7 (BE200) and Bluetooth functionality. The adapter board also supports WiFi6(E), specifically the AX210 and AX200.

The Raspberry Pi OS version needs to be 2024-11-19-raspios-bookworm-arm64.img.xz. Compiling the driver under 2025-05-13-raspios-bookworm-arm64.img.xz will result in errors.

The Raspberry Pi OS only supports a single WiFi connection. For the Raspberry Pi CM5 module with built-in WiFi, after installing the WiFi7 driver, the CM5's WiFi will be automatically disabled.

In the terminal, execute the lspci command, and the area marked in redbox is the BE200 WiFi 7 module:

4.8.2.1 Test WiFi7

Install WiFi7 driver:

(This step is applicable to both the AX200 and AX210)

Update header files in the terminal:

sudo apt install -y raspberrypi-kernel-headers firmware-iwlwifi flex yacc

5001_CM5_WiFi7-PoE_19.jpg

Then download the source code:

mkdir wifi && cd wifi

wget http://www.mcuzone.com/wiki/2004_CM4_WiFi7/backport-iwlwifi-20231029.tar.bz2

sudo tar -xvf backport-iwlwifi-20231029.tar.bz2

5001_CM5_WiFi7-PoE_20.jpg

Prepare the compilation environment:

sudo make defconfig-iwlwifi-public

sudo sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config

5001_CM5_WiFi7-PoE_21.jpg

Compile source code:

sudo make -j 4

sudo make install

Note: If the system freezes or reports errors during compilation when using -j 4, please try compiling with -j 2 or -j 1 instead.

5001_CM5_WiFi7-PoE_22.jpg

5001_CM5_WiFi7-PoE_23.jpg

The OS is now prompting a restart. Please hold off on restarting for now.

Install the firmware (only for BE200, AX200 or AX210, no need to install the firmware):

cd ..

cd Downloads

wget http://www.mcuzone.com/wiki/0011_MPW7/firmware_wifi7.zip

unzip firmware_wifi7.zip

sudo cp iwlwifi-gl-c0-fm-c0-86.ucode /lib/firmware

sudo cp iwlwifi-gl-c0-fm-c0.pnvm /lib/firmware

5001_CM5_WiFi7-PoE_24.jpg

Restart the OS:

sudo reboot

After restarting the OS, we can use the WiFi7 module to connect to the wireless AP.

5002_CM5_Basic_46.jpg

Note: The core board's built-in WiFi module has been automatically turned off and replaced with the WiFi7 module.

In the network connection information, we can also see that this connection uses the iwlwifi driver (if it's the wireless network card integrated on the core board, the driver will be displayed as brcmfmac):

Execute the command ifconfig -a in the terminal:

5008_CM5_2ETH_31.jpg

"wlan0" refers to the WiFi7 module.

4.8.2.2 WiFi7 (BE200) Bluetooth test

Execute lsusb in the terminal, and the section highlighted in the red box is the built-in Bluetooth of the BE200 WiFi7 module.

Install Bluetooth driver:

Execute the command in the terminal:

cd Downloads

wget http://www.mcuzone.com/wiki/5001_CM5_WiFi7-PoE/intel.zip

sudo cp intel.zip /lib/firmware/intel && cd /lib/firmware/intel

sudo unzip intel.zip

If there are file name conflicts while extracting, choose "A" (replace all).

5001_CM5_WiFi7-PoE_50.jpg

Then restart the OS:

sudo reboot

Bluetooth test:

Execute commands in the terminal:

rfkill unblock bluetooth

hciconfig -a

5008_CM5_2ETH_33.jpg

There are two visible devices: hci1 is the core board's onboard Bluetooth (manufactured by Cypress Semiconductor, a UART device), while hci10 belongs to the BE200 (manufactured by Intel, a USB device). Both Bluetooth interfaces are currently active.

In order to test hci0, we need to disable hci1. Please execute the following command in the terminal:

sudo hciconfig hci1 down

(If you need to enable this device, please run sudo hciconfig hci1 up.)

Now, executing hciconfig -a shows that hci1 is down.

5008_CM5_2ETH_34.jpg

Click the Bluetooth icon at the top-right of the desktop, then choose "Add Device..." from the menu.

5002_CM5_Basic_42.jpg

Put the target device in discoverable mode, and the Bluetooth module will scan and find it shortly. This example uses a Bluetooth mouse:

5002_CM5_Basic_43.jpg

Select the mouse, click "Pair", and it will connect successfully after a short wait.

5001_CM5_WiFi7-PoE_55.jpg

We can operate this mouse in the Raspberry Pi OS.

5002_CM5_Basic_44.jpg

Execute the command in the terminal:

hcitool -i hci1 con

You can view the status of the devices connected to this Bluetooth.

5002_CM5_Basic_45.jpg

4.8.3 Test 2.5G Ethernet

Connect the PCIe interface with our company's MP2.5G HAT, then connect the MP2.5G's Ethernet port to the upstream router and boot up the OS.

5008_CM5_2ETH_73.jpg

Execute lspci in the terminal, and verify that eth1 is the 2.5G Ethernet port.

Executeifconfig: eth1 is the 2.5G Ethernet port.

5008_CM5_2ETH_89.jpg

Using iperf3 to test the speed of a 2.5G Ethernet port:

The client mode reaches around 2.35Gbps.

5008_CM5_2ETH_27.jpg

The server mode reaches around 1.79Gbps.

5008_CM5_2ETH_28.jpg

4.8.4 PICe extension for other modules

PCIe扩展TPU模块(单TPU,双TPU,TPU+2.5G,TPU+SSD)

PCIe扩展以太网模块(双2.5G,2.5G+SSD,2.5G+WiFi7)

PCIe扩展AI模块(树莓派官方AI,AI+SSD,AI+2.5G,AI+WiFi7)

PCIe扩展5G模块

PCIe扩展UART模块(4路RS232,2路RS232+2路隔离RS485)

4.9 Testing the 4G module with USB2.0

Our company's compatible 4G modules are plug-and-play, requiring no drivers or dial-up. Our 4G models include CAT4 4G, ZTE CAT4/CAT4-EU, Qualcomm 4G/4G-GPS, NL668-EAU/EU/AM 4G, and EG25-G.

In Raspberry Pi OS, CAT4 4G and ZTE CAT4/CAT4-EU are automatically recognized as eth devices, while Qualcomm 4G/4G-GPS, NL668-EAU/EU/AM 4G, and EG25-G are automatically recognized as usb0 devices.

3007_CM4_4G_Mini_59.jpg

3007_CM4_4G_Mini_75.jpg

Module NL668-EU

(soc from Qualcomm)

NL668-EAU

(soc from Qualcomm)

NL668-AM

(soc from Qualcomm)

Qualcomm 4G
BAND • LTE FDD: B 1/3/5/7/8/20

• LTE TDD: B 38/40/41

• WCDMA: B 1/5/8

• GSM/GPRS/EDGE: 850/900/1800MHz

• LTE FDD: B 1/3/5/7/8/20/28

• LTE TDD: B 38/40/41

• WCDMA: B 1/5/8

• GSM/GPRS/EDGE: 850/900/1800MHz

• LTE FDD: B2/4/5/12/13/17/66/71

• WCDMA: B2/4/5

• LTE FDD: B1/3/5/8

• LTE TDD: B34/38/39/40/41

• WCDMA: B 1/8

• EVDO/CDMA1X: BC0

• GSM/GPRS/EDGE: 900/1800MHz

Module Qualcomm 4G-GPS CAT4 4G ZTE CAT4 4G EG25-G
BAND • LTE FDD: B1/3/5/8

• LTE TDD: B34/38/39/40/41

• WCDMA: B 1/8

• TD-SCDMA: B 34/39

• EVDO/CDMA1X: BC0

• GSM/GPRS/EDGE: 900/1800MHz

• LTE FDD: B1/3/5/8

• LTE TDD: B34/38/39/40/41

• LTE FDD: B1/3/5/8

• LTE TDD: B34/38/39/40/41

TE-FDD: B1/B2/B3/B4/B5/B7/B8/B12/B13/B18/

B19/B20/B25/B26/B28

LTE-TDD: B38/B39/B40/B41

UMTS: B1/B2/B4/B5/B6/B8/B19

GSM: B2/B3/B5/B8

Connect to Qualcomm 4G LTE (USB interface):

5008_CM5_2ETH_79.jpg

Connect to EG25-G (MiniPCIe to USB interface):

5008_CM5_2ETH_80.jpg

For testing, using Qualcomm 4G as an example, run lsusb in the terminal. The output is shown below, with the 4G module highlighted in the red box.

Execute the command ifconfig -a in the terminal, and the displayed results are as follows:

The USB0 shown in the figure above is the Qualcomm 4G module. If it is a CAT4 4G or ZTE CAT4/CAT4-EU module, the OS will recognize it as eth2 (the number "2" may vary depending on the number of other wired networks present).

Then we will test the 4G network connection. If the wired Ethernet port is also connected to the router at this time, before testing the 4G connection, we first check the routing table by executing the route command. We can see that usb0 is listed first, so the OS prioritizes internet access through the 4G module:

5008_CM5_2ETH_42.jpg

We can now successfully ping both the IP address and the domain name, confirming that the 4G module is working correctly.

5008_CM5_2ETH_43.jpg

Open https://www.speedtest.cn/ to conduct a speed test, and the results are as follows:

5008_CM5_2ETH_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.

For other operations of the 4G module, please refer to: 0024 M4GUSB.

V. Work with OpenWrt

The version of the OpenWrt we tested with is: openwrt-bcm27xx-bcm2712-rpi-5-squashfs-sysupgrade-linux-6.6.90-USBlan-20250519.img.gz。

The CM5B_2ETH expansion board can be configured as follows: the native Gigabit Ethernet port as LAN, and the expanded Gigabit Ethernet port as WAN.

5.1 Preparation

OpenWrt uses the expansion board's native Gigabit port as LAN by default. Connect the Gigabit Ethernet to the PC's network port. After the OS boots up, go to Windows Settings, find Network & Internet, and open the connected network under Ethernet to view the default gateway IP address. This address is the access address for the OpenWrt's configuration page. As shown in the figure, the tested address in this article is 192.168.198.1.

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

5.2 Set up WAN Port

The extended Gigabit Ethernet port on the expansion board is recognized as eth1 in the OS. We need to set eth1 as the WAN.

Click "Network - Interfaces" - "Add new interface...":

Set the "Name" to "WAN" (customizable), select "DHCP Client" for the "Protocol", choose "eth1" for the "Device", and then click the "Create Interface" button.

In the "Firewall Settings", set "Create/Assign firewall-zone" to "wan", then click "Save":

Save and return to the previous page, then click "Save & Apply".

With this, the network interface setup is complete. At this point, connect the expanded Gigabit Ethernet port to the upstream router (200Mbps broadband), wait a moment, and you will see the extended Gigabit Ethernet port (eth1) obtain an IP address:

Now that the PC is online, we can run a speed test on the speed test website, 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.

5.3 Extend the 4G module

The expansion board adds a built-in 4G LTE module via the onboard USB2.0 1.25mm-4P interface. The OpenWRT can be configured to use 4G as WAN and the native Gigabit Ethernet as LAN. We use Qualcomm 4G for test. The configuration method is the same as setting up an Ethernet WAN.

5.3.1 Set the 4G module as WAN

Connect the native Gigabit Ethernet port to the PC and power on the OS. Click on "Services - Terminal," then log in to the terminal. The default username is root, and the password is the "Router Password" of OpenWrt (by default, there is no password).

Execute ifconfig -a, and the result is as follows:

5008_CM5_2ETH_46.jpg

5008_CM5_2ETH_47.jpg

usb1 is the Qualcomm 4G module, but no IP address is visible. This is normal because the setup is not yet complete.

Click "Network - Interfaces" - "Add new interface...":

Configure as shown in the figure (the "Name" can be customized), then click "Create Interface".

In the "Firewall Settings", set "Create/Assign firewall-zone" to "wan", then click "Save":

Return to the previous page, click "Save & Apply":

So we have configured the 4G module as a WAN port. After a short wait, we can see that the 4G module has obtained an IP address:

Then we return to the terminal and execute ifconfig -a, with the following result:

It can be seen that usb1 has obtained an IP address.

Pinging the domain name is successful, and the 4G module is working normally:

Now the properties of the PC's network adapter connected to the LAN port show that it can access the Internet.

Now that the PC is online, we can run a speed test on the speed test website

5008_CM5_2ETH_55.jpg

5.3.2 Set the extended Gigabit Ethernet port as LAN

The CM5B_2ETH expansion board also features an expanded Gigabit Ethernet port, which can be configured as a LAN port here. This allows the 4G module to serve as the WAN, while the expansion board provides dual LAN outputs.

Go to "Network - Interfaces - Devices", click "Configure..." after "br-lan":

In the "Bridge ports" section, select "eth1" (the expanded Gigabit port), then click the "Save" button.

Return to the previous page, click "Save & Apply":

So we have also configured the expanded Gigabit Ethernet port (eth1) as a LAN port.

5.4 Configure the CM5's built-in WiFi as an AP

The OS has already configured a LAN connection for CM5's WiFi by default, which is the hotspot with the SSID "rpi5" in the diagram below.

We can directly connect to this hotspot (no password) using a mobile phone.

If you need to set up a hotspot yourself, please follow the steps below:

Click "Network - Wireless" to enter the wireless settings, then click the "Add" button, and the "Edit wireless network" page will pop up.

Set the "Operating frequency" as shown in the figure. Under "Interface Configuration - General Setup," enter the hotspot name (which can be customized) in the "ESSID" field, and check the "lan" option in the "Network" section.

Click on "Wireless Security," then set the encryption type (e.g., "WPA2-PSK (strong security)") and the password:

Click on "Interface Configuration - Advanced Settings", enter "wlan1" (the name can be customized) in the "Interface name" field, and then click "Save":

Return to the previous page, click "Save & Apply":

Click the "Disable" button in the red box to deactivate the default hotspot, as only one hotspot can be active at a time.

Wait a moment, and you can connect to this hotspot using your mobile phone or other mobile devices.

After testing the speed on a speed test website, 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.

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