如题;在 uboot 下 用 mdio 命令去读 phy 寄存器,没有发现什么不对。link up; 自协商也成功了。
此外,发现如果 将phy 配置成 10M 的模式,就完全ping不通了。但link 是 up的。
TI的各位工程师们能否给点参考意见? 调试了好几天了。
尝试过测量RJ45的收发信号,似乎不是很好量。
Gary Wu:
10M mode下没有ping通过?而在100M下偶尔能ping通?
quan liang:
回复 Gary Wu:
对,在 10M 模式下 全双工/半双工都 不行;在 100 M 下ping通的概率还算比较大,10次有个七八次能ping通。
Jian Zhou:
回复 quan liang:
这个感觉是硬件导致的通信不稳定,建议检查下PHY周边的电容电阻设计
jie wang4:
前几天我也发了一个帖子讲am335x读不到phy id的问题,我的问题应该比你还要麻烦点。我可能都读不到mdio寄存器的内容,但我的物理连接也是成功的。因为我ping的时候报错miiphy read id fail. 请问如何在uboot下利用mdio读取phy的寄存器?谢谢,如果可以,20112000@qq.com
请参看我的帖子《AM3359连不上千兆以太网的问题》,另外你的问题应该是硬件问题,你看看你的网卡默认ID配置的那几个上下拉电阻是否焊接牢固。mdio和mdc的上拉电阻是否焊接牢固。
quan liang:
回复 jie wang4:
我的是可以访问mdio 寄存器的;ti 提供的 uboot 有 mdio read/write 命令可以来访问phy 的寄存器。
jie wang4:
回复 quan liang:
我在uboot下使用help命令没找到mdio,使用mdio read 0x5 0x1 0xxxx, 第一个是ID号,第二个是寄存器地址,第三个数据地址,提示unknown command, 是我的uboot版本的问题么,我使用的是2011年的版本。或者是我命令用错了,请指教,谢谢
quan liang:
回复 jie wang4:
应该是你的uboot 版本问题,我用的uboot 版本是SDK7.0 里边的。u-boot-2013.10-ti2013.12.01
Yaoming Qin:
回复 quan liang:
sdk 6.0里面的uboot也很新,也可以参考。
Jian Zhou:
回复 Yaoming Qin:
SDK06的U-boot源代码的\driver\net\phy\phy.c中有很多通过MDIO读写PHY寄存器的函数
shupeng hu:
回复 Gary Wu:
请问,mii设置为no internal delay是什么作用呢。