跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
Mcuzone Wiki
搜索
搜索
登录
个人工具
登录
查看“0009 MP2.5GD(Dual 2.5G ETH)”的源代码
页面
讨论
大陆简体
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
←
0009 MP2.5GD(Dual 2.5G ETH)
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[0009 MP2.5GD(双2.5G以太网)|切换语言为中文]] == '''Keywords''' == Raspberry Pi 5, PCIe, Switch, RL8125, 2.5Gbps, Ethernet, iperf3 Ethernet Speed Test == '''I. Introduction''' == The Raspberry Pi 5 is equipped with a 16-pin PCIe interface, through which we can attach various PCIe devices. This time, we expand the PCIe interface into two PCIe ports using a PCIe Switch chip, and then through two RTL8125 chips, we achieve dual 2.5Gbps Ethernet expansion. The expansion board is driver-free under the Raspberry Pi OS and is automatically recognized as eth1 and eth2 upon power-up. If using Ubuntu system, the RTL8125 driver needs to be installed first in order to use the board. == '''II. Hardware Spec''' == 1. Use a 0.5mm 16-pin PCIe cable to connect to the PCIe interface on the Raspberry Pi 5. 2. Using a PCIe Switch chip to expand one PCIe port into two, extending to two RTL8125 2.5Gbps Ethernet ports. 3. The RTL8125 2.5G Ethernet adapter is driver-free in the official Raspberry Pi OS and OpenWrt systems, but requires driver installation in Ubuntu systems. 4. The onboard 2.54-2p auxiliary power supply interface can be used to provide additional power if there is insufficient power when both 2.5G Ethernet ports are operating at full load simultaneously. 5.Gold immersion PCB process, lead-free production, certified by UL, compliant with ROHS standards, and has a fire rating of 94V-0. 6. The board has four M2.5 mounting holes, with a recessed design on the top of the board to facilitate the use of the 40-Pin GPIO. == '''III. Software Spec''' == === 3.1Overview === This document uses the Raspberry Pi OS, Ubuntu system and OpenWrt system for testing. 1)The version of the Raspberry Pi OS is: 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 2)The version of the Ubuntu system is: ubuntu-24.04-preinstalled-desktop-arm64+raspi.img.xz You can download the Ubuntu system in: https://ubuntu.com/download/raspberry-pi 3)The version of the OpenWrt system is: openwrt-bcm27xx-bcm2712-rpi-5-squashfs-sysupgrade-linux-6.1.100-20240805.img.gz === 3.2 System flashed onto the SD (TF) card === [[0005 MPS2242 2280 2280P(Single SSD Expansion Board)#3.2 Boot from TF card|Click here to read the instructions for System flashing]] == '''IV. Work with Raspberry Pi OS''' == === 4.1 4.1 Internet test === The 2.5G Ethernet ports on the MP2.5GD expansion board are plug-and-play without requiring drivers under Raspberry Pi OS. Once the system is up, excute the command <code>ifconfig -a</code> in the Raspberry Pi terminal, and the 2.5G Ethernet ports will be recognized as eth1 and eth2: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_04.jpg Open https://www.speedtest.cn/ on the PC to test speed. The speed test results for the 2.5G Ethernet ports connected to the Internet (200M broadband) are as follows: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_48.jpg http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_49.jpg '''''Note: The speed test can be affected by the network environment and the testing method. Speeds should be considered based on actual results; this test is for reference only.''''' === 4.2 2.5G intranet test === Install the network speed testing tool iperf3: <code>sudo apt install iperf3</code> http://www.mcuzone.com/wiki/0008_MPS2_5G/0008_MPS2_5G_04.jpg Use iperf3 to perform speed tests between the Raspberry Pi OS and the PC through a 2.5G router. '''''4.2.1 The speed test results for eth1 are as follows:''''' When Raspberry Pi OS acts as a client, the speed is about 2.02 Gbps: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_07.jpg When Raspberry Pi OS acts as a server, the speed is about 1.84 Gbps: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_08.jpg '''''4.2.2 The speed test results for eth2 are as follows:''''' When Raspberry Pi OS acts as a client, the speed is about 2.01 Gbps: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_09.jpg When Raspberry Pi OS acts as a server, the speed is about 1.84 Gbps: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_10.jpg '''''Note: The speed test can be affected by the network environment and the testing method. Speeds should be considered based on actual results; this test is for reference only.''''' === 4.3 Fix the MAC address of the 2.5G Ethernet port === The 2.5G Ethernet port uses the RTL8125 network card, and during use, the MAC address is not fixed. Each time the device is powered on again, the MAC address changes randomly. The following explains how to set a fixed MAC address for the RTL8125 network card. This explanation also applies to the Ubuntu system. First, check the identification information of the RTL8125 network card in terminal: <code>ipconfig -a</code> http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_46.jpg Here, two RTL8125 network cards are identified as eth1 and eth2, but in practice, the names recognized by the system might be different. Then input: <code>sudo mousepad /etc/systemd/system/macspoof@eth1.service</code> Or: <code>sudo nano /etc/systemd/system/macspoof@eth1.service</code> eth1 is the name recognized by the system for the network card shown above. Executing the above command will create a new document, then enter the following text: [<code>Unit]</code> <code>Description=MAC Address Change %I</code> <code>Wants=network-pre.target</code> <code>Before=network-pre.target</code> <code>BindsTo=sys-subsystem-net-devices-%i.device</code> <code>After=sys-subsystem-net-devices-%i.device</code> <code>[Service]</code> <code>Type=oneshot</code> <code>ExecStart=/usr/bin/ip link set dev %i address xx:xx:xx:xx:xx:xx</code> <code>ExecStart=/usr/bin/ip link set dev %i up</code> <code>[Install]</code> <code>WantedBy=multi-user.target</code> Here, "xx:xx:xx:xx:xx:xx" represents the MAC address you wish to assign. You can determine it according to the MAC address format (make sure it does not duplicate the MAC address of other network devices). After setting it, save and exit. Then execute the following command to enable the service: <code>sudo systemctl enable macspoof@eth1.service</code> This completes the fixation of the MAC address for eth1. For other network interfaces such as eth2, follow the same steps as described above. After completing all operations, restart the system. Once the system has finished rebooting, execute <code>ipconfig -a</code> to see that the MAC address has been successfully changed: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_47.jpg == '''V. Work with Ubuntu System''' == === 5.1 Install the RTL8125 driver in Ubuntu system === The 2.5G Ethernet port on the MP2.5GD expansion board is not plug-and-play in Ubuntu system and requires the installation of the RTL8125 driver. Since the wireless network card module of the Raspberry Pi 5 is plug-and-play in the Ubuntu system, we need to use the wireless network card to connect to a wireless network: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_11.jpg You can also use an Ethernet cable to connect to the native Ethernet port on the Raspberry Pi 5. The ifconfig tool is not installed by default in Ubuntu system, so it needs to be installed manually: <code>sudo apt install net-tools</code> http://www.mcuzone.com/wiki/0008_MPS2_5G/0008_MPS2_5G_13.jpg Excute <code>ifconfig</code> -a, and you can see that the 2.5G network cards is not displayed at this time. http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_12.jpg Next, we will begin installing the RTL8125 driver: First, you need to update the system: <code>sudo apt-get update</code> http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_13.jpg Next, prepare the compilation environment: <code>sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms</code> http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_14.jpg Then install the driver: <code>sudo apt-get install r8125-dkms</code> http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_15.jpg After installation is complete, excute: <code>sudo modprobe r8125</code> http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_16.jpg Enter <code>ifconfig -a</code> to see two network interfaces called enxxx, which indicates that the 2.5G network cards driver has been successfully installed: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_17.jpg === 5.2 Internet test === Open https://www.speedtest.cn/ on the PC to test speed. The speed test results for the 2.5G Ethernet ports connected to the Internet (200M broadband) are as follows: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_18.jpg http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_19.jpg '''''Note: The speed test can be affected by the network environment and the testing method. Speeds should be considered based on actual results; this test is for reference only.''''' If the built-in Firefox browser in Ubuntu system runs very slowly or frequently becomes unresponsive, it is recommended to install the lightweight browser Falkon: <code>sudo apt install falkon</code> === 5.3 2.5G intranet test === Install the network speed testing tool iperf3: <code>sudo apt install iperf3</code> http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_20.jpg Use iperf3 to perform speed tests between the Raspberry Pi OS and the PC through a 2.5G router. '''''The speed test results for enp3s0 are as follows:''''' When Ubuntu system acts as a client, the speed is about 2.34 Gbps: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_21.jpg When Ubuntu system acts as a server, the speed is about 1.83Gbps: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_22.jpg '''''The speed test results for enp4s0 are as follows:''''' When Ubuntu system acts as a client, the speed is about 2.35 Gbps:http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_23.jpg When Ubuntu system acts as a server, the speed is about 1.83Gbps: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_24.jpg '''''Note: The speed test can be affected by the network environment and the testing method. Speeds should be considered based on actual results; this test is for reference only.''''' == '''VI. Work with OpenWrt System''' == === 6.1 Overview === Under the OpenWrt system, '''the two 2.5G Ethernet ports on the MP2.5GD expansion board can serve as LAN ports''', while '''the native Gigabit Ethernet port on the Raspberry Pi 5 can serve as the WAN port'''. This way, it can be configured as a dual-LAN-port 2.5G router, allowing devices connected to the LAN ports to achieve transfer speeds of up to 2.5 Gbps between them. === 6.2 Preparation === After flashing the OpenWrt system and powering it up, we connect an Ethernet cable from the Raspberry Pi 5's built-in Ethernet port to the PC's Ethernet port. Once the connection between the PC's network card and the Raspberry Pi 5's Ethernet port is successful, we find Network and Internet settings in Windows, then open the connected network under Ethernet to view the default gateway IP address. This address is the backend configuration page address for the OpenWrt system. As shown in the figure, the address for this test is 192.168.198.1: http://www.mcuzone.com/wiki/2001_CM4_Ultra/2001_CM4_Ultra_53.jpg Then open a web browser and enter 192.168.198.1 to access the OpenWrt system. The default username is <code>root</code>, and the default password is <code>password</code>: http://www.mcuzone.com/wiki/2001_CM4_Ultra/2001_CM4_Ultra_54.jpg === 6.3 Configuration and Application of the MP2.5D Dual LAN Ports === Go to "System - TTYD Terminal," enter the <code>ifconfig -a</code> command, and you can see three network interfaces, eth0, eth1 and eth2. eth0 is the native Ethernet port of the Raspberry Pi 5, eth1 and eth2 ate the 2.5G Ethernet ports of the expansion board: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_25.jpg Open "Network - Interfaces", and click "EDIT": http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_26.jpg In the "Physical Settings", select eth1 and eth2 (2.5G Ethernet ports), then click the "SAVE & APPLY" button: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_27.jpg Remove the network cable from the native Ethernet port of the Raspberry Pi 5 and insert it into any of the 2.5G Ethernet ports. After the PC's network card successfully connects to the 2.5G port, refresh the management page, click on "Network - Interfaces", and then click "EDIT": http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_28.jpg In the "Physical Settings", remove the checkmark from in front of eth0, and then click the "SAVE" button: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_29.jpg Go back to "Network - Interfaces", and click "Add new interface": http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_30.jpg Set "Name of the new interface" as WAN, choose "DHCP client" for "Protocol of the new interface," select "eth0" for "Cover the following interface," and then click the "SUBMIT" button: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_31.jpg In the "Firewall Settings", select the WAN and then click the "SAVE & APPLY" button: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_32.jpg Plug the network cable connected to the Internet into the native Ethernet port of the Raspberry Pi 5, then go back to "Network - Interfaces". After a moment, you will see that the newly created WAN interface has obtained an IP address. This way, the PC can access the internal network through the expansion board: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_33.jpg 测速(200M宽带)结果如下: Open https://www.speedtest.cn/ on the PC to test speed. The speed test results of the Internet (200M broadband) are as follows: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_38.jpg Connect two PCs, each equipped with a 2.5G network card, to eth1 and eth2 respectively (To differentiate for the purposes of this document, one PC uses the Windows system, and the other uses the Ubuntu system. You can choose the appropriate system based on ypur need), and use iperf3 to perform a speed test. The results are as follows: http://www.mcuzone.com/wiki/0009_MP2_5GD/0009_MP2_5GD_43.jpg In practical tests, when Windows serves as the client and Ubuntu as the server, the speed is about 1.68 Gbps; when Windows serves as the server and Ubuntu as the client, the speed is about 2.17 Gbps. '''''Note: The speed test can be affected by the network environment and the testing method. Speeds should be considered based on actual results; this test is for reference only.''''' === 6.4 Other Applications === 树莓派5的无线模块可以作为无线AP,也可以作为无线WAN口,关于这些应用的实现,请参考下列链接: The wireless module of the Raspberry Pi 5 can function as a wireless AP or as a wireless WAN port. For the implementation of these applications, please refer to the following link: [[0008 MPS2.5G(SSD and 2.5G ETH)#6.4 Use the Raspberry Pi's built-in WiFi as a wireless AP (in master mode)|1. Use the Raspberry Pi's built-in WiFi as a wireless AP (in master mode)]] [[0008 MPS2.5G(SSD and 2.5G ETH)#6.5 Use the Raspberry Pi's built-in WiFi as a Client|2. Use the Raspberry Pi's built-in WiFi as a Client]] {{Contact_Us_icon}}
本页使用的模板:
模板:Contact Us icon
(
查看源代码
)
返回
0009 MP2.5GD(Dual 2.5G ETH)
。
开关有限宽度模式