ZP593 PCIe to 2.5G Ethernet PCIe to M.2 Key-M NVMe SSD HAT扩展板

产品说明

产品概述

我们做这个扩展板,让树莓派5多了1个2.5G网口和1个M.2 Key-M接口,对于有需要用树莓派5做路由器、网关、防火墙等需要多个网口的网络设备的,使用这个扩展板就可以满足你的需求;而且还可以接上M.2 NVMe 2230/2242/2260/2280 SSD。

 

 

产品特点

• 通过PCIe接口搭配PCIe Switch芯片扩展成两路PCIe接口,然后通过RTL8125芯片实现2.5Gbps以太网和M.2 Key-M NVME的扩展;

• 支持2230/2242/2260/2280尺寸的NVME SSD,SSD可用于扩展存储, 支持从SSD启动,需树莓派官方固件起码是2024.5.13;

• OS网口驱动:在树莓派官方OS/OpenWrt系统下无需驱动,上电后即可自动识别成eth1;Ubuntu系统下需要先安装RTL8125的驱动才可使用;

• 四个M2.5固定孔,板子上方内凹设计,方便40PinGPIO的操作使用。

 

 

安装指导

PCIe FPC排线安装

注意排线方向,连接如图所示:

 

 

扩展板安装

 

 

M.2 NVMe固态硬盘安装

• 安装2280固态硬盘

 

• 易于安装2230/2242/2260固态硬盘

 

 

 

使用说明

NVMe使用说明

找到你的PCI设备

列出PCI设备命令,如果你的NVME SSD设备连接好了,下面有你的NVME SSD设备:

$ lspci

 

启用PCIe

如需启用PCIe接口,请在/boot/firmware/config.txt中添加:

$sudo nano /boot/firmware/config.txt

添加以下内容:

dtparam=pciex1

dtparam=nvme

用sudo reboot重启使配置更改生效。

注意:你也可以使用alias nvme。

 

从PCIe引导启动

一般,Raspberry Pi 设备不会从 PCIe 存储启动。要启用从 PCIe 启动,请更改引导加载器配置中的 BOOT_ORDER。使用以下命令编辑 EEPROM 配置:

$ sudo rpi-eeprom-config --edit

用下面一行内容替换BOOT_ORDER一行的内容:

BOOT_ORDER=0xf416

如果从非HAT+设备启动,也需添加:

PCIE_PROBE=1

保存更改之后,用sudo reboot重启以更新EEPROM。

 

PCIe Gen 3.0

注意:Raspberry Pi 5未通过Gen 3.0速度认证。PCIe Gen 3.0连接可能不稳定。

该连接已通过Gen 2.0速度(5 GT/秒)认证,但您可以强制使用Gen 3.0(10 GT/秒)速度。要启用 PCIe Gen 3.0 速度,在/boot/firmware/config.txt中添加:

dtparam=pciex1_gen=3

用sudo reboot重启Raspberry Pi使这些配置生效。

 

写入速度测试

dd 命令可以用来测试磁盘写入速度。

以下命令将向磁盘写入一个名为test的2000MB文件:

$ dd if=/dev/zero of=./test bs=10M count=200

 

 

SSD兼容性

仅适用M.2 KEY接口NVMe协议的SSD固态硬盘。

目前有不少的客户反馈SSD兼容性,我们也做了大量的测试,有以下解决办法:

1、升级你的系统到最新:

$ sudo apt update

$ sudo apt upgrade

$ sudo rpi-eeprom-update

 

重新启动

 

用下列命令检查当前bootloader版本:

$ vcgencmd bootloader_version

2024/06/05 16:41:49

version 6fe0b091c7cb1c5da26b7f41cc24c42840531a83 (release)

timestamp 1717602109

update-time 1720508793

capabilities 0x0000007f

 

2、更换其它型号的SSD再使用。

 

3、我们这个SSD转接板只是一个PCIe转接的电路,影响不了SSD兼容性,兼容性取决于树莓派5主板。我们对几个树莓派5主板做过测试,同样的测试环境下,有一个树莓派5主板能识别各种SSD,兼容性好;其它的树莓派5主板兼容性就不是那么好,有些SSD可以识别,有些SSD不能识别。换其它批次的树莓派5主板也是一个好方法。

 

 

网口使用说明

Raspberry Pi OS

我们打开Terminal使用命令:

ifconfig -a

 

如果出现了eth1说明我们的ZP593硬件连接成功,出现了一个网络设备eth1,否则按检查FPC连线安装是否正常。

这时我们可以接网线到这个网口后可以正常的通讯了。

 

 

Ubuntu

用ifconfig -a命令查看没有eth1

ifconfig -a

用下列命令安装:

sudo apt install net-tools

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

sudo apt-get install r8125-dkms

sudo modprobe r8125

ifconfig -a

用ifconfig -a命令查看多了下图的网络设备:

 

 

OpenWrt

OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统, 拥有强大的网络组件和扩展性,常用于工控设备、电话、机器人、智能家居、路由器、网关、防火墙、NAS以及VOIP设备中。 OpenWrt SDK 极大的方便了软件开发人员,从中受益匪浅,简化了开发软件的工作。

这里介绍下RTL8125驱动编译到OpenWrt的过程,有其它需求请自己定制。

 

1.安装编译需要的工具

在 Ubuntu、Debian、Raspberry Pi OS上操作系统上安装了所要的工具,对于大多数基于 Linux的系统,可以使用以下命令:

sudo apt-get update

sudo apt-get install build-essential libncurses5-dev zlib1g-dev gawk git wget

 

2.克隆OpenWrt源码

git clone https://git.openwrt.org/openwrt/openwrt.git

 

3.使用下列命令配置操作系统

cd openwrt

./scripts/feeds update -a

./scripts/feeds install -a

make menuconfig

选择Raspberry Pi 5对应的配置,Target选择System Boardcom BCM27xx,subtarget选择BCM2712,Target Profile选择Raspberry Pi 5/500/CM5。

选择Kernel modules进入内核模块。

 

选择Network Devices。

 

我们使用的网络芯片是RTL8125,所以在这里选择kmod-r8125,选择好后左边是“*”号。

 

保存我们的配置。

 

4.编译

make V=s -j1

 

5.拷贝编译的固件

cd bin/targets/bcm27xx/bcm2712/

ls

箭头这些是生成的固件,可以选择其中一个文件拷贝出来。

 

6.写入固件

使用Raspberry Pi Imager写入操作系统,使用Use custom的方式,见下图:

 

写到TF卡后,插TF卡到Raspberry Pi 5,上电运行。

 

7.运行OpenWrt固件

启动后用ifconfig -a命令查看,显示出来多了一个eth1设备。

 

 

 

包装清单

 

YouTube教程

有关更详细的安装指南,请参阅链接:https://youtu.be/E0xYy6ieQEE?si=n-aL6vvjYQa9PJBP.

 

技术支持

如果你有任何问题或者需要技术支持,请联系:support@zde.plus.