跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
Mcuzone Wiki
搜索
搜索
登录
个人工具
登录
查看“0001 MPRG4 EN”的源代码
页面
讨论
大陆简体
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
←
0001 MPRG4 EN
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[0001 MPRG4|切换语言为中文]] =='''Keywords'''== Raspberry Pi 5 MPRG4 Quad-Gigabit Ethernet Expansion Board Pi OS Ubuntu OpenWrt software router switch =='''I. Introduction'''== The MPRG4 (also known as MPG4) is a Quad-Gigabit Ethernet expansion board designed specifically for the Raspberry Pi 5, utilizing the PCIe interface. This expansion board connects the RTL8111H PCIe Ethernet controller via the PCIe interface, and then extends into four Gigabit Ethernet ports through a switch chip. It can be used in the following scenarios: 1. In Raspberry Pi or Ubuntu OS, one network port connected to the upstream router, and the remaining three network ports providing network access to other nearby devices (all four network ports should be in the same subnet), it can save an additional external switch and power supply. 2. In OpenWrt OS, configure the native gigabit port of RPI5 as the WAN port, and the four extended ports as LAN ports, providing network access for up to four devices. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_74.jpg Note1: The four Gigabit ports have independent IP addresses but are located within the same subnet, with addresses assigned by the upstream router from its address pool. If the upstream router is not connected, Raspberry Pi or Ubuntu OS will be unable to obtain a valid IP address (they will receive an IP address in the range of 169.254.xx.xx, indicating that there is only a physical connection but no valid IP address). Note2: In the Raspberry Pi or Ubuntu OS, if the network cable is not plugged in at startup, the system will obtain an IP address like 169.254.xx.xx after a while. At this time, even if you plug in a network cable from an upstream router, the system will not obtain a valid IP address. You need to press the reset button to acquire a valid IP address again. The expansion board is driver-free on the official Raspberry Pi OS and OpenWrt. However, on the Ubuntu OS, you need to install the driver. =='''II. Hardware Resources'''== 1. It connected via a 16-pin 0.5mm PCIe to Raspberry Pi 5. 2. Onboard RTL8111H chip, enabling PCIe to Gigabit Ethernet. 3. Four Gigabit Ethernet. 4. A PWR LED. 5. A switch reset button (Switch RST). 6. One extension power button for Raspberry Pi 5 (Raspberry Pi 5 cotians a power button, with additional reserved pinholes for extension power buttons). 7. Size: 86mm*75mm. 8. The circuit board uses an immersion gold process, is produced in a lead-free manufacturing process, and the material is UL and RoHS certified with a fire resistance rating of 94V-0. 9. Optional metal case. 10. Optional 3D-printed base to protect your desk from scratches.9. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_68.jpg http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_69.jpg http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_70.jpg http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_71.jpg http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_72.jpg http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_73.jpg A 4G module can be installed on top of the Raspberry Pi 5 to set up a 4G router. The 4G module is an optional module. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_75.jpg http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_98.jpg Note: The four-port block cannot be used to connect to an upstream router on a different subnet, you can only select any one port to connect to the upstream router. The remaining three ports are used to connect downstream devices that need network access, such as computers or development boards. These four Ethernet ports are internally connected to a switch. == '''III. Work with Raspberry Pi OS''' == Under the Raspberry Pi OS, the necessary drivers are integrated by default, so no additional driver installation is required, and you can use it directly. 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 === 3.1 View Ethernet === After the system starts, execute <code>ifconfig -a</code>, and the red box will indicate the extended RTL8111H Ethernet card (four Gigabit Ethernet ports): http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_51.jpg By executing <code>ifconfig -a</code>, you can see that eth0 is the built-in Ethernet port of the Raspberry Pi 5; the eth1 device is the extended RTL8111H network card (which provides four Gigabit Ethernet ports). http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_52.jpg === 3.2 Test Ethernet === Download iperf3(Windows version): http://www.mcuzone.com/down/Software.asp?ID=10000634 Install iperf3 on Linux: <code>sudo apt-get install iperf3</code> After installation, connect one of the four extended Gigabit Ethernet ports to the upstream router, and use iperf3 to test the speed with a PC within the same local network. In client mode, the speed is about 942 Mbps. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_53.jpg In server mode, the speed is about 948 Mbps. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_54.jpg It can basically achieve gigabit speed. '''''Note1: 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.''''' '''''Note2: The four-port switch is a physical layer device, and is not visible in the system.''''' == '''IV. Work with Ubuntu OS''' == The process of loading network card drivers in Ubuntu 23.10 is relatively complex and cumbersome, and it is not recommended for use. It is recommended to use Ubuntu 24.04. The version of the Ubuntu OS is: ubuntu-24.04-preinstalled-desktop-arm64+raspi.img.xz You can download the Ubuntu OS in: https://ubuntu.com/download/raspberry-pi ===4.1 Install drivers=== On Ubuntu 24.04, you can directly download driver source code and compile it. The steps are as follows: '''Connect the native Ethernet port of the Raspberry Pi 5 to the upstream router.''' Update the system: <code>sudo apt-get update</code> http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_55.jpg Preparing the build environment: <code>sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms</code> http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_56.jpg http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_58.jpg Download and compile driver: <code>sudo apt install r8168-dkms</code> <code>sudo modprobe r8168</code> http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_59.jpg http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_60.jpg After the driver installation is complete, install the net-tools package: http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_57.jpg After installation, you can use ifconfig. By executing <code>ifconfig -a</code>, you should see devices starting with enp, which are the four expanded Gigabit Ethernet ports. This indicates that the driver has been installed successfully. At this moment, the four extended Gigabit Ethernet ports are not connected to the upstream router, so they have not obtained IP addresses. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_61.jpg === 4.2 Test Ethernet === Install iperf3 on Linux: <code>sudo apt-get install iperf3</code> After installation, '''connect one of the four expanded Gigabit Ethernet ports to the upstream router''', restart the system, and run `ifconfig -a`. You should see that the expanded Gigabit Ethernet port has obtained an IP address. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_64.jpg Use iperf3 to test the speed with a PC within the same local network. In client mode, the speed is about 943 Mbps. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_62.jpg In server mode, the speed is about 948 Mbps. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_63.jpg It can basically achieve gigabit speed. '''''Note1: 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.''''' '''''Note2: On an Ubuntu OS, the RTL8111H network card is recognized with a name like enxxxx, while the same switch used as a physical layer chip does not appear in the network card list.''''' == '''V. Work with OpenWrt''' == === 5.1 Overview === The MPRG4 expansion board can be configured in OpenWrt as a switch with one input and four outputs. We can configure the Raspberry Pi5's built-in Ethernet port as the WAN port, and use the four Ethernet ports on the expansion board as LAN ports, which can be used by other devices to obtain IP addresses within the same subnet. System version: openwrt-bcm27xx-bcm2712-rpi-5-squashfs-sysupgrade-linux-6.1.100-20240805.img.gz === 5.2 Preparation === We connect the Raspberry Pi 5's built-in port to the PC's Ethernet port, then power on and start the system. Afterward, we navigate to Network and Internet in the Windows settings, and under Ethernet, we open the connected network to view the IP address of the default gateway. This address is the backend configuration page address for the OpenWrt system. As shown in the image, the address tested in this article is 192.168.198.1: http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_14.jpg Open a web browser, enter 192.168.198.1, and access the OpenWrt system configuration page. The default username is <code>root</code>, and the default password is <code>password</code>. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_50.jpg After logging into the OpenWrt, click on "System - TTYD Terminal", We can then access the terminal that comes with OpenWrt, and log in using the username <code>root</code> and the password <code>password</code>. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_65.jpg Run <code>ifconfig -a</code>, and you can see that the extended Gigabit Ethernet port (eth1) has been recognized: http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_66.jpg === 5.3 Configure the WAN port and LAN ports === By default, the native Ethernet port (eth0) of the Raspberry Pi 5 is a LAN port. Now, we need to set the Raspberry Pi 5's native Ethernet port (eth0) as the WAN port and the extended Gigabit Ethernet port (eth1) as the LAN port. The procedure is as follows: We click on "'''Network''' - '''Interface'''". http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_23.png Then we click to '''Add a new interface''', set the name and interface protocol, and set the WAN port to eth0. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_24.png Click "'''Submit'''" and then select "'''WAN'''" in the '''Firewall settings'''. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_25.png After configuration it complete, click "'''Save'''". Be careful, do not click "Save & Apply", or you will not be able to enter the system. Click "'''Back'''" to return to the overview, then click on LAN port modification. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_26.png Set the interface to eth1 in the "Physical Settings". http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_27.png After configuration, we click "'''Save & Apply'''". Please note that since the network settings are being changed, it will continuously display "Applying changes". This is not a malfunction, and after waiting for a while, we can proceed to the next step.http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_28.png The OpenWrt is currently unavailable due to changes in the network interfaces. You need to connect the new WAN port to the upstream router, then connect the new LAN port to the downstream network devices, reboot the system, and log back into the OpenWrt. After configuration, connect the new WAN port (the native Ethernet port on the Raspberry Pi, eth0) to the upstream router, then connect the new LAN port (the extended Gigabit Ethernet port, eth1) to downstream network devices (such as PCs, etc.). Restart the system, and then log into the OpenWrt. === 5.4 Ethernet test === We will connect two of the four LAN ports to two PCs to simply test the network bandwidth. Using iperf3 to test between two computers shows that the test results are normal. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_29.png http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_30.png == '''VI. Radxa Rock 5C (RK3588S2) with MPRG4''' == === 6.1 Overview === The Radxa Rock 5C is designed based on the RK3588S2, dimensions are compatible with the Raspberry Pi 5. It have one gigabit ethernet port and four USB ports, along with a PCIe interface compatible with the Raspberry Pi 5. This interface allows us to expand with various PCIe extension boards designed for the Raspberry Pi 5. In this demonstration, we are using a MRG4 board. System version: rock-5c_bookworm_kde_b1.output.img.xz You can download it in github: https://github.com/radxa-build/rock-5c/releases/tag/rsdk-b1 http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_77.jpg === 6.2 Preparation === 1. Upon system startup, the username and login password for the default account are both <code>radxa</code>: http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_78.jpg 2. Entering the system, find Konsole in the menu to access the terminal. 3. Execute <code>lspci</code> to ensure that the device information for RTL8111 is visible (the red box): http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_79.jpg (If you cannot see it, check the reliability of the FPC connection. Note that the FPC cable has an orientation, with one side indicating that it should be connected to the RPi5 on the Rock 5C ). 4. Connect the native Gigabit Ethernet port of the Radxa Rock 5C to the upstream router, then execute: <code>sudo apt-get update</code> <code>sudo apt-get upgrade</code> http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_81.jpg http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_80.jpg <code>sudo apt-get install net-tools</code> http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_82.jpg You can use the <code>ifconfig</code> after installing net-tools. Of course, you can also use other tools to operate the network. === 6.3 Install drivers and test Ethernet === Using DKMS to install the drivers. <code>sudo apt-get install r8168-dkms</code> <code>sudo modprobe r8168</code> http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_83.jpg After installing the drivers, execute <code>sudo ifconfig -a</code> to check for network cards starting with enp, which indicates the RTL8111 network card. Note that the switch is a physical layer device and cannot be seen with ifconfig. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_84.jpg Connect one of the four extended Gigabit Ethernet ports to the upstream router, restart the system, and then execute <code>sudo ifconfig -a</code>. You should see that the extended Gigabit Ethernet port has correctly obtained an IP address. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_86.jpg Confirm network connectivity by using ping packets: http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_85.jpg Now, the network card drivers has been successfully installed and is functioning normally. Install iperf3 on Linux: <code>sudo apt-get install iperf3</code> After installation, '''connect one of the four expanded Gigabit Ethernet ports to the upstream router''', restart the system, use iperf3 to test the speed with a PC within the same local network. In client mode, the speed is about 942 Mbps. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_87.jpg In server mode, the speed is about 947 Mbps. http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_88.jpg It can basically achieve gigabit speed. '''''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.''''' === 6.4 Test 4G module === 我司配套的4G模块均具有免驱免拨号、系统自动识别、即插即用等功能。Rock 5C可配CAT4 4G和高通4G,在系统中自动识别成以enx开头的设备。 ==== 6.4.1 联网4G ==== 将4G模块通过USB接口与Rock 5C连接,启动系统,在终端中执行lsusb,显示如下,红框处即为4G模块: CAT4 4G: http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_89.jpg 高通4G: http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_90.jpg 下面以CAT4 4G为例,将Rock 5C的原生网口和四个扩展千兆网口中的一个接入上级路由器,重启系统,执行<code>sudo ifconfig -a</code>,显示如下: http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_91.jpg 可见已经正确获取了IP(红框处)。 执行<code>ip route</code>,可见enx开头的设备排在第一位,因此优先通过4G网络上网: http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_92.jpg 此时我们ping IP和域名,均成功,说明4G模块工作正常: http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_93.jpg 打开<nowiki/>https://www.speedtest.cn/<nowiki/>进行网速测试,结果如下: http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_94.jpg '''''注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。''''' ==== 6.4.2 网络优先级的修改 ==== 以CAT4 4G为例,上一节我们查看了路由表,默认情况下,优先通过4G网络上网。 如果要优先使用有线网络上网的话,可以运行命令: <code>sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1</code> 这两条命令(以“&&”分隔)的解释: <code>sudo ip route del default</code>:删除路由表中的默认路由; <code>sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1</code>:添加有线网络的网关为新的默认路由(网关地址以实际为准)。 执行完毕后,再执行<code>route</code>,查看路由表,目前的默认路由为有线网络的网关(end1排第一位,即Rock 5C的原生网口): http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_95.jpg 这样网络就默认走有线网络了,如果需要改回默认走4G网络,请运行: <code>sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 192.168.6.1</code> 或者重启系统即可。 其中192.168.6.1为4G模组的默认网关,请以实际为准。 '''''注意,重启后路由表还是会恢复原状,所以如果重启后要网络继续默认走有线网络,需要再执行一次<code>sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1</code>。''''' ==== 6.4.3 AT命令操作 ==== 以CAT4 4G为例,使用<code>lsusb</code>查看USB设备,红框处即为4G模组: http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_89.jpg 记下4G模块的ID值:1286 4e3d 使用下列命令打开ttyUSB串口,其中echo后面的值就是上面记录的ID值: <code>sudo modprobe option</code> <code>sudo sh -c 'echo 1286 4e3d > /sys/bus/usb-serial/drivers/option1/new_id'</code> 执行上述两条命令之后执行: <code>ls /dev/ttyUSB*</code> 此时应该能看到dev设备下有ttyUSB0-3四个设备: http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_96.jpg 然后用串口工具打开特定串口(AT命令串口): 安装minicom工具: <code>sudo apt-get install minicom</code> 通过minicom打开AT命令串口: <code>sudo minicom -D /dev/ttyUSB1</code> (注意:使用哪个串口,应以在进入此串口后,可输入运行AT命令,显示不乱码,不乱跳结果为准) 如果需要查看回显,请键入命令:<code>ate1</code>,然后回车,继续键入其它命令,回车可以看到结果。 http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_97.jpg 常用AT命令: 1. 检查SIM卡是否识别到: <code>at+cpin?</code> 返回ready表示卡已识别,返回error要检查硬件 2. 检查天线信号质量: <code>at+csq</code> 返回值在26-31表示信号OK,信号满格31;返回值在20-25表示信号勉勉强强;返回值在20以下表示信号比较糟糕或者天线没接 3. 检查注网情况: <code>at+cops?</code> 正常应该返回运营商代码和7,7代表4G。 注意,以上命令只有<code>at+csq</code>不要加问号,另外两条命令需要加问号。 4. 查看4G模块的IMEI码: <code>at+cgsn</code> 5. 重启4G模块(有时候如果重插SIM卡,热插拔不一定管用,可以用这个reset命令来复位模块): <code>at+reset</code> 6. 关闭射频: <code>at+cfun=0</code> 开启射频: <code>at+cfun=1</code> 上述两条命令成对使用,可以在不重启4G模组的情况下让模组重新注网。 ==== 6.4.4 修改4G模组的IP地址 ==== 如果出厂默认的4G IP地址和用户使用的IP地址有冲突,或有修改IP地址的需求,可按照下列步骤进行修改: '''CAT4 4G模块:''' 执行AT命令: <code>AT+ROUTEIP=<newip></code> 注意,只支持192.168.x.1这样格式的地址,如果设置了<code>AT+ROUTEIP=192.168.3.1</code>,最终获得的IP为192.168.3.100,修改完后需断电重启系统。 查询当前IP:<code>AT+ROUTEIP?</code>,返回两个值,前一个为旧IP,后一个为新IP。 测试命令:<code>AT+ROUTEIP=?</code> '''高通 4G模块:''' 将4G模块的IP改为直接获取公网IP即可,请执行AT命令: 设置IP为公网:<code>AT+GTIPPASS=1</code> 设置IP为内网:<code>AT+GTIPPASS=0</code> 查询当前IP为公网还是内网:<code>AT+GTIPPASS?</code> 修改IP完毕后需要断电重启才能生效。 {{Contact_Us_icon}} [http://wiki.mcuzone.com/index.php?title=0001_MPRG4(Designed_based_on_Raspberry_Pi_5_PCIe)&veaction=edit T]
本页使用的模板:
模板:Contact Us icon
(
查看源代码
)
返回
0001 MPRG4 EN
。
开关有限宽度模式