W5500 not replying to ARP request

I am using 2 W5500-EVB-Pico boards connected by an Ethernet switch. They both have phy connection but neither one will respond to ARP requests - but only with certain MAC addresses!

I am using my own addresses which are unique and have fully powered both devices and Ethernet switch between and MAC address changes

DEV1 = 8c 1f 64 b0 80 01
DEV2 = 8c 1f 64 b0 80 02

If I change one of the MAC addresses it all stats to work as expected. Can anyone explain what is going wrong?

DEV1 = 8c 1f 64 b0 80 01
DEV2 = 01 1f 64 b0 80 02

If you would change MAC from 8c 1f 64 b0 80 01 to 01 1f 64 b0 80 01 then W5500 would not report its MAC address as 8c 1f 64 b0 80 01 anymore at 201.201.201.1 as on the last picture. You have some other problem. Perform dump of all the registers on all the W5500 devices involved - common and socket - to see the actual chip settings you have when issue occurs.

Hi, my apologies I mislabeled which device has the modified Mac address which I have corrected now.

In a slight update I have got them to communicate by just Changing the last octet on both devices to:

XX XX XX XX XX 11
And
XX XX XX XX XX 12

Weird stuff!

This is really very strange…

I don’t suppose that you have a couple of W5500 and could try it out your end?

No, I do not have W5500s. One idea: where in the network do you perform Wireshark logging? Can you explain connections between W5500, switch, machine running Wireshark and the machine performing APRing to W5500?

The first picture shows .41 asking for .1, and then .1 asking for .42. All of them have no response. I know .1 is W5500, who is .42?

Both devices 201…42 and 201…1 are W5500 which are connected via a layer 2 switch. I am promiscuously observing the interactions on a PC with wireshark also connected to the switch.

Not likely switch filtering anything (e.g. basing on MAC address), but I would connect PC between W5500 and switch - only then you can be 100% sure you see all the traffic.

I would have suspected that as well. But both W5500s keep ARPING with no resolution and no packets are ever sent. Also with the simple change in MAC address both request (broadcast) and response (uni-cast) can be seen & packets are subsequently sent.

This to me indicates a problem with those particular MAC addresses with the W5500

Imagine hypothetical situation when switch having a rule of blocking ARP responses from nodes having 00-0F in the last octet of the MAC address. Sounds crazy. But you can see if node actually responds to requestor only connecting to this node directly. Use PC in bridge mode in the man in the middle role.

So in the original example I just changed the first octet (8C to 01) and in the second example I just changed the first (01 to 10 and 02 to 12).

Also note that the switch is a really simple non managed switch so is incapable of blocking/filtering

I am NOT trying to convince you that you do something inappropriate. I want to ensure what W5500 does on its network not depending on any other device except capturing device. We need to connect to its jack and capture packets out of there, and only then decide what direction to dig further.

Ok but to be clear the W5500 works fine when the MAC address is set to either of the first two examples:
DEV1 = 8c 1f 64 b0 80 01
DEV2 = 8c 1f 64 b0 80 02
When they are communicating with the host PC if I set the IP address of the PC to 201.201.201.(41 or 1) depending on if I am simulating DEV1 or 2, they ARP and send packets no problem.

They only fail to ARP and send packets when the MAC addresses are as above and they are communicating to each other. The ARPs never stop being requested and there is never any response.

** Please note that I change the PC IP address to a different one and power cycle the switch and W5500(s) between such tests.

I have no more ideas to express without further trial getting more diagnostic information in your setup. I asked to listen directly to the W5500 whatever useful information that provides. Maybe it will not, I do not know. Never try, never know. And I believe there must be no bug differentiating last octet of the MAC address for ARP replies. You found something useful, but more troubleshooting is required to find out the root cause.

Hi thank you so much for helping out!

I am using the Arduino IDE for SW development - do you know if there an easy way to get a register dump from the W5500?