I am running a W5500 WIZ550io with the shield adapter on top of a custom microprocessor. The code is my own and a version of it can be seen here wiznetmuseum.com/portfolio-items … ith-w5500/
Sometimes I encounter SOCK_FIN_WAIT after issuing a disconnect but if i let it go for a couple of hundred ms it will close properly. Other times the status is persistent and I just have to issue close. The temporary problems happen when the connection is coming from outside the local lan and the permanent problems are usually local.
Also, sometimes a session is established but there is no data (SnRX_RSR=0) but if i wait a couple of hundred ms, the size fills in. Other times the problem is permanent and the data never shows up. Again, the problem happens particularly with connections coming in from outside the local LAN.
In both cases, I am now running retry code but i don’t like it because it ties up the system and there is no way of knowing how long to wait. I have run similar code with a w5200-based shield and not I would just disconnect 0 data sessions and close on SOCK_FIN_WAIT but if i do that with the w5500 i end up with hung browsers.
Thanks for any help.
There’s a bit more info here olduino.wordpress.com/2015/03/0 … ome-light/
Are these expected situations? Is there a better way to deal with them?