Undocumented state between LISTEN and ESTABLISHED?

The loop I’ve written to read the socket status register of a server socket and dispatch to appropriate handlers sometimes reports that it is seeing an undocumented transition between SnSR::LISTEN and SnSR::ESTABLISHED. In particular, the status register has value 0x11. The code that detects the situation can be found here (it is in the form of an Arduino library).

If I have the code just ignore this transition (i.e. continue to treat the status as LISTEN), then the socket state does transition to ESTABLISHED (at least, that is what I’ve observed so far… I’ve not recorded what happens in all such situations).

Is there a more complete list of socket status values available?


p.s. For context, I’m using a Robotdyn Mega ETH board, which has a W5500 on it.

1 Like

You can ignore it except for the state values specified in the datasheet.
All status values are not disclosed due to company policy.

OK, thanks. I would recommend an errata entry specifying that undocumented SnSR values should be ignored. I’ll adjust my code accordingly.

Thanks for the good comments. Let’s apply it.