BSP调试#03:Ethernet(RK3588) 
其中,“调试过程”章节可能有点意思(记录了我踩过的坑),其他章节无关紧要。


ETH0 (eth1)


ETH1 (eth0)


【问题 1 描述】:GMAC 以太网驱动初始化失败,无网络节点生成,具体 log 如下。

【问题 1 分析】:从 log 可以分析, 这个报错是以太网驱动初始化时异常导致的 probe 探测失败。优先检查设备树中 GMAC 的中断、时钟、PHY/MDIO 配置,其次确认硬件上 PHY 芯片的电源、中断引脚是否正常连接。
【问题 1 解决】:排查发现,正是 GMAC1 复位脚引脚被占用导致的,屏蔽后问题解决。

【问题 2 描述】:eth1 无法自动获取 IP。
【问题 2 分析】:无法自动获取 IP 问题,开始我倾向于 PCB 信号质量问题,需要修改 delayline 。但,使用 RK 自带工具扫描delayline,发现无法获取。
说明还没到 PCB 信号质量这步,网口通信本身就有问题。没有太好的排查思路,由于 eth0 网口已经正常,可以对比这两个网口试试。

【问题 2 解决】:对比果然有料到,查看引脚定义时,发现下图 gpio2-17 引脚不太正常。进一步排查确认该引脚已被占用,修改后问题解决。

屏蔽占用引脚后,正常。

带宽测试
iperf3工具
TCP吞吐测试:Server端: iperf3 -sClient端: iperf3 -c 192.168.0.196UDP吞吐测试:Server端: iperf3 ‑sClient端: iperf3 -u -c 192.168.0.196 -A 3 -b 1000M -P 4
iperf工具
TCP吞吐测试:Server端: iperf -s -i 1Client端: iperf -c 192.168.0.196 -i 1 -t 60UDP吞吐测试:Server端: iperf -s -u -i 1Client端: iperf -c 192.168.0.196 -u -b 1000M -i 1 -t 60
TX/RX 延时参数获取
echo 1000 > /sys/devices/platform/fe1b0000.ethernet/phy_lb_scanecho 1000 > /sys/devices/platform/fe1c0000.ethernet/phy_lb_scan
注意:如果你使用的是 RTL8211E phy ,测试前需要拔掉网线。
例如,

(完)
本人专注 Linux 驱动 & Linux/Android BSP 开发调试,可接外包项目/技术支持/问题定位。有需求或交个朋友可加微信:【Chen_WeChat2026】
全部0条评论
快来发表一下你的评论吧 !