
清空记录
历史记录
取消
清空记录
历史记录

瑞芯微RK平台网络与高速接口排障一般分四级:PHY/物理先通(reset、MDIO、供电),再协商(ethtool 看 GMAC 速率、lspci看PCIe Link),再数据面(RGMII tx/rx delay、驱动绑定),最后性能(iperf3/DPDK、PCIe 带宽)。基于触觉智能RK3576开发板Purple Pi OH2的双千兆网口与与其M.2 PCIe实测,按 GMAC→DPDK→PCIe 逐层给命令。
本板 gmac0/gmac1 双千兆(PHY走rgmii 模式),GMAC 驱动用RK3568系列 ops(dwmac-rk.c)。排障顺序:PHY 识别 → 协商速率 → delayline/时序 → 数据面 → 性能。
关注「触觉智能」公众号,回复关键词“客服”,联系客服即可获取瑞芯微RK开发板/核心板相关资料,可对接技术支持团队,咨询项目选型与项目需求。
关注触觉智能,可获赠RK3576开发板折扣。机会有限,先到先得!
网口不通/协商不上/RGMII delayline
网口问题九成落在PHY识别与RGMII时序。本板gmac0配置(ido-evb7609-v1a.dtsi):
&gmac0 { phy-mode = "rgmii"; /* RGMII 模式 */ clock_in_out = "output"; snps,reset-gpio = <&gpio2 RK_PD6 GPIO_ACTIVE_LOW>; snps,reset-delays-us = <0 20000 100000>; pinctrl-0 = <ð0m0_miim ð0m0_tx_bus2 ð0m0_rx_bus2 ð0m0_rgmii_clk ð0m0_rgmii_bus>; tx_delay = <0x1a>; /* RGMII 发送延时 */ rx_delay = <0x26>; /* RGMII 接收延时 */ phy-handle = <&rgmii_phy0>; status = "okay";};| RGMII delayline/时序 |
RGMII 是排障重点:MAC 与 PHY之间的信号延时靠 tx_delay/rx_delay补偿,值不对就出现"能ping通但吞吐崩/偶发断"。官方《GMAC_RGMII_Delayline》《GMAC_Mode_Configuration》文档给了调法与判定。
网络性能与 DPDK
普通内核网络栈跑满千兆没问题,但要更高吞吐/更低时延(或要绕过协议栈做定制转发),用 DPDK(external/dpdk/,RK 提供 GMAC DPDK 文档)。
性能排查
DPDK
PCIe 链路 / NVMe / 扩展卡
本板 &pcie0(2a200000,reset gpio4 RK_PB2,配 combphy0_ps)走 DWC 控制器(CONFIG_PCIE_DW_ROCKCHIP=y)。RK3576 有 pcie0/pcie1 两个控制器,均为 PCIe Gen2 x1(RC only、内部时钟、支持 MMU、ASPM ALL),且每个控制器可分配 MSI/MSI-X 总数仅 8 个(官方《PCIe 开发指南》1.6 / 2.4.4 / 11.8)。排障三步:Link 起没起 → 枚举到没 → 驱动绑定没。
板上排查(adb 直连):先看 Link 是否拉起——官方判据(12.2):出现 "PCIe Link up" 且LTSSM的bit16/17=0x3、bit0~8≥0x11(典型 0x130011)才算成功;若反复 "PCIe Linking... LTSSM is 0xX" 则是 trainning 失败:
# 1) Link 拉起没有:看到 "PCIe Link up" 才算成功(判据见下)adb shell dmesg | grep -iE "pcie|pci" | head# 实测(NVMe 已接入):# rk-pcie 2a200000.pcie: PCIe Link up, LTSSM is 0x130011# rk-pcie 2a200000.pcie: PCIe Gen.2 x1 link up# 2) 链路速率/宽度(官方 11.7:lspci -vvv 看 LinkSta;sysfs 更直接)adb shell lspci -vvv # 该设备段找 LinkSta: Speed 5GT/s, Width x1adb shell cat /sys/bus/pci/devices/0000:01:00.0/current_link_speed /sys/bus/pci/devices/0000:01:00.0/current_link_width
LTSSM 停在 0x00(S_DETECT_QUIET,未检到外设端接)或 0x03(误入兼容性测试模式)都说明外设没工作/信号异常(状态码全表见官方 13.1 附录)。trainning 失败按官方顺序排查:reset-gpios 是否配对 → 外设 3V3 供电是否有/够不够 → 复位信号与电源时序是否与外设 spec 冲突 → 最后定位信号完整性(眼图)。
枚举与驱动绑定:lspci 看到 root port(bus 00)与其下游(bus 01)即枚举成功;lspci -k 看驱动、lsblk 看盘(认到 NVMe 盘 = 链路+枚举+驱动全通):
# 3) 枚举:lspci 应见 root port(00) + 下游设备(01)adb shell lspci# 实测:00:00.0 Rockchip 3576 / 01:00.0 Silicon Motion SM2263EN/SM2263XT (rev03)# 4) 驱动绑定:Kernel driver in use: nvmeadb shell lspci -kadb shell lsblk # nvme0n1 = 认盘 = 全链路通# 实测:nvme0n1 953.9G,已自动挂载
带宽预期要放对:触觉智能Purple Pi OH2的PCIe是Gen2 x1,实测协商 5.0 GT/s,dmesg 会提示 "4.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x1 link"。NVMe 盘虽标称 Gen3 x4(dmesg "capable of 31.5 Gb/s"),实际只有 ~4 Gb/s(约500MB/s)上限——SSD 顺序读写落在400~500 MB/s 是正常的;若需高带宽需换Gen3平台(如RK3588的 pcie3x4/x2)。
在线更换/重扫(官方 11.13):设备损坏更换或 BAR 空间变化后,可对下游设备先 remove 再对整条总线重扫(本板 NVMe 实测路径 0000:01:00.0):
adb shell "echo 1 > /sys/bus/pci/devices/0000:01:00.0/remove" # 先移除旧设备adb shell "echo 1 > /sys/bus/pci/rescan" # 整条总线重扫# 换盘后 lsblk 重新认到 nvme0n1 即成功
网络与高速接口排障四级:PHY/物理先通(reset、MDIO、供电)→协商(ethtool/lspci 看速率与枚举)→数据面(delayline/驱动绑定)→性能(iperf3/DPDK)。RGMII的tx/rx delay与 PCIe的Link 状态是最常踩的两处。
RK3576板端实测记录
以下在触觉智能RK3576开发板-Purple Pi OH2+ Debian Bookworm上通过 adb直连执行,命令参考如下:
docs/cn/Common/GMAC/Rockchip_Developer_Guide_Linux_GMAC_CN.pdfdocs/cn/Common/GMAC/Rockchip_Developer_Guide_Linux_GMAC_RGMII_Delayline_CN.pdfdocs/cn/Common/GMAC/Rockchip_Developer_Guide_Linux_GMAC_Mode_Configuration_CN.pdfdocs/cn/Common/GMAC/Rockchip_Developer_Guide_Linux_GMAC_DPDK_CN.pdfdocs/cn/Linux/DPDK/Rockchip_Developer_Guide_Linux_DPDK_CN.pdfdocs/cn/Common/PCIe/Rockchip_Developer_Guide_PCIe_CN.pdfdocs/cn/Common/PCIe/Rockchip_Developer_Guide_PCIe_Performance_CN.pdf。
kernel-6.1/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c(rk3568_ops)kernel-6.1/arch/arm64/boot/dts/rockchip/ido-evb7609-v1a.dtsi(gmac0/1 的 rgmii/tx_delay=0x1a/rx_delay=0x26/snps,reset、pcie0)kernel-6.1/arch/arm64/configs/rockchip_linux_rk3576_defconfig(CONFIG_PCIE_DW_ROCKCHIP=y、CONFIG_PCIE_ROCKCHIP_HOST=y)、external/dpdk/。
Purple Pi OH2开发板,是触觉智能RK3576核心板SOM7609系列配套的评估开发板,搭载4核A72+4核A53+M0多核异构处理器,主频2.2GHz,集成6Tops算力 NPU,轻松应对AI推理、边缘计算与轻量级AI端侧学习。配套完善SDK、丰富资料与Demo,有助于项目前期快速开发验证。
触觉智能SOM7609系列核心板尺寸仅40.5×40.5mm,专为空间受限场景打造。基于RK3576/RK3576J SoC,集成高性能GPU与VPU,支持4K视频编解码与多屏异显;提供PCIe、USB3.2、双路千兆以太网拓展、MIPI-DSI/CSI、eDP、CAN FD、UART等丰富接口,灵活扩展。支持Linux、Android、开源鸿蒙OpenHarmony等丰富系统,配套丰富软硬件资料与技术支持,助力产品快速落地。
