You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
with this code the packet is sent from recv_port to recv_port, and not to dest_port.
This can be fixed in
socket.cpp > bool EthernetClass::socketSendUDP(uint8_t s)
by replacing W5100.execCmdSn(s, Sock_SEND);
with W5100.execCmdSn(s, ((W5100.readSnMR(s) & SnMR::MULTI) == SnMR::MULTI) ? Sock_SEND_MAC : Sock_SEND);
The text was updated successfully, but these errors were encountered:
that is not a right use of SEND_MAC. from W5500 datasheet
SEND_MAC transmits data without the automatic ARP-process. In this case, the destination hardware address is acquired from Sn_DHAR configured by host, instead of APR-process.
that is not a right use of SEND_MAC. from W5500 datasheet
SEND_MAC transmits data without the automatic ARP-process. In this case, the destination hardware address is acquired from Sn_DHAR configured by host, instead of APR-process.
Multicast don't rely on ARP-process. no need to match an IP to a MAC as the group defines the destination MAC.
How to reproduce the issue :
with this code the packet is sent from recv_port to recv_port, and not to dest_port.
This can be fixed in
socket.cpp > bool EthernetClass::socketSendUDP(uint8_t s)
by replacing
W5100.execCmdSn(s, Sock_SEND);
with
W5100.execCmdSn(s, ((W5100.readSnMR(s) & SnMR::MULTI) == SnMR::MULTI) ? Sock_SEND_MAC : Sock_SEND);
The text was updated successfully, but these errors were encountered: