千兆网口与百兆网口(W5500)自动协商失败导致网络不通

编号:EB-00002

环境:

        通信节点A:MCU STM32 + W5500网卡(百兆,支持自动协商,不支持MDI自动极性变换),

        通信节点B:  CPU Intel J1900(Debian 12操作系统)+ I211网卡(千兆,支持自动协商和MDI,驱动igb driver)

        连接方式:网线直连

现象:

        1.节点A和节点B直连后网口灯不亮,网络不通,ping失败。

        2.更换网线为交叉线或者直连线,问题依旧。

        3.节点A和节点B中间经过交换机如TLSF-1008,网络连接正常,可以ping通。

        4.节点A与台式机、笔记本电脑、路由器等其他网络设备直连,没有问题。

        5.节点B与台式机、笔记本电脑、路由器等其他网络设备直连,也没有问题。

        6.节点B不变,节点A设置关闭网口自动协商,固定为100M 全双工,网络正常,可以ping通。

        7.节点A不变,节点B设置关闭网口自动协商,固定为100M 全双工,网络正常,可以ping通。

解决:

        节点A设置关闭网口自动协商,固定为100M 全双工(通过修改MCU程序配置网卡)。节点B也设置关闭网口自动协商,固定为100M 全双工(设置命令“sudo ethtool -s enp1s0 speed 100 duplex full mdix auto autoneg off”)。

分析:

        网络不通时,查看节点B网口状态为 百兆半双工未连通(ethtool -d  enp1s0),且无法识别对端(节点A)的网络能力(ethtool -d  enp1s0 |grep "Link partner ability",寄存器值为全0)

扩展:

        总结为两个网卡phy层兼容性问题,导致无法成功自动协商工作模式。

        注意,虽然只设置通信一方为百兆全双工固定模式,网络可以ping通,但是这并不能作为最终解决方案,会导致另一方自动协商为半双工模式,双方后续通信存在问题,具体原因可参考FAQ-以太网自协商的详细过程
————————————————
版权声明:本文为CSDN博主「doonline」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/doonline/article/details/135640668

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
W5500是一款高性能的以太网控制器芯片,可以实现物理层和数据链路层的功能。要实现W5500的输出网口电路,需要准备以下几个主要元件: 1. W5500模块:包括W5500芯片以及相应的外围电路,如时钟电路和SPI通信接口等。 2. 网线接口:用于连接网络设备的标准RJ45接口,需要配备适当的连接器以及电磁兼容性组件。 3. 时钟电路:W5500芯片需要精确的时钟信号来进行数据传输,可以使用晶体振荡器或者外部时钟源,将时钟信号引入W5500模块。 4. SPI通信接口:W5500通过SPI总线与主控芯片进行通信,需要连接相应的SPI引脚,包括SCK(时钟线)、MOSI(主机发送线)、MISO(主机接收线)和SS(片选线)等。 当以上元件准备齐全后,可以按照以下步骤进行输出网口电路的搭建: 1. 将W5500模块正确连接到主控芯片上,确保SPI通信接口连接正确,同时连接好时钟电路。 2. 将网线接口连接到W5500模块上相应的接口,通常采用RJ45连接器,连接时需要保证电磁兼容性组件的正确性。 3. 配置主控芯片的软件驱动程序,通过SPI接口与W5500进行通信。这涉及到一些配置寄存器的设置,如IP地址、子网掩码、MAC地址等。 4. 完成配置后,即可通过W5500实现网络数据的收发功能。可以根据需要实现TCP/IP协议栈的相关功能,如建立连接、发送数据、接收数据等。 需要注意的是,W5500输出网口电路的搭建需要充分了解W5500芯片的硬件特性和软件驱动程序的使用方法,以确保电路的正确性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值