It’s a weird problem since it happens at random, even with the exact same data, in FNETs examples those particular sockets with no data were closed so if you were to make your own example based off of those you wouldn’t really notice them. Most of the time this doesn’t cause issues since programs should just try to connect again, but I’ve ran into a particular program that would refuse to connect again since this is seen as an error. Before I made NativeEthernet I did run into it, but I couldn’t figure out the specific issue since my example was based off of one of FNET’s and so the problem socket was closed. Based on Wireshark I could see the TCP socket got the data but it never arrived at the sketch level. I didn’t look into it much at the time since it was such a rare occurrence I had no way of repeating it and more so wrote it off as some kind of error with the USB Ethernet driver I made. So being that FNETs examples have a specific check for this kind of error I’m inclined to believe it’s a problem in FNET. Though like I said it’s a really weird issue that seems to arise with a corrupt TCP frame of sorts, normally the socket receive is closed and that frame discarded. Being that the socket receive was being closed off that was what was causing issues so I commented out the lines that would do that, but left the part where it discards the corrupt frame.