在蒲城项目的调试时,AMS500发现一个致命的问题,就是:在局域网跨网段通信时候和中心服务器不能通信,但是在一个HUB下是没有问题的,以前的串口服务器有过类似的问题出现,解决方法说是芯片的问题,结果也不了了之,换了芯片正常。
我们的网络通信芯片选择W5500,其中的MAC地址采用的是CPU的序列号作为Mac地址的问题就出在这,我们在使用的时候MAC地址的第一个必须是偶数,我们忽视了。
现象描述:使用W5500进行以太网设计,用网线直接连接设备通信正常,使用家用无线路由器(自己用TP-Link做的实验),无论是外网访问内网,还是内网访问外网均正常。但是,在现场环境中,不能跨路由通信,现场环境使用的三层交换机是华为的S5720S。现场有正常能够使用的设备,将自己的设备的IP地址、子网掩码、网关与该设备设置的一致,并用同一个网口都不能正常通信。
问题解决:最后将问题锁定在MAC地址上,下图是我的设备的MAC地址,其关键点在于MAC地址的第1字节,具体解释如下。
MAC地址基本含义
MAC(Medium/Media Access Control)地址,用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位)。其中,前三个字节是由IEEE的注册管理机构RA负责给不同厂家分配的代码(高位24位),也称为"编制上唯一的标