Part Number:DP83867IR
Everything looks good in auto-negotiation mode, the link is good. But when they auto-negotiation off and force DP83867 to 100M speed, it cannot link with PC,
Kailyn Chen:
Hello, could you please provide your configuration for reference? If you disable the auto-negotiation, what about the link partner, it also need to disable auto-negotiation.
,
Songq qinghua:
对端连接的PC,配置的也是强制100M 全双工。
设备侧:ethtool -s eth0 speed 100 autoneg off duplex full 然后就无法up
如果打开自协商 PC的配置不变 就是可以的up的
,
Kailyn Chen:
您好,您是怎样配置强制100M全双工的?
寄存器 0x0000 bit8=1 enable full duplex,bit12=0 disable Auto-Negotiation,bit13=1 100Mbps
0x0043 bit6=1 Forces 100-Mbps good link. 另外可以读取下状态寄存器 0x0001看下是否能正确执行100M 全双工模式?
,
Songq qinghua:
通过ethtool -s eth0 speed 100 autoneg off duplex full 配置100M强制,读取phy 0 寄存器值为 0x2100: bit8 =1 bit13=1 bit13=1 正确配置了100M
0x0043: 0xa2a7 bit6=1 读取0x0001 0x7949 没有正确执行协商成功 bit 2=0
,
Songq qinghua:
sorry 这个信息有误 :0x0043: 0xa2a7 bit6=1
正确的如下:
读取0x0043寄存器的值 是0xa231 尝试修改bit6=1 写成0xa271
但是再去读取的时候 还是0xa231 并没有修改成功,这个bit 6 没有修改成功 其他bit位使用这种方法是可以修改成功的。
,
Kailyn Chen:
这两个寄存器0x0010和0x0011读取的值是什么?先确定下link和speed都是否配置好。
,
Songq qinghua:
0x0010 : 0x4040 手动修改为0x4440 也无效果
0x0011:0x7b02
,
Songq qinghua:
刚进行了 自环测试: 配置0x0016 寄存器,分别设置0x1,0x2,0x3,0x4,0x8 可以up,但是设置为0x10 也就是设置为 external loop是 不能够up,请帮忙分析下是什么原因? 另外0x0043寄存器的bit6 无法修改成功也请帮忙确认下
,
Kailyn Chen:
您好,我这边帮您确认了下,需要将0x0000需要配置为0x2100,另外,您需要执行force MDI/MDIX吗?如果是的话,请确保使用的电缆配置和设备配置相匹配,可以使用默认配置。请读取下寄存器0x0004和0x0005的值为多少?从而确认link partner是否支持100M。 另外,是否有测量到100M的脉冲信号? RX_CLK的频率是多少?
另外,您的另一个帖子中的现象,可能和这个问题是相关的,有什么问题,我会在这里跟进,另一个帖子我暂时先关掉。
,
Songq qinghua:
0x0000 配置的是0x2100, 0x0004 值是0x1e1
0x0005值是0
对端连接的PC机,配置的强制100全双工。
RX_CLK 脉冲信号 没有测量 DP83867如果配置成自协商的话 是可以100M up的, 所以是否可以排除RX_CLK 脉冲信号的问题?
另外是否方便电话交流下 项目比较紧急
,
Kailyn Chen:
您好,方便附上您的电路图,以便分析吗?