W5500 / W5300 differences and errata?


as changing from W5300 to W5500, I start cleaning up all the workarounds for W5300 chip.
One of them is the “get rid of pending TCP transmission packets”, which is in socket_close() for W5300.
Is that cleanup still needed, or being taken care of the socket itself in close action?

Is there any recent errata sheet of W5500?

I also found in one posting here that W5500 still supports IPRAW, while the datasheet doesnt say anything about.
Also Sn_PROTOR - which is maked “reserved” in datasheet, but is being using in application note of WizNet.

Moreover, in one posting here Sn_TX_WR was declared as “you can write to, but changes are only seen after SEND command” - while in datasheet it is declared as normal read/write access register.

Another issue: in recent socket.c the close() function polls for Sn_CR to get 0x00 befoe continuing; I would have expected to poll for Sn_SR to get SOCK_CLOSED?

Some information / errata / update on data sheet would be nice to clarify things (and make migration from W5300 to W5500 easier :slight_smile: )


Dear Michael,

=> W5500 do not have this errata.

=> The variable of Sn_TX_WR is updated after SEND command. When SEND command is fail, it can be prevent the increasing of Sn_TX_WR.

=> It is okay.