7 years, 4 months ago.

Robustness of EthernetInterface?


I'd like to share some early testing results from an IoT application I developed on the robustness of Ethernet interface and see if I can get some input from you guys.

The setup is like this: a set of home brew web servers are deployed in north america, and several mbed based devices are installed across continent america, some in east Asia (China). Mbed devices call servers on average once a minute via HTPP post over Ethernet. Mbed devices also call to a NTP server on average once per hour. Timeout for HTTP client is set at 7500ms, and Watchdog timer set at 60s.

For the devices installed in north america, over the course of four months, the overall robustness is acceptable. On average, those devices reboot slightly more than once per day. With the best one at once per week (installed on a university network). For those installed in China, mbed devices reboot on an hourly basis which is certainly not acceptable.

Since everything is identical except the network between mbed devices and servers, I tend to attribute the robustness problem to the network stack: HTTP client library + Ethernet interface, and the socket library underneath. In theory, timeout will be honored and mbed devices will move on if attempts to connect to internet fail, but this seems not happen, at least not every time.

Similar issues have been described in the following post: https://developer.mbed.org/questions/5358/for-Compatibility-with-EthernetInterface/

And I tried to wrap all internet connection into a thread to get around. Unfortunately it didn't work well.

So, does anyone have in field or in lab testing results on the robustness of mbed based devices particularly the network stack? How about you folks at Mbed headerquarter?

Question relating to:

mbed IP library over Ethernet ethernet, ip, mbed
Be the first to answer this question.