news 2026/2/23 5:01:45

RK3568 Android14 调试 RTL8211F 千兆以太网 (RGMII)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RK3568 Android14 调试 RTL8211F 千兆以太网 (RGMII)

实战:RK3568 Android14 调试 RTL8211F 千兆以太网 (RGMII)

前言

在 RK3568 的产品定义中,千兆以太网(Gigabit Ethernet)通常是标配。‌RTL8211F是Realtek(瑞昱半导体)推出的一款高度集成的千兆以太网PHY芯片‌,支持10/100/1000Mbps自适应传输,符合IEEE 802.3标准,广泛应用于IoT设备、工业控制及消费电子领域。‌‌Realtek 的 RTL8211F 因其性价比高、兼容性好,是目前市面上最常见的 PHY 芯片之一。
本文将结合实际的硬件原理图,详细记录如何在 RK3568 (Android 14、Linux6.1) 平台上配置 RGMII 接口的千兆网卡,重点解决 PHY 地址识别 和 网络丢包(时序延迟) 两大难题。

一、硬件原理图深度解析

在写代码之前,必须先看懂原理图。以下是根据调试板原理图提取的关键信息:

1.1 接口模式 (Interface)

从原理图中可以看到 GMAC0_TXD0~3和 GMAC0_RXD0~3 以及 TXCLK、RXCLK,这表明使用的是RGMII (Reduced Gigabit Media Independent Interface)模式,而不是 RMII。
关键点:RK3568 内部集成了 GMAC 控制器,RTL8211F 充当 PHY,两者通过 RGMII 总线连接。

1.2 PHY 地址配置 (Strap Pins)

驱动能否找到网卡,全靠这个地址。原理图右侧的“PHY Address Config”表格非常关键。

RTL8211F 的设备地址由PHYAD[2:0]决定,上电瞬间通过锁存引脚电平来配置:
PHYAD0 (Pin 40, RXD3):图中 R6725 (下拉 4.7K) 焊接,R6724 (上拉) NC。 -> Bit 0 = 0
PHYAD1 (Pin 41, RXCLK):图中 R6726 (上拉 4.7K) 焊接,R6727 (下拉) NC。 -> Bit 1 = 1
PHYAD2 (Pin 42, RXDV):图中显示配置为 0 (参考表格 default)。

结论:该板子的 PHY 地址为二进制 010 (原理图标注的 3’b001,是错误的值,需以实测为准,通常原理图备注 “Default 1” 则地址为 0x1)。
注意:如果驱动报 No PHY found,请尝试地址 1 或 0。

1.3 时序延迟 (TX/RX Delay)

这是千兆网卡调试最“玄学”的地方。RGMII 协议要求时钟线 (CLK) 和数据线 (Data) 之间有 2ns 的延时以保证数据采样正确。
原理图中特意标注了:
Pull-up for additional 2ns delay to RXC (R6728)
Pull-up for additional 2ns delay to TXC (R6730)
这意味着硬件上可能已经开启了延迟。但在 RK3568 软件配置中,为了保险起见,我们通常使用 rgmii-id 模式,让 PHY 芯片在内部再次确认并自动处理这个延迟。

1.4 复位与中断

Reset:GMAC0_RSTn (Pin 30),低电平复位。
Interrupt:GMAC0_INT (Pin 32),用于连接状态变化通知(插拔网线)。

二、 内核设备树驱动配置 (Kernel Config)

打开 kernel-6.1/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10.dtsi,配置 GMAC0 节点。

&gmac0{phy-mode="rgmii";clock_in_out="output";snps,reset-gpio=<&gpio2 RK_PD3 GPIO_ACTIVE_LOW>;snps,reset-active-low;/* Reset time is 20ms, 100ms for rtl8211f */snps,reset-delays-us=<020000100000>;assigned-clocks=<&cru SCLK_GMAC0_RX_TX>,<&cru SCLK_GMAC0>;assigned-clock-parents=<&cru SCLK_GMAC0_RGMII_SPEED>,<&cru CLK_MAC0_2TOP>;assigned-clock-rates=<0>,<125000000>;pinctrl-names="default";pinctrl-0=<&gmac0_miim&gmac0_tx_bus2&gmac0_rx_bus2&gmac0_rgmii_clk&gmac0_rgmii_bus>;tx_delay=<0x2f>;rx_delay=<0x2c>;phy-handle=<&rgmii_phy0>;status="okay";};&mdio0{rgmii_phy0:phy@1{compatible="ethernet-phy-ieee802.3-c22";reg=<0x1>;};};

三、 调试步骤与问题排查

3.1 确认 PHY 是否被识别

系统启动后,查看日志:

dmesg|grep-i eth dmesg|grep-i rtl

成功标志:看到类似 RTL8211F Gigabit Ethernet 以及 Link is Up 的日志。
失败标志:No PHY found 或 Generic PHY(说明驱动没匹配上,或地址错了)。

3.2 检查网络连接

rk3568_t:/$ ifconfig eth0 up eth0 Link encap:Ethernet HWaddr ce:7e:e7:30:dd:5a Driver rk_gmac-dwmac UP BROADCAST MULTICAST MTU:1500Metric:1RX packets:0errors:0dropped:0overruns:0frame:0TX packets:0errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RX bytes:0TX bytes:0Interrupt:43rk3568_t:/$ ifconfig eth0192.168.1.100rk3568_t:/$ ping192.168.1.28PING192.168.1.28(192.168.1.28):56data bytes64bytes from192.168.1.28:seq=0ttl=128time=1.970ms64bytes from192.168.1.28:seq=1ttl=128time=1.126ms64bytes from192.168.1.28:seq=2ttl=128time=1.158ms64bytes from192.168.1.28:seq=3ttl=128time=1.049ms64bytes from192.168.1.28:seq=4ttl=128time=1.053ms64bytes from192.168.1.28:seq=5ttl=128time=0.997ms64bytes from192.168.1.28:seq=6ttl=128time=1.026ms64bytes from192.168.1.28:seq=7ttl=128time=1.139ms64bytes from192.168.1.28:seq=8ttl=128time=1.178ms^C---192.168.1.28ping statistics---9packets transmitted,9packets received,0%packet loss round-trip min/avg/max=0.997/1.188/1.970ms

3.3 性能与丢包测试 (关键)

能 Ping 通不代表网卡正常。RGMII 时序不对会导致大量丢包或速率跑不满。
查看丢包统计:

ifconfig eth0 # 关注 RX packets 下面的 errors 和 dropped 计数

压测:
使用 iperf3 进行内网测速。

iperf-c192.168.1.28------------------------------------------------------------Client connecting to192.168.1.28,TCP port5001TCP window size:162KByte(default)------------------------------------------------------------[3]local192.168.1.100port40236connected with192.168.1.28port5001[ID]Interval Transfer Bandwidth[3]0.0-10.0sec114MBytes989.4Mbits/sec

RK3568 千兆网正常应该能跑到 900Mbps+。如果只有 10Mbps 或者几百 Mbps 且波动大,说明 TX/RX Delay 不对。

3.4 调整 Delay (如果丢包)

如果 rgmii-id 丢包,可以尝试修改 DTS 中的 tx_delay 和 rx_delay 值。
范围:0x00 ~ 0x7F
经验值:RK3568 + RTL8211F 常用搭配为 tx_delay = 0x2f / rx_delay = 0x2x (仅供参考,需以实测为准)。

总结

调试 RTL8211F 的核心在于:确认地址(看电阻贴片情况)和 搞定延时(配置 rgmii-id 或微调 delay 值)。一旦这两点对上了,RK3568 的千兆网络就能稳定运行。

希望这篇结合原理图的实战记录能帮到你!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/23 0:00:06

python小程序个性化旅游行程规划系统(安卓APP)2024_3dr10uy2

目录已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;已开发项目效果实现截图 同行可拿货,招校园代理 python小程序个性化旅游行程规划系统&#xff08;安卓APP&…

作者头像 李华
网站建设 2026/2/22 19:43:59

矿产资源勘探AI:重力磁场模式识别借助TensorRT提效

矿产资源勘探AI&#xff1a;重力磁场模式识别借助TensorRT提效 在野外勘探作业中&#xff0c;时间就是成本。当无人机搭载的磁力仪正以每秒10个采样点的速度掠过山地&#xff0c;操作员最不想听到的一句话是&#xff1a;“模型还在跑&#xff0c;结果要半分钟后才能出。”这种延…

作者头像 李华
网站建设 2026/2/22 19:49:17

天文数据处理 pipeline:海量图像识别依托TensorRT高效完成

天文数据处理 pipeline&#xff1a;海量图像识别依托TensorRT高效完成 在智利北部的阿塔卡马沙漠&#xff0c;大型综合巡天望远镜&#xff08;LSST&#xff09;每晚将拍摄数万张星空图像&#xff0c;每张图像高达数亿像素——这意味着一个晚上就能生成超过20TB的原始数据。这些…

作者头像 李华
网站建设 2026/2/22 14:27:08

产品命名助手:创意词汇组合在TensorRT驱动下无限生成

产品命名助手&#xff1a;创意词汇组合在TensorRT驱动下无限生成 在品牌竞争日益激烈的今天&#xff0c;一个响亮、独特且富有寓意的产品名称&#xff0c;往往能成为打开市场的第一把钥匙。从“元气森林”到“小度智能”&#xff0c;命名不仅是语言的艺术&#xff0c;更是一场数…

作者头像 李华
网站建设 2026/2/19 3:42:12

STLink驱动与Keil联调:实战案例解析

STLink调试连不上&#xff1f;别急&#xff0c;先看这篇实战排错指南 你有没有遇到过这样的场景&#xff1a; 早上刚坐下准备调试代码&#xff0c;Keil一点“Start Debug”&#xff0c;弹窗却冷冷地告诉你—— No ST-Link Found 。 插拔十几次、重启三次电脑、换USB口、换…

作者头像 李华