0001 MPRG4:修订间差异

来自Mcuzone Wiki
 
(未显示3个用户的156个中间版本)
第1行: 第1行:
[http://wiki.mcuzone.com/index.php?title=User_Manual_for_the_Quad-Gigabit_Ethernet_Expansion_Board(MPRG4)for_Raspberry_Pi_5 Change the language to English]
[[0001 MPRG4 EN|Change the language to English]]


== '''关键词:''' ==
== '''关键词''' ==
树莓派5  MPRG4  四千兆网口扩展板  Pi OS  Ubuntu  OpenWrt  软路由  交换机
树莓派5、Raspberry Pi 5、MPRG4、MPG4、RTL8111H、四千兆网口扩展板、RPi OS、Ubuntu、OpenWrt、软路由、交换机、Radxa Rock 5C


== '''一、简介''' ==
== '''一、简介''' ==
MPRG4(或称MPG4)是一款专为树莓派5设计的通过PCIE接口扩展的四千兆网口扩展板。该扩展板通过PCIE接口外挂RTL8111H PCIE网口,然后进一步通过交换机芯片扩展成四路千兆网口。可用于以下几种场景:
MPRG4(或称MPG4)是一款专为树莓派5设计的,通过PCIe接口扩展的四千兆网口扩展板。该扩展板通过PCIe接口外挂RTL8111H PCIe网口,然后进一步通过交换机芯片扩展成四路千兆网口。可用于以下几种场景:


1,树莓派系统或Ubuntu系统下,其中一个网口连接上级路由器,剩余3个网口为附近其它需要联网的设备提供网络接入(四个网口位于同一个网段),可省却一个外挂的交换机和电源。
1. 树莓派系统或Ubuntu系统下,其中一个网口连接上级路由器,剩余3个网口为附近其它需要联网的设备提供网络接入(四个网口位于同一个网段),可省却一个外挂的交换机和电源。


2,OpenWrt软路由系统下,原生千兆配置为WAN口,扩展的四个网口配置为LAN口,可为四台设备提供网络接入服务。
2. OpenWrt软路由系统下,原生千兆配置为WAN口,扩展的四个网口配置为LAN口,可为四台设备提供网络接入服务。


注意1:四个千兆口位于同一个网段,由上游路由器来分配地址池。如果不接上游路由器则在树莓派系统和Ubuntu系统下将无法获取合法IP地址(会收到169.254.xx.xx的IP地址,表示仅有物理网线连接但无合法IP地址)。
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_74.jpg
 
注意1:四个千兆口具备独立IP,但位于同一个网段,由上游路由器来分配地址池。如果不接上游路由器,则在树莓派系统和Ubuntu系统下将无法获取合法IP地址(会收到169.254.xx.xx的IP地址,表示仅有物理网线连接但无合法IP地址)。


注意2:在树莓派系统和Ubuntu系统下如果开机时没有插网线一段时间后系统将会获取到169.254.xx.xx的IP地址,此时即便插入来自上游路由器的网线后系统也获取不到合法IP,需要按一下扩展板上的交换机复位键才能重新获取到合法IP地址。
注意2:在树莓派系统和Ubuntu系统下如果开机时没有插网线一段时间后系统将会获取到169.254.xx.xx的IP地址,此时即便插入来自上游路由器的网线后系统也获取不到合法IP,需要按一下扩展板上的交换机复位键才能重新获取到合法IP地址。
扩展板在树莓派官方OS和openwrt系统是免驱,Ubuntu系统是要安装驱动的。


== '''二、硬件资源''' ==
== '''二、硬件资源''' ==
1,通过16Pin 0.5mm FPC和树莓派5连接;
1. 通过16Pin 0.5mm PCIe FPC线和树莓派5连接;


2,板载RTL8111H芯片,实现PCIE转千兆以太网;
2. 板载RTL8111H芯片,实现PCIe转千兆以太网,再通过交换机芯片外扩;


3,板载交换机芯片,将RTL8111H网口扩展为四个,这四个网口具备独立IP,但隶属于同一个网段;
3. 四路千兆以太网;


4,一盏电源指示灯;
4. 一盏电源指示灯;


5,一个交换机复位键(Switch RST),适用于树莓派系统和Ubuntu系统下开机一段时间后再插入网线获取不到合法IP的情况;
5. 一个交换机复位键(Switch RST)


6,可选3D打印底座,可保护桌面不被划伤;
6. 一个开关机按键(同树莓派5自带开关机按键);


7,可选钣金外壳,美观可靠;
7. 可选3D打印底座,可保护桌面不被划伤;


8,可选外延的树莓派5开关机按键(树莓派5自带开关机按键,同时有预留插针孔用于外延开关机按键);
8. 可选钣金外壳,美观可靠;


9,板子尺寸:约86mmx75mm
9. 可选配4G模块安装在树莓派5上方来搭建4G路由器;


10. 尺寸:约86mmx75mm;线路板沉金工艺无铅生产,板材通过UL和ROHS认证,防火等级94V-0。


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_01.jpg
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_68.jpg


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_07.jpg
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_130.jpg


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_08.jpg
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_70.jpg


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_71.jpg


另可选配4G模块安装在树莓派5上方来搭建4G路由器。
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_72.jpg


注意:四网口无法接入不同网段的上游路由设备,即无法实现一条电信一条移动一条联通这样的多网聚合应用,也无法实现一个网口接外网一个网口接内网网段的桥接应用。
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_73.jpg


== '''三、树莓派系统下使用演示''' ==
树莓派5可以安装4G模块,可设置为4G路由器使用。4G模块是可选模块。
请先连接好FPC线。注意,如果是使用PCIE专用线,上面有标记树莓派5的朝向。


树莓派系统下默认已经集成驱动,可直接使用。
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_75.jpg


1,请根据需要烧写树莓派系统,支持32位和64位系统,由于PCIE接口已被占用,可从TF启动;
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_98.jpg


2,系统启动后,执行ifconfig -a,可看到有eth1设备,即为扩展的RTL8111H网卡:
== '''三、树莓派OS的使用''' ==
树莓派系统下默认已经集成驱动,免驱,可直接使用。


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_02.jpg
树莓派OS的版本为2024-07-04-raspios-bookworm-arm64.img.xz,树莓派OS下载地址:


3,PC连接至四网口中的任意一个,树莓派和PC各自运行iperf3进行测速,基本跑满:
https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit


Windows版iperf3下载:
=== 3.1 查看网络 ===


http://www.mcuzone.com/down/Software.asp?ID=10000634
==== 3.1.1 查看千兆以太网 ====
系统启动后,执行<code>lspci</code>,即可看到RTL8111H网卡(4个千兆网口):


Linux下iperf3安装:
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_51.jpg


<code>sudo apt-get install iperf3</code>
执行<code>ifconfig -a</code>,可看到eth0是树莓派5自身网口;eth1即为扩展的RTL8111H网卡(4个千兆网口):


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_140.jpg


==== 3.1.2 测试4G LTE ====
如果您选配了4G LTE模块,我们的4G模组在树莓派系统下均免驱,自动识别。


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_03.jpg
系统启动后,执行<code>ifconfig -a</code>,显示如下:


'''CAT4 4G:'''


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_141.jpg


四网口之间的iperf3测试也一样可以跑满。
我们执行<code>route</code>,查看路由表,可见eth2排在第一位,即表示此时默认使用4G上网:


注意1:四个端口的交换机是物理层设备,系统下不可见。
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_111.jpg


注意2:如果开机前没有插网线连接至上级路由器,一段时间后即便接入网线也会无法联网(IP地址为169.254.xx.xx),此时需要按一下交换机的复位键(丝印标记为Switch RST).
'''高通4G:'''


== '''四、Ubuntu系统下的使用演示''' ==
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_142.jpg
注意,Ubuntu系统下需要安装RTL8111H,而且要注意的是系统版本和驱动版本强相关,如有驱动编译问题可以联系我们获取已配置好驱动的镜像文件。


驱动编译流程如下:
我们执行<code>route</code>,查看路由表,可见usb0排在第一位,即表示此时默认使用4G上网:


=== 官网下载网卡驱动包: ===
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_114.jpg
https://www.realtek.com/Download/List?cate_id=584  找到此驱动将其下载至本地。


'''ZTE CAT4:'''


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_143.jpg


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_04.jpg]
我们执行<code>route</code>,查看路由表,可见eth1排在第一位,即表示此时默认使用RTL8111H扩展网口上网:


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_115.jpg


如果要优先使用4G上网的话,可以运行命令:


官网最新驱动不适用于Ubuntu23.10系统,如果安装不了请使用我司当前的驱动版本
<code>sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 100.92.213.193</code>


http://www.mcuzone.com/wiki/0001_MPRG4/r8168-8.052.01.tar.bz2
这两条命令(以“&&”分隔)的解释:


=== 加载和验证驱动(Ubuntu23.10下): ===
<code>sudo ip route del default</code>:删除路由表中的默认路由;
下载完成后使用SSH等工具将压缩包放至Ubuntu系统下,接下来按照以下步骤进行驱动安装:


==== 1.更新系统和头文件: ====
<code>sudo route add -net default netmask 0.0.0.0 gw 100.92.213.193</code>:添加4G的网关为新的默认路由(网关地址以实际为准)。
<code>sudo apt-get update</code>


<code>sudo apt-get upgrade</code>
执行完毕后,再执行<code>route</code>,查看路由表,目前的默认路由为4G的网关(eth2排第一位,即ZTE CAT4):


理论上不需要更新头文件,Ubuntu不同于Pi OS,upgrade的时候头文件也会一并更新。
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_116.jpg


如果后续报头文件问题,用以下命令检查头文件:
这样网络就默认走4G网络了,如果需要改回默认走有线网络,请运行:


<code>sudo apt-get install linux-headers-$(uname -r)</code>
<code>sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1</code>


==== 2.准备编译环境: ====
或者重启系统即可。
<code>sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms</code>


==== 3.解压对应的源码到/usr/src: ====
其中192.168.8.1为有线网络的默认网关,请以实际为准。
<code>sudo tar xvf r8168-8.052.01.tar.bz2 -C /usr/src</code>


==== 4.添加一个dkms.conf: ====
'''''注意,重启后路由表还是会恢复原状,所以如果重启后要网络继续默认走4G网络,需要再执行一次<code>sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 100.92.213.193</code>。'''''
添加一个dkms.conf到/usr/src/r8168-8.052.01/dkms.conf,内容如下:


<code>PACKAGE_NAME=Realtek_r8168</code>
以CAT4 4G为例,此时默认使用4G上网,我们ping IP和域名均成功,说明4G模块工作正常:


<code>PACKAGE_VERSION=8.052.01</code>
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_112.jpg


<code>DEST_MODULE_LOCATION=/updates/dkms</code>
打开<nowiki/>https://www.speedtest.cn/<nowiki/>进行网速测试,结果如下:


<code>BUILT_MODULE_NAME=r8168</code>
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_113.jpg


<code>BUILT_MODULE_LOCATION=src/</code>
'''''注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。'''''


<code>MAKE="'make' -C src/ all"</code>
=== 3.2 以太网测速 ===
Windows版iperf3下载:


<code>CLEAN="'make' -C src/ clean"</code>
http://www.mcuzone.com/down/Software.asp?ID=10000634


<code>AUTOINSTALL="yes"</code>
Linux下iperf3安装:


'''''注意:请在本Ubuntu系统下建立此文件,如果在Windows下建立此文件并直接拷入本Ubuntu系统的话会有字符格式问题,从而造成编译无法通过。'''''
<code>sudo apt-get install iperf3</code>


==== 5.编译DKMS: ====
安装完毕后,将四个扩展千兆网口中的一个接入上级路由器,使用iperf3与同一局域网内的PC进行测速:
<code>sudo dkms add -m r8168 -v 8.052.01</code>


<code>sudo dkms build -m r8168 -v 8.052.01</code>
client模式为942Mbps左右:


<code>sudo dkms install -m r8168 -v 8.052.01</code>
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_53.jpg


<code>sudo depmod -a</code>
server模式为948Mbps左右:


<code>sudo modprobe r8168</code>
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_54.jpg
 
基本能达到千兆的速度。


如果dkms.conf的字符格式有问题,在执行add时就会编译错误,之后即使改正了dkms.conf,在执行add时仍会报<code>Error! DKMS tree already contains</code>,此时请执行下列语句,之后再重新执行add:
'''''注意1:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。'''''


<code>sudo rm -r /var/lib/dkms/8812au</code>
'''''注意2:四个端口的交换机是物理层设备,系统下不可见。'''''


如果在执行build时报<code>binary update-secureboot-policy not found</code>,请执行下列语句,之后再重新执行build:
== '''四、Ubuntu的使用''' ==
Ubuntu23.10版本加载网卡驱动的流程比较复杂和繁琐,不建议使用,推荐使用24.04版本。


<code>apt-get install shim-signed</code>
本文使用的Ubuntu系统版本为:ubuntu-24.04-preinstalled-desktop-arm64+raspi.img.xz,Ubuntu系统下载地址:


=== 加载和验证驱动(Ubuntu24.04下): ===
https://ubuntu.com/download/raspberry-pi
=== 4.1 安装驱动 ===
Ubuntu24.04下可以直接下载驱动源码并编译,步骤如下:
Ubuntu24.04下可以直接下载驱动源码并编译,步骤如下:
'''将树莓派5的原生网口连接至上级路由器。'''
更新系统:
<code>sudo apt-get update</code>
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_55.jpg


准备编译环境:
准备编译环境:


<code>sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms</code>
<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


下载编译驱动:
下载编译驱动:
第170行: 第195行:
<code>sudo modprobe r8168</code>
<code>sudo modprobe r8168</code>


'''''注意:如果按照上面的Ubuntu23.10的步骤执行的话,会在在执行build时报<code>ERROR (dkms apport)</code>,从而无法进行下去。'''''
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_59.jpg
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_60.jpg
 
驱动安装完成后,安装net-tools工具:
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_57.jpg
 
安装完毕后,执行<code>ifconfig -a</code>可以看到下图:
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_61.jpg
 
以enp开头的设备,就是4路扩展千兆网口,这样驱动就安装成功了,但是没有获得IP地址。
 
=== 4.2 查看以太网 ===
'''将四个扩展千兆网口中的一个接入上级路由器''',重启系统,运行<code>ifconfig -a</code>,可见扩展千兆网口已经获得了IP地址:
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_64.jpg
 
=== 4.3 以太网测速 ===
iperf3安装:
 
<code>sudo apt-get install iperf3</code>
 
四千兆的一个网口接上级路由器,使用iperf3与同一局域网内的PC进行测速:
 
client模式为943Mbps左右:
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_62.jpg
 
server模式为948Mbps左右:
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_63.jpg


==== 6.验证安装结果: ====
基本能达到千兆的速度。
运行如下命令即可看到enxxx的有线网接口:


<code>ifconfig -a</code>
'''''注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。'''''


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_05.png
=== 4.4 测试4G LTE ===
如果您选配了配套的4G LTE模块,我们所有4G模块在Ubuntu系统里免驱,不用额外装驱动,系统均自动识别成enx.......设备。前面章节已经讲述了如何安装板载千兆以太网驱动,此时,我们执行<code>ifconfig -a</code>,显示如下:


使用iperf3测速,基本能跑满千兆。
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_139.jpg


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_06.png
我们执行<code>route</code>,查看路由表,可见以enx开头的网卡排在第一位,即表示此时默认使用4G上网:


'''''注意,在Ubuntu系统下RTL8111H网卡被识别成了enxxxx的名称,同样的交换机作为物理层芯片并不会显示在网卡列表里面。'''''
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_120.jpg


== '''五、OpenWrt系统下MPRG4扩展板操作演示''' ==
以CAT4 4G为例,此时默认使用4G上网,我们ping IP和域名均成功,说明4G模块工作正常:


=== 概述: ===
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_122.jpg
MPRG4扩展板在OpenWrt系统下可配置为一进四出的交换机模式,树莓派自带网口配置为WAN口,扩展板四个网口可以供其他设备使用,获得同网段的IP地址。


=== 准备工作: ===
打开<nowiki/>https://test.ustc.edu.cn/<nowiki/>进行网速测试,结果如下:
本文使用的OpenWrt系统为:openwrt-bcm27xx-bcm2712-rpi-5-squashfs-sysupgrade-linux-6.1.92-20240530a.img.gz


烧写OpenWrt系统并上电启动后,我们通过树莓派自带网口连接网线至PC网口,然后打开网页浏览器输入192.168.198.1进入OpenWrt系统。
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_121.jpg


默认用户名为<code>root</code>,默认密码为<code>password</code>。
'''''注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。'''''


[[http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_17.png|1250px]]
== '''五、OpenWrt的使用''' ==
MPRG4扩展板在OpenWrt系统下是免驱的,可配置为一进四出的交换机模式,即将树莓派自带网口配置为WAN口,扩展板四个网口做LAN,可以供其他设备使用,获得同网段的不同IP地址。


浏览器地址可以在Windows设置中找到网络和Internet,在以太网中打开连接的网络查看IP地址。
本文使用的OpenWrt系统为:openwrt-bcm27xx-bcm2712-rpi-5-squashfs-sysupgrade-linux-6.1.100-20240805.img.gz


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_18.png
=== 5.1 登录系统 ===
树莓派5自带网口连接至PC,启动系统后,在Windows设置中找到网络和Internet,在“以太网”中查看默认网关的IP地址,这个地址就是OpenWrt系统的登陆地址,如图所示,本文测试的地址为192.168.198.1:


在电脑端使用终端软件(如SecureCRT等)连接开发板,可以看到设备识别:
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_31.jpg


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_21.png
打开网页浏览器,输入192.168.198.1,进入OpenWrt的系统;默认用户名为<code>root</code>,默认密码为<code>password</code>。


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_22.png
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_32.jpg


SecureCRT软件可按照以下方式设置:
登录OpenWrt系统后,点击“系统 - TTYD终端”,我们便可进入OpenWrt自带的终端,使用用户名 <code>root</code>, 以及密码 <code>password</code>登录终端即可:


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_19.png
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_65.jpg


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_20.png
运行<code>ifconfig -a</code>,可见已经识别扩展千兆网口(eth1):


=== 设置OpenWrt系统: ===
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_144.jpg
设备正常识别后,我们打开网络-接口。
 
=== 5.2 设置WAN口和LAN口 ===
默认状态下树莓派5原生网口(eth0)是LAN口。现在我们需要将eth0改为WAN口,扩展千兆网口(eth1)设置为LAN口。操作如下:
 
我们点击“'''网络'''” - “'''接口'''”


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_23.png
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_23.png


随后我们点击添加新接口,设置好名称、接口协议,将WAN口设置为eth0。
随后我们点击“'''添加新接口'''”,设置好名称、接口协议,将WAN口设置为eth0。


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_24.png
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_24.png


点击”提交“后在防火墙设置选中WAN。
点击“'''提交'''”后在“'''防火墙设置'''”选中“'''WAN'''”。


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_25.png
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_25.png


设置完后我们点击”保存“,注意不要点击”保存&应用“,否则将进入不了系统。
设置完后我们点击“'''保存'''”,注意不要点击“保存&应用”,否则将进入不了系统。


点击返回至概况后,我们点击LAN口修改。
点击“'''返回至概况'''”后,我们点击“LAN口”修改。


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_26.png
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_26.png
第238行: 第299行:
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_27.png
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_27.png


设置完成后我们点击”保存&应用“。注意,因为此时网络设置发生了变化,所以会一直显示”正在应用更改“,这不是故障,我们稍等片刻后就可以进行下一步操作。
设置完成后我们点击”'''保存&应用'''“。注意,因为此时网络设置发生了变化,所以会一直显示”正在应用更改“,这不是故障,我们稍等片刻后就可以进行下一步操作。


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_28.png
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_28.png


=== 网络测试: ===
配置完成后,将新的WAN口(树莓派原生网口,eth0)接入上级路由器,然后将新的LAN口(扩展千兆网口,eth1)接入下级网络设备(如PC等),重启系统。
将WAN口接入上级路由器,扩展板的四个网口就可以连接其他网络设备获取网络,我们将两个网口连接两台PC简单测试一下网络带宽。
 
=== 5.3 LAN口网络测试 ===
我们将四个LAN口中的两个网口连接两台PC简单测试一下网络带宽。


使用iperf3在两台电脑之间互相测试:
使用iperf3在两台电脑之间互相测试:
第251行: 第314行:
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_30.png
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_30.png


可见测试结果正常。
基本能达到千兆的速度。
 
'''''注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。'''''
 
=== 5.4 测试4G LTE ===
如果您选配了4G LTE模块,我们的4G模组在OpenWrt系统下均免驱,自动识别。


== '''六、Radxa Rock 5C(RK3588S2)搭配四网口扩展板MPRG4操作演示''' ==
插上4G模组(需插入SIM卡),将4个千兆网口之一与PC相连,拔掉树莓派原生网口的网线,启动并登录OpenWrt系统后,点击“系统 - TTYD终端”,我们便可进入OpenWrt自带的终端,使用用户名 <code>root</code>, 以及密码 <code>password</code>登录终端即可:


=== 概述: ===
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_65.jpg
Radxa的Rock 5C基于RK3588S2设计,具备一路千兆以太网和四个USB口,并引出了和树莓派5兼容的PCIE接口,我们可以通过该接口来扩展各类原本为树莓派5设计的PCIE扩展板。这次我们演示使用的是四网口扩展板。


=== 演示使用的软硬件平台: ===
运行<code>ifconfig -a</code>,可见已经识别4G模组:
本文采用的系统版本为:debian bullseye kde b3,github下载地址:


https://github.com/radxa-build/rock-5c/releases/
'''CAT4 4G或者ZTE CAT4(识别为eth2):'''


扩展板:MPRG4四网口扩展板
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_154.jpg


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_09.png
'''高通4G(识别为usb0):'''


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_10.png
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_161.jpg


=== 准备工作 ===
以CAT4 4G为例,我们将4G模组设置为WAN口,步骤如下:
1. 连接好Rock 5C和MPRG4。


2. 系统烧写到TF卡后插卡启动,默认账户登录密码是radxa。
我们点击“'''网络'''” - “'''接口'''”:


2. 进入系统后在菜单下找到konsole进入命令行终端。
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_155.jpg


3. 执行<code>lspci</code>,确保能看到RTL8111的设备信息。(能看到说明扩展板硬件正常,如果看不到要检查FPC连接可靠性,注意FPC线缆有朝向,有一侧注明了RPi5要连接到Rock 5C。)
随后我们点击“'''添加新接口'''”,设置好名称、接口协议,将WAN口设置为eth2(如果是其它4G模组,请按照实际的网络标识进行设置),“新接口的名称”可以自定义设置:


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_15.png
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_156.jpg


4. 将网线连接至原生千兆,执行:
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_157.jpg
 
点击“'''提交'''”后在“'''防火墙设置'''”选中“'''WAN'''”。
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_158.jpg
 
设置完后我们点击“'''保存&应用'''”,成功后自动返回接口页面,稍等片刻,我们就能看到CAT4 4G获得了IP地址,这样我们就能通过CAT4 4G上网了:
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_159.jpg
 
我们在PC端测试4G网络的速度,打开[https://www.speedtest.cn/ 测速网站]进行网速测试,结果如下:
 
'''CAT4 4G:'''
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_160.jpg
 
'''高通4G:'''
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_163.jpg
 
'''ZTE CAT4:'''
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_162.jpg
 
'''''注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。'''''
 
== '''六、搭配Radxa Rock 5C(RK3588S2)的操作''' ==
 
=== 6.1 概述 ===
Radxa的Rock 5C是一款基于RK3588S2设计,尺寸兼容树莓派5的开发板,具备一路千兆以太网和四个USB口,且并引出了和树莓派5兼容的PCIe接口,我们可以通过该PCIe接口来扩展各类原本为树莓派5设计的PCIe扩展板。这里我们将MPRG4扩展板配套测试。
 
测试debian系统的版本为:rock-5c_bookworm_kde_b1.output.img.xz
 
下载地址(github):
 
https://github.com/radxa-build/rock-5c/releases/tag/rsdk-b1
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_77.jpg
 
=== 6.2 准备工作 ===
1. 系统启动,默认账户的用户名和登录密码是<code>radxa</code>:
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_78.jpg
 
2. 在开始菜单的System下找到Konsole,进入命令行终端。
 
3. 执行<code>lspci</code>,即可看到RTL8111的设备信息:
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_79.jpg
 
(如果看不到,要检查PCIe线的连接可靠性,注意线缆有朝向,有一侧注明了RPi5要连接到Rock 5C)。
 
4. 将Radxa Rock 5C的千兆网口与上级路由器连接,执行:


<code>sudo apt-get update</code>
<code>sudo apt-get update</code>
第286行: 第403行:
<code>sudo apt-get upgrade</code>
<code>sudo apt-get upgrade</code>


<code>sudo apt-get install net-tools</code>
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_81.jpg
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_80.jpg
 
<code>sudo apt install net-tools</code>
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_82.jpg


安装完毕net-tools后才能使用ifconfig工具,当然你也可以使用其它工具来操作网络。
安装完毕net-tools后才能使用ifconfig工具,当然你也可以使用其它工具来操作网络。


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_11.png
=== 6.3 安装驱动及测试 ===
以dkms的方式安装驱动即可:
 
<code>sudo apt install r8168-dkms</code>


=== 安装驱动 ===
<code>sudo modprobe r8168</code>
1. 以dkms的方式安装驱动即可。


<code>sudo apt-get install r8168-dkms</code>
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_83.jpg


<code>sudo modprobe r8168</code>
安装完毕后执行<code>sudo ifconfig -a</code>检查是否有enp开头网卡,即为RTL8111网卡,注意,交换机是物理层设备,ifconfig是看不到的。
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_84.jpg


2. 安装完毕后执行<code>sudo ifconfig -a</code>检查是否有enp开头网卡,即为RTL8111网卡,注意,交换机是物理层设备,ifconfig是看不到的。
将四个扩展千兆网口中的一个接入上级路由器,重启系统,执行<code>sudo ifconfig -a</code>,可见扩展千兆网口已经正确获得IP:


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_16.png
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_86.jpg


3. 通过ping包确认网络是否连通:
通过ping包确认网络是否连通:


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_13.png
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_85.jpg


至此,网卡驱动已经安装完成并可正常运行。
至此,网卡驱动已经安装完成并可正常运行。


4. 使用iperf3测速,基本能跑满千兆。
Linux下iperf3安装:
 
<code>sudo apt-get install iperf3</code>
 
安装完毕后,'''将四个扩展千兆网口中的一个接入上级路由器''',重启系统,使用iperf3与同一局域网内的PC进行测速:
 
client模式为942Mbps左右:
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_87.jpg
 
server模式为947Mbps左右:
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_88.jpg
 
基本能达到千兆的速度。'''''注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。'''''
 
=== 6.4 测试4G模块 ===
我司配套的4G模块均具有免驱免拨号、系统自动识别、即插即用功能。Rock 5C可配CAT4 4G和高通4G,在debian系统中自动识别成以enx开头的设备。
 
http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_129.jpg
 
==== 6.4.1 联网4G ====
启动系统,在终端中执行lsusb,显示如下:
 
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_145.jpg
 
系统里识别为“enx....”的为4G设备,已经正确获取了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_102.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>ip 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-2三个设备:
 
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
 
{{ATCOMM}}
 
==== 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完毕后需要断电重启才能生效。
 
{{联系我们_图标}}


http://www.mcuzone.com/wiki/0001_MPRG4/MPRG4_14.png
[http://wiki.mcuzone.com/index.php?title=0001_MPRG4%EF%BC%88%E5%9F%BA%E4%BA%8E%E6%A0%91%E8%8E%93%E6%B4%BE5_PCIe%E8%AE%BE%E8%AE%A1%EF%BC%89 T]

2025年3月17日 (一) 11:25的最新版本

Change the language to English

关键词

树莓派5、Raspberry Pi 5、MPRG4、MPG4、RTL8111H、四千兆网口扩展板、RPi OS、Ubuntu、OpenWrt、软路由、交换机、Radxa Rock 5C

一、简介

MPRG4(或称MPG4)是一款专为树莓派5设计的,通过PCIe接口扩展的四千兆网口扩展板。该扩展板通过PCIe接口外挂RTL8111H PCIe网口,然后进一步通过交换机芯片扩展成四路千兆网口。可用于以下几种场景:

1. 树莓派系统或Ubuntu系统下,其中一个网口连接上级路由器,剩余3个网口为附近其它需要联网的设备提供网络接入(四个网口位于同一个网段),可省却一个外挂的交换机和电源。

2. OpenWrt软路由系统下,原生千兆配置为WAN口,扩展的四个网口配置为LAN口,可为四台设备提供网络接入服务。

MPRG4_74.jpg

注意1:四个千兆口具备独立IP,但位于同一个网段,由上游路由器来分配地址池。如果不接上游路由器,则在树莓派系统和Ubuntu系统下将无法获取合法IP地址(会收到169.254.xx.xx的IP地址,表示仅有物理网线连接但无合法IP地址)。

注意2:在树莓派系统和Ubuntu系统下如果开机时没有插网线一段时间后系统将会获取到169.254.xx.xx的IP地址,此时即便插入来自上游路由器的网线后系统也获取不到合法IP,需要按一下扩展板上的交换机复位键才能重新获取到合法IP地址。

扩展板在树莓派官方OS和openwrt系统是免驱,Ubuntu系统是要安装驱动的。

二、硬件资源

1. 通过16Pin 0.5mm PCIe FPC线和树莓派5连接;

2. 板载RTL8111H芯片,实现PCIe转千兆以太网,再通过交换机芯片外扩;

3. 四路千兆以太网;

4. 一盏电源指示灯;

5. 一个交换机复位键(Switch RST);

6. 一个开关机按键(同树莓派5自带开关机按键);

7. 可选3D打印底座,可保护桌面不被划伤;

8. 可选钣金外壳,美观可靠;

9. 可选配4G模块安装在树莓派5上方来搭建4G路由器;

10. 尺寸:约86mmx75mm;线路板沉金工艺无铅生产,板材通过UL和ROHS认证,防火等级94V-0。

MPRG4_68.jpg

MPRG4_130.jpg

MPRG4_70.jpg

MPRG4_71.jpg

MPRG4_72.jpg

MPRG4_73.jpg

树莓派5可以安装4G模块,可设置为4G路由器使用。4G模块是可选模块。

MPRG4_75.jpg

MPRG4_98.jpg

三、树莓派OS的使用

树莓派系统下默认已经集成驱动,免驱,可直接使用。

树莓派OS的版本为2024-07-04-raspios-bookworm-arm64.img.xz,树莓派OS下载地址:

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

3.1 查看网络

3.1.1 查看千兆以太网

系统启动后,执行lspci,即可看到RTL8111H网卡(4个千兆网口):

MPRG4_51.jpg

执行ifconfig -a,可看到eth0是树莓派5自身网口;eth1即为扩展的RTL8111H网卡(4个千兆网口):

MPRG4_140.jpg

3.1.2 测试4G LTE

如果您选配了4G LTE模块,我们的4G模组在树莓派系统下均免驱,自动识别。

系统启动后,执行ifconfig -a,显示如下:

CAT4 4G:

MPRG4_141.jpg

我们执行route,查看路由表,可见eth2排在第一位,即表示此时默认使用4G上网:

MPRG4_111.jpg

高通4G:

MPRG4_142.jpg

我们执行route,查看路由表,可见usb0排在第一位,即表示此时默认使用4G上网:

MPRG4_114.jpg

ZTE CAT4:

MPRG4_143.jpg

我们执行route,查看路由表,可见eth1排在第一位,即表示此时默认使用RTL8111H扩展网口上网:

MPRG4_115.jpg

如果要优先使用4G上网的话,可以运行命令:

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

这两条命令(以“&&”分隔)的解释:

sudo ip route del default:删除路由表中的默认路由;

sudo route add -net default netmask 0.0.0.0 gw 100.92.213.193:添加4G的网关为新的默认路由(网关地址以实际为准)。

执行完毕后,再执行route,查看路由表,目前的默认路由为4G的网关(eth2排第一位,即ZTE CAT4):

MPRG4_116.jpg

这样网络就默认走4G网络了,如果需要改回默认走有线网络,请运行:

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

或者重启系统即可。

其中192.168.8.1为有线网络的默认网关,请以实际为准。

注意,重启后路由表还是会恢复原状,所以如果重启后要网络继续默认走4G网络,需要再执行一次sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 100.92.213.193

以CAT4 4G为例,此时默认使用4G上网,我们ping IP和域名均成功,说明4G模块工作正常:

MPRG4_112.jpg

打开https://www.speedtest.cn/进行网速测试,结果如下:

MPRG4_113.jpg

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

3.2 以太网测速

Windows版iperf3下载:

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

Linux下iperf3安装:

sudo apt-get install iperf3

安装完毕后,将四个扩展千兆网口中的一个接入上级路由器,使用iperf3与同一局域网内的PC进行测速:

client模式为942Mbps左右:

MPRG4_53.jpg

server模式为948Mbps左右:

MPRG4_54.jpg

基本能达到千兆的速度。

注意1:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

注意2:四个端口的交换机是物理层设备,系统下不可见。

四、Ubuntu的使用

Ubuntu23.10版本加载网卡驱动的流程比较复杂和繁琐,不建议使用,推荐使用24.04版本。

本文使用的Ubuntu系统版本为:ubuntu-24.04-preinstalled-desktop-arm64+raspi.img.xz,Ubuntu系统下载地址:

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

4.1 安装驱动

Ubuntu24.04下可以直接下载驱动源码并编译,步骤如下:

将树莓派5的原生网口连接至上级路由器。

更新系统:

sudo apt-get update

MPRG4_55.jpg

准备编译环境:

sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms

MPRG4_56.jpg

MPRG4_58.jpg

下载编译驱动:

sudo apt install r8168-dkms

sudo modprobe r8168

MPRG4_59.jpg

MPRG4_60.jpg

驱动安装完成后,安装net-tools工具:

MPRG4_57.jpg

安装完毕后,执行ifconfig -a可以看到下图:

MPRG4_61.jpg

以enp开头的设备,就是4路扩展千兆网口,这样驱动就安装成功了,但是没有获得IP地址。

4.2 查看以太网

将四个扩展千兆网口中的一个接入上级路由器,重启系统,运行ifconfig -a,可见扩展千兆网口已经获得了IP地址:

MPRG4_64.jpg

4.3 以太网测速

iperf3安装:

sudo apt-get install iperf3

四千兆的一个网口接上级路由器,使用iperf3与同一局域网内的PC进行测速:

client模式为943Mbps左右:

MPRG4_62.jpg

server模式为948Mbps左右:

MPRG4_63.jpg

基本能达到千兆的速度。

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

4.4 测试4G LTE

如果您选配了配套的4G LTE模块,我们所有4G模块在Ubuntu系统里免驱,不用额外装驱动,系统均自动识别成enx.......设备。前面章节已经讲述了如何安装板载千兆以太网驱动,此时,我们执行ifconfig -a,显示如下:

MPRG4_139.jpg

我们执行route,查看路由表,可见以enx开头的网卡排在第一位,即表示此时默认使用4G上网:

MPRG4_120.jpg

以CAT4 4G为例,此时默认使用4G上网,我们ping IP和域名均成功,说明4G模块工作正常:

MPRG4_122.jpg

打开https://test.ustc.edu.cn/进行网速测试,结果如下:

MPRG4_121.jpg

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

五、OpenWrt的使用

MPRG4扩展板在OpenWrt系统下是免驱的,可配置为一进四出的交换机模式,即将树莓派自带网口配置为WAN口,扩展板四个网口做LAN,可以供其他设备使用,获得同网段的不同IP地址。

本文使用的OpenWrt系统为:openwrt-bcm27xx-bcm2712-rpi-5-squashfs-sysupgrade-linux-6.1.100-20240805.img.gz

5.1 登录系统

树莓派5自带网口连接至PC,启动系统后,在Windows设置中找到网络和Internet,在“以太网”中查看默认网关的IP地址,这个地址就是OpenWrt系统的登陆地址,如图所示,本文测试的地址为192.168.198.1:

1006_RPi0_4G_MiniPCIe_31.jpg

打开网页浏览器,输入192.168.198.1,进入OpenWrt的系统;默认用户名为root,默认密码为password

1006_RPi0_4G_MiniPCIe_32.jpg

登录OpenWrt系统后,点击“系统 - TTYD终端”,我们便可进入OpenWrt自带的终端,使用用户名 root, 以及密码 password登录终端即可:

MPRG4_65.jpg

运行ifconfig -a,可见已经识别扩展千兆网口(eth1):

MPRG4_144.jpg

5.2 设置WAN口和LAN口

默认状态下树莓派5原生网口(eth0)是LAN口。现在我们需要将eth0改为WAN口,扩展千兆网口(eth1)设置为LAN口。操作如下:

我们点击“网络” - “接口

MPRG4_23.png

随后我们点击“添加新接口”,设置好名称、接口协议,将WAN口设置为eth0。

MPRG4_24.png

点击“提交”后在“防火墙设置”选中“WAN”。

MPRG4_25.png

设置完后我们点击“保存”,注意不要点击“保存&应用”,否则将进入不了系统。

点击“返回至概况”后,我们点击“LAN口”修改。

MPRG4_26.png

在物理设置下将接口设置为eth1。

MPRG4_27.png

设置完成后我们点击”保存&应用“。注意,因为此时网络设置发生了变化,所以会一直显示”正在应用更改“,这不是故障,我们稍等片刻后就可以进行下一步操作。

MPRG4_28.png

配置完成后,将新的WAN口(树莓派原生网口,eth0)接入上级路由器,然后将新的LAN口(扩展千兆网口,eth1)接入下级网络设备(如PC等),重启系统。

5.3 LAN口网络测试

我们将四个LAN口中的两个网口连接两台PC简单测试一下网络带宽。

使用iperf3在两台电脑之间互相测试:

MPRG4_29.png

MPRG4_30.png

基本能达到千兆的速度。

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

5.4 测试4G LTE

如果您选配了4G LTE模块,我们的4G模组在OpenWrt系统下均免驱,自动识别。

插上4G模组(需插入SIM卡),将4个千兆网口之一与PC相连,拔掉树莓派原生网口的网线,启动并登录OpenWrt系统后,点击“系统 - TTYD终端”,我们便可进入OpenWrt自带的终端,使用用户名 root, 以及密码 password登录终端即可:

MPRG4_65.jpg

运行ifconfig -a,可见已经识别4G模组:

CAT4 4G或者ZTE CAT4(识别为eth2):

MPRG4_154.jpg

高通4G(识别为usb0):

MPRG4_161.jpg

以CAT4 4G为例,我们将4G模组设置为WAN口,步骤如下:

我们点击“网络” - “接口”:

MPRG4_155.jpg

随后我们点击“添加新接口”,设置好名称、接口协议,将WAN口设置为eth2(如果是其它4G模组,请按照实际的网络标识进行设置),“新接口的名称”可以自定义设置:

MPRG4_156.jpg

MPRG4_157.jpg

点击“提交”后在“防火墙设置”选中“WAN”。

MPRG4_158.jpg

设置完后我们点击“保存&应用”,成功后自动返回接口页面,稍等片刻,我们就能看到CAT4 4G获得了IP地址,这样我们就能通过CAT4 4G上网了:

MPRG4_159.jpg

我们在PC端测试4G网络的速度,打开测速网站进行网速测试,结果如下:

CAT4 4G:

MPRG4_160.jpg

高通4G:

MPRG4_163.jpg

ZTE CAT4:

MPRG4_162.jpg

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

六、搭配Radxa Rock 5C(RK3588S2)的操作

6.1 概述

Radxa的Rock 5C是一款基于RK3588S2设计,尺寸兼容树莓派5的开发板,具备一路千兆以太网和四个USB口,且并引出了和树莓派5兼容的PCIe接口,我们可以通过该PCIe接口来扩展各类原本为树莓派5设计的PCIe扩展板。这里我们将MPRG4扩展板配套测试。

测试debian系统的版本为:rock-5c_bookworm_kde_b1.output.img.xz

下载地址(github):

https://github.com/radxa-build/rock-5c/releases/tag/rsdk-b1

MPRG4_77.jpg

6.2 准备工作

1. 系统启动,默认账户的用户名和登录密码是radxa

MPRG4_78.jpg

2. 在开始菜单的System下找到Konsole,进入命令行终端。

3. 执行lspci,即可看到RTL8111的设备信息:

MPRG4_79.jpg

(如果看不到,要检查PCIe线的连接可靠性,注意线缆有朝向,有一侧注明了RPi5要连接到Rock 5C)。

4. 将Radxa Rock 5C的千兆网口与上级路由器连接,执行:

sudo apt-get update

sudo apt-get upgrade

MPRG4_81.jpg

MPRG4_80.jpg

sudo apt install net-tools

MPRG4_82.jpg

安装完毕net-tools后才能使用ifconfig工具,当然你也可以使用其它工具来操作网络。

6.3 安装驱动及测试

以dkms的方式安装驱动即可:

sudo apt install r8168-dkms

sudo modprobe r8168

MPRG4_83.jpg

安装完毕后执行sudo ifconfig -a检查是否有enp开头网卡,即为RTL8111网卡,注意,交换机是物理层设备,ifconfig是看不到的。

MPRG4_84.jpg

将四个扩展千兆网口中的一个接入上级路由器,重启系统,执行sudo ifconfig -a,可见扩展千兆网口已经正确获得IP:

MPRG4_86.jpg

通过ping包确认网络是否连通:

MPRG4_85.jpg

至此,网卡驱动已经安装完成并可正常运行。

Linux下iperf3安装:

sudo apt-get install iperf3

安装完毕后,将四个扩展千兆网口中的一个接入上级路由器,重启系统,使用iperf3与同一局域网内的PC进行测速:

client模式为942Mbps左右:

MPRG4_87.jpg

server模式为947Mbps左右:

MPRG4_88.jpg

基本能达到千兆的速度。注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

6.4 测试4G模块

我司配套的4G模块均具有免驱免拨号、系统自动识别、即插即用功能。Rock 5C可配CAT4 4G和高通4G,在debian系统中自动识别成以enx开头的设备。

MPRG4_129.jpg

6.4.1 联网4G

启动系统,在终端中执行lsusb,显示如下:

CAT4 4G模块:

MPRG4_89.jpg

高通4G模块:

MPRG4_90.jpg

下面以CAT4 4G为例,将Rock 5C的原生网口和四个扩展千兆网口中的一个接入上级路由器,重启系统,执行sudo ifconfig -a,显示如下:

MPRG4_145.jpg

系统里识别为“enx....”的为4G设备,已经正确获取了IP地址。执行ip route,可见enx开头的设备排在第一位,说明此时是优先通过4G网络上网:

MPRG4_92.jpg

此时我们ping IP和域名均成功,说明4G模块工作正常:

MPRG4_93.jpg

打开https://www.speedtest.cn/进行网速测试,结果如下:

MPRG4_102.jpg

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

6.4.2 网络优先级的修改

以CAT4 4G为例,上一节我们查看了路由表,默认情况下,优先通过4G网络上网。

如果要优先使用有线网络上网的话,可以运行命令:

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

这两条命令(以“&&”分隔)的解释:

sudo ip route del default:删除路由表中的默认路由;

sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1:添加有线网络的网关为新的默认路由(网关地址以实际为准)。

执行完毕后,再执行ip route,查看路由表,目前的默认路由为有线网络的网关(end1排第一位,即Rock 5C的原生网口):

MPRG4_95.jpg

这样网络就默认走有线网络了,如果需要改回默认走4G网络,请运行:

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

或者重启系统即可。

其中192.168.6.1为4G模组的默认网关,请以实际为准。

注意,重启后路由表还是会恢复原状,所以如果重启后要网络继续默认走有线网络,需要再执行一次sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1

6.4.3 AT命令操作

以CAT4 4G为例,使用lsusb查看USB设备,红框处即为4G模组:

MPRG4_89.jpg

记下4G模块的ID值:1286 4e3d

使用下列命令打开ttyUSB串口,其中echo后面的值就是上面记录的ID值:

sudo modprobe option

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

执行上述两条命令之后执行:

ls /dev/ttyUSB*

此时应该能看到dev设备下有ttyUSB0-2三个设备:

MPRG4_96.jpg

然后用串口工具打开特定串口(AT命令串口):

安装minicom工具:

sudo apt-get install minicom

通过minicom打开AT命令串口:

sudo minicom -D /dev/ttyUSB1

(注意:使用哪个串口,应以在进入此串口后,可输入运行AT命令,显示不乱码,不乱跳结果为准)

如果需要查看回显,请键入命令:ate1,然后回车,继续键入其它命令,回车可以看到结果。

MPRG4_97.jpg

常用AT命令:

1. 检查SIM卡是否识别到:

at+cpin?

返回ready表示卡已识别,返回error要检查硬件

2. 检查天线信号质量:

at+csq

返回值在26-31表示信号OK,信号满格31;返回值在20-25表示信号勉勉强强;返回值在20以下表示信号比较糟糕或者天线没接

3. 检查注网情况:

at+cops?

正常应该返回运营商代码和7,7代表4G。

注意,以上命令只有at+csq不要加问号,另外两条命令需要加问号。

4. 查看4G模块的IMEI码:

at+cgsn

5. 重启4G模块(有时候如果重插SIM卡,热插拔不一定管用,可以用这个reset命令来复位模块):

at+reset

6. 关闭射频:

at+cfun=0

开启射频:

at+cfun=1

上述两条命令成对使用,可以在不重启4G模组的情况下让模组重新注网。

7. APN设置

普通手机SIM卡,不需要任何设置,直接使用;有些物联网卡需要设置APN才能使用,以下是用户使用提供的参考,具体的APN代码需要SIM卡运营商提供。

移动卡:

AT+CPNETAPN=0,"cmnet","",""

电信卡:

AT+CPNETAPN=0,"ctnet","",""

6.4.4 修改4G模组的IP地址

如果出厂默认的4G IP地址和用户使用的IP地址有冲突,或有修改IP地址的需求,可按照下列步骤进行修改:

CAT4 4G模块:

执行AT命令:

AT+ROUTEIP=<newip>

注意,只支持192.168.x.1这样格式的地址,如果设置了AT+ROUTEIP=192.168.3.1,最终获得的IP为192.168.3.100,修改完后需断电重启系统。

查询当前IP:AT+ROUTEIP?,返回两个值,前一个为旧IP,后一个为新IP。

测试命令:AT+ROUTEIP=?

高通 4G模块:

将4G模块的IP改为直接获取公网IP即可,请执行AT命令:

设置IP为公网:AT+GTIPPASS=1

设置IP为内网:AT+GTIPPASS=0

查询当前IP为公网还是内网:AT+GTIPPASS?

修改IP完毕后需要断电重启才能生效。

联系我们

4f7e81daf8791971.jpg 79c020da7ad0af9b.jpg 2851e01a0549e6f7.gif 0003_bb.jpg 0005_qq.jpg QQ:8204136

邮件:mcuzone@vip.qq.com

电话:13957118045

如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!

Copyright 2004-2025 野芯科技

T