OpenSprinkler › Forums › Hardware Questions › OpenSprinkler › Controller lockups / crashes with wired Ethernet module › Reply To: Controller lockups / crashes with wired Ethernet module
I have about 1 week of runtime with my debug code. I have caught a few errors.
The first run showed 6 recoveries, then I power cycled the OS and now it shows
3 recoveries. These mostly resulted in no errors showing on a web browser
pointed at the OS. All of the errors were receive buffer overflows.
I normally keep 2 browsers showing my OS, both Firefox; one running on Windows
and one running on Linux. One time the browser on Windows showed “Network error”
and would not refresh. At the same time the browser on Linux refreshed properly
indicating that the OS Ethernet interface was not at fault. When I closed the
browser tab the reopened the tab the OS web page came up OK.
I suspect that there is some problem in the protocol between the browser and the OS.
Perhaps the browser protocol is not robust enough to withstand the lost packets that
will occur when the OS resets the Ethernet interface. This will necessarily
result in lost packets and likely connection timeouts.
I recommend that the recovery code for the ENC28J60 Ethernet interface be included
in the standard release. The driver code for the ENC28J60 does not detect buffer
overflow and does not have any error recovery code. A buffer overflow stops the
processing of received packets and must be recovered by the system before it can
resume normal processing.
I suspect that there is a problem in the higher level protocol that communicates
with the browser. It is possible that the protocol sometimes cannot recover
in a situation where the channel is momentarily broken and a number of packets
are lost. However that protocol is outside of my area of experience.
Hope this helps,