Setting RX memory size

I am having some issues setting the RX memory sizes.
When I try to increase the Sn_RXMEM_SIZE from 2K to 4K on socket 0 I am experiencing corrupted data received from that socket.

Do I need to be setting the Sn_RXMEM_SIZE registers for all sockets so that the sum of Sn_RXMEM_SIZE of all sockets totals 16KB, or am I missing something?

Datasheet for W5200 explains it well in Sn_RXMEM_SIZE and Sn_TXMEM_SIZE sections. Base (gSn_RX_BASE) remains the same as socket is #0, but mask (Sn_RX_MASK) will change from 0x7ff to 0xfff. All pointer registers remain 16-bit.

1 Like

Got it working. Thanks!