SEND_MAC Command from Ethernet Shield V2 Not Working

I am using an Ethernet Shield V2 with a Mega 2560 board. I am trying to send UDP messages without using an ARP request, so I extended the Arduino library to set the destination MAC and use the SEND_MAC command on the W5500 chip instead of SEND.

It appears this works sometimes and is dependent on initial power up. I am wondering if this command is somehow faulty. It appears that when I get a “bad” power up, it consistently fails to transmit. I am not seeing any reported errors in this state – per the code, the SEND_OK flag is set in the socket interrupt register without SEND_TIMEOUT. But when I get a “good” power up, I consistently do not see an issue.

I have tried using a hard reset of the chip and processor, and I did not see this remedy the issue.

I believe we found the issue.

We were setting the MAC address in the destination HW address register to something different than the actual MAC address used for the destination IP address.

I would guess that the W5500 chip gets confused and doesn't work as expected when this occurs.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.