I make series of devices using W5500 chip.
Some of chips (~5%) I have hangs up during startup and code stucks in infinite loop. Other works fine. I dont expect this is hardware/PCB/soldering problem as communication with chip is working fine.
When opening UDP socket first action is to set “CLOSE” on socket. After setting SN_CR register to 0x10 it never returns to 0 but stays as 0x10. After ~4 seconds MCU is rebooted by watchdog. Please see screenshot attached:
Step “Check SN_CR” is not necessary, but I added it for debug purposes.
Code works as expected, it stays in while loop until SN_CR is cleared (as stated in W5500 docs). Question is WHY SN_CR is not cleared?
My software bases on Arduino, and uses Ethernet2 library from Arduino. Until now i didn’t have any problems with that and for ~20 produced units it was working fine.
Thanks for help!