I am writing a driver for the w5500 for rp2040. so far, my chip responds to ping requests from my PC on my LAN, responds to ARP requests from my PC, and is sending UDP Packets over my LAN with the correct payload, src, and dst ip addresses. However, the chip refuses to send an ARP request of it’s own (force ARP is on as well), which means the destination MAC of every packet is all zeroes. What I am doing is writing all my data to my TX buffer and simply writing the SEND command to sn_cr. Wondering if I am missing any steps here. From the wiznet w5500 driver it seemed that I was doing it right.
Can you explain in more detail? How do you know it refuses? You have error code from the chip? Or you mean it does not send ARP when you think it must? If yes, then when you think it must send ARP request? Your second pic shows 2.50 asking for MAC address and 2.100 responds with its MAC address.
It does not send ARP request when I believe it should. I am trying to send UDP packets from the chip (2.100) to my pc (2.50). I was trying to display that 2.100 responds to arp requests on the LAN, but when I send packets, does not send them itself
SEND (0x20) must send ARP request before the first UDP datagram is sent, but it does not happen, or something blocks chip doing so. Can you dump all common registers and registers of socket you use into hex and check them/post here?