1005 RPi0-2U2E(双百兆网络双USB)

来自Mcuzone Wiki
Mcuadm留言 | 贡献2024年9月18日 (三) 16:05的版本 →‎5.5 网络测试

关键词

树莓派、 Raspberry Pi Zero、USB2.0-A、双以太网、扩展板、USB HUB 集线器

一、简介

树莓派双网络双USB扩展板是专为树莓派Zero系列所设计的扩展板,支持一代Zero和二代Zero全系列,包括带或者不带WiFi、焊或者不焊插针的各个子型号。同时也支持部分具备相同位置测试点的国产派。

该扩展板通过镀金顶针和Zero系列相连,其中两根顶针用于供电,另两根顶针用于USB通讯,需要注意的是Zero上的MicroUSB接口不能再接其它USB设备,也不能接USB线缆,不然扩展板的USB将无法使用。可通过树莓派Zero标记了PWR的MicroUSB供电,也可以通过扩展板上的USB-C供电。扩展板板载一扩四USB Hub,两路用来扩展USB转百兆网卡,两路以USB2.0-A主机口形态引出。其中一路USB2.0-A后方还预留了1.25mm 4Pin接插件,可通过该接口扩展4G网卡等设备。

二、硬件资源

1. 通过镀金顶针和Zero系列连接,供电和通讯;

2. 可通过USB-C供电或者Zero上的PWR MicroUSB供电;

3. 板载四口USB Hub,两路用来扩展百兆网络,两路用来扩展USB2.0-A主机口;

4. 其中一路USB2.0-A后方预留1.25mm 4pin接口,共用一组USB信号,二选一使用;

5. 可选配铝合金外壳。

三、系统烧写

3.1 本文档使用基于树莓派Zero 2W的硬件,镜像为2024-07-04-raspios-bookworm-arm64.img.xz(树莓派OS,Raspberry Pi OS with desktop)。

(若使用树莓派Zero一代系列的板子,只支持32位系统,请注意下载版本。)

树莓派OS下载地址:

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

或ubuntu-24.04-preinstalled-server-arm64+raspi.img.xz(Ubuntu系统,Ubuntu Server 24.04 LTS,服务器版,树莓派Zero 2W因为性能关系不能用Desktop版)。

Ubuntu系统下载地址:

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

以及OpenWrt系统,版本为:openwrt-bcm27xx-bcm2709-rpi-2-squashfs-sysupgrade-linux-6.1.98-20240723.img.gz

3.2 系统烧写在SD(TF)卡上,点击直达烧写方法说明

四、树莓派系统下使用演示

4.1 查看硬件设备

4.1.1 查看USB设备

打开树莓派OS的终端,输入命令lsusb,如下图所示:

1005_Zero-DETH_DUSB_01.jpg

可以看到系统识别到了USB HUB和两个百兆网卡。其中:

Device 002:外挂USB Hub;

Device 003:USB转百兆网卡;

Device 004:USB转百兆网卡;

Device 005:USB2.0-A接口;

Device 006:USB2.0-A接口。

如果系统卡在树莓派logo处无法启动:

0007_Zero_4G_Cat1_58.jpg

或者启动后键盘鼠标,请仔细观察顶针是否对准了镀金触点,并请在PC端打开TF卡系统分区根目录下的config.txt检查USB的初始化脚本:

0007_Zero_4G_Cat1_41.jpg

需要确认下图中的三处红框的位置是否都配置成完全,如果没有,请手动添加完整并保存文件:

# otg_mode=1(建议按此注释掉)

dtoverlay=dwc2,dr_mode=host(两处必须确保加上)

0007_Zero_4G_Cat1_57.jpg

4.1.2 查看网络设备

打开树莓派OS的终端,输入命令ifconfig -a,如下图所示:

1005_Zero-DETH_DUSB_02.jpg

可以eth0和eth1为USB转百兆网卡,其中eth1为靠近后方带有1.25mm 4Pin接插件的USB2.0-A口,wlan0为Zero 2W自带的无线网卡。

4.2 测试网络设备

4.2.1 设置网卡优先级与指定DNS服务器

关于该部分的知识,可参阅以下链接:

设置网卡优先级

利用udhcpc指定DNS服务器

udhcpc应用场景举例

建议通过udhcpc软件,而不是编辑resolv.conf文件来指定DNS服务器,这样会比较稳定。

4.2.2 iperf3测速

Windows版iperf3下载:

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

Linux下iperf3安装:

sudo apt-get install iperf3

百兆以太网测速结果:

eth0:client模式93Mbps左右,server模式94Mbps左右:

1005_Zero-DETH_DUSB_03.jpg

eth1:client模式93Mbps左右,server模式94Mbps左右:

1005_Zero-DETH_DUSB_04.jpg

4.3 测试外接4G模组

将外接4G模组与扩展板相连,本文档使用4G Cat1模块进行测试。可以使用USB Type C-A线线连接,也可以通过1.25mm 4Pin进行连接。

4.3.1 模块连接

在树莓派终端中执行ifconfig -a,我们可以看到4G模块(eth2)已经正确获得了IP地址:

1005_Zero-DETH_DUSB_05.jpg

如果此时看不到4G模块(eth1),请检查连线是否正确,以及使用4.3.4节中提到的lsusb命令查看模块是否被系统识别。

Statu LED灯状态如下:

闪烁状态为1.8秒亮0.2秒灭(也可以通过亮的时间比灭的时间长来判断)表示4G模组已经联网。

闪烁状态是1.8秒灭0.2秒亮,说明SIM卡或者网络有问题,请检查SIM卡和天线。

4.3.2 设置网卡优先级与指定DNS服务器

关于该部分的知识,可参阅以下链接:

设置网卡优先级

利用udhcpc指定DNS服务器

udhcpc应用场景举例

建议通过udhcpc软件,而不是编辑resolv.conf文件来指定DNS服务器,这样会比较稳定。

4.3.3 联网测试

4G模组正确获得ip地址后,且正确指定DNS地址后,我们可以ping外网地址,如:

ping www.mcuzone.com

1005_Zero-DETH_DUSB_06.jpg

能ping通则说明联网成功。

4.3.4 打开串口

系统上电启动后,在树莓派终端中执行命令lsusb,如下图所示:

1005_Zero-DETH_DUSB_07.jpg

本模块的id为19d1 0001,记录下这个值。

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

sudo modprobe option

sudo sh -c 'echo 19d1 0001 > /sys/bus/usb-serial/drivers/option1/new_id'

1005_Zero-DETH_DUSB_08.jpg

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

ls /dev

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

1005_Zero-DETH_DUSB_09.jpg

4.3.5 执行AT命令

下载minicom工具:

sudo apt-get install minicom

0007_Zero_4G_Cat1_13.jpg

通过minicom打开AT命令串口:

sudo minicom -D /dev/ttyACM0

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

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

用AT+CPIN?来检查SIM是否正常插入并识别;

用AT+CSQ来检查信号强度,第一个值是0-31,需要25以上才算信号质量良好;

用AT+COPS?来检查注网情况,双引号内是运营商代码,最后一个数字是网络模式,7代表4G。

1003_Zero_4G_Cat1-Hub_09.jpg

五、Ubuntu系统下使用演示

5.1 编辑初始化脚本

Ubuntu Server烧写完毕后,请在PC端打开TF卡系统分区根目录下的config.txt检查USB的初始化脚本,Ubuntu Server对USB初始化了两遍,前面一遍没有配置成host模式,需要确认下图中的两处红框的位置是否都配置成完全,如果没有,请手动添加完整:

dtoverlay=dwc2,dr_mode=host

0007_Zero_4G_Cat1_32.jpg

0007_Zero_4G_Cat1_30.jpg

5.2 配置用户名和密码

将TF卡插入Zero 2W,启动系统。第一次启动后会要求登录,用户名和密码均为ubuntu,登录成功后会要求修改密码。

0007_Zero_4G_Cat1_31.jpg

修改完毕后就自动进入系统。

5.3 配置网络

系统启动后并无网络可用,需要进行后续设置后才能使用。

注意,系统默认并没有集成ifconfig工具,只有ip命令可用。

执行ip addr查看并记录下网卡名称:

1005_Zero-DETH_DUSB_10.jpg

其中2号、3号网卡(enx00e099d51fa4、enx00e099d6eb5e)为USB转百兆网卡。

然后运行下面的命令,打开网卡配置文件:

sudo nano /etc/netplan/50-cloud-init.yaml

按照下图编辑网卡配置文件:

1005_Zero-DETH_DUSB_11.jpg

保存退出,然后重启。

重启后即可联网,安装net-tools工具以便于使用:

sudo apt install net-tools

0007_Zero_4G_Cat1_35.jpg

5.4 设置网卡优先级与指定DNS服务器

执行命令ifconfig -a,查看两块网卡信息,均能获取IP地址:

1005_Zero-DETH_DUSB_12.jpg

1005_Zero-DETH_DUSB_13.jpg

关于该部分的知识,可参阅以下链接:

设置网卡优先级

利用udhcpc指定DNS服务器

udhcpc应用场景举例

建议通过udhcpc软件,而不是编辑resolv.conf文件来指定DNS服务器,这样会比较稳定。

5.5 网络测试

4G模组正确获得ip地址后,且正确指定DNS地址后,我们可以ping外网地址,如:

ping www.mcuzone.com

1005_Zero-DETH_DUSB_14.jpg

能ping通则说明联网成功。

Windows版iperf3下载:

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

Linux下iperf3安装:

sudo apt-get install iperf3

百兆以太网测速结果:

2号网卡:client模式93Mbps左右,server模式94Mbps左右:

1005_Zero-DETH_DUSB_15.jpg

3号网卡:client模式93Mbps左右,server模式94Mbps左右:

1005_Zero-DETH_DUSB_16.jpg

5.6 测试外接4G模组

将外接4G模组与扩展板相连,本文档使用4G Cat1模块进行测试。可以使用USB Type C-A线线连接,也可以通过1.25mm 4Pin进行连接。

5.6.1 模块配置

执行ifconfig -a,与之前的两个有线网卡比较,我们可以看到4G模块为enx2089846a96ab:

17

运行下面的命令,打开网卡配置文件:

sudo nano /etc/netplan/50-cloud-init.yaml

按照下图编辑网卡配置文件:

18

保存退出,然后重启。

执行命令ifconfig -a,查看外接4G模组信息,能获取IP地址:

19

关于该部分的知识,可参阅以下链接:

设置网卡优先级

利用udhcpc指定DNS服务器

udhcpc应用场景举例

建议通过udhcpc软件,而不是编辑resolv.conf文件来指定DNS服务器,这样会比较稳定。

5.6.2 网络测试

4G模组正确获得ip地址后,且正确指定DNS地址后,我们可以ping外网地址,如:

ping www.mcuzone.com

20

能ping通则说明联网成功。