记录一次imx6网卡速率低的调试经历

记录一次imx6网卡速率低的调试经历,硬件方案是imx6加2片rpc8201f(两个以太网口),网口采用RMII的连接方式,配置dts编译内核,烧写后用iperf3测试发现两个网口速率都特别低,ping包也是丢的一塌糊涂,因为之前同样的内核在另一块不同PHY的板子上用过没啥问题。所以问题最大可能出在dts配置或硬件上。排查发现两个PHY(rpc8201f)的phy_id在硬件上都配置成了0。rpc8201f的phy_id是通过24和25引脚的上下来控制的,范围是0x00~0x11。
PHY_ID配置
引脚上下拉参考接线
参考书册中的介绍对phy_id做了调整,配置成0和1(注:DTS中也需要按照这个配置修改)。再利用iperf测试时发现phy_id=1的网卡正常,phy_id=0的网卡速率还和之前一样。试着把两个地址掉换了一下,故障的网口也跟着发生了变化,也就是说phy_id=0的网口一直不正常。这样看这个问题肯定是出在phy_id上,于是对照手册中排查但没有发现什么不对的,本想把Id换一个试试结果偷了个懒没试,却把PHY外围的电路一顿折腾,结果就是要么故障照旧要么直接就不工作。后来在网上查RTL8201和这个是pin2pin的,找了个RTL8201替换上去居然好了。这不是说明rpc8201f有问题吧?于是把问题反馈给芯片厂家,得到的回复:0地址默认是广播地址。看来上面的偷懒,让我误入歧途呀。重新调整phy_id为1和2再测试速率一切OK,不过后来查了一下手册确实没有发现对广播地址的说明(可能是个人英文水平问题),只说“Up to 4 PHY device valid,The PHY address are: 00,01,10 and 11”。现在看来这个4是有限制的,需要通过寄存器关闭广播地址功能才能满足最大4个PHY的要求。

总结:
不要偷懒,不要放过任何一个可能的小细节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飘忽不定的bug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值