I have had some intermittent connection issues with Ethernet and have finally come to some conclusions I thought I would share.
I am currently running 4 boards, all with Ethernet shields, 3 boards are Mega 2560 and one is an Uno. I have had very intermittent connectivity issues with one of my boards and a vexing hung input on another. One board that never gave me issues was the Uno I had in test with an RGB shield. The other one that never presented a problem was a Mega I had in test with OneWire devices and an I/O shield. To be fair the Mega in test, rarely had any inputs changes, it just sat there connected and never gave a problem. The Uno was actively tested but also never gave a problem. I purchased a lort of boards, some genuine Arduino and others from Chinese eBay sellers or Sainsmart. My Ethernet shields were mostly Chinese Arduino "compatible" with two genuine Arduinos on hand. One of the genuine Arduinos was on the Uno and the other was on the shelf.
I started trying to cure the hung input problem. This particular board was fed by three microswitches from three of my hydronic zone valves. The confusing thing is that only one input would hang. When the DHW (Domestic Hot Water) valve closed and the microswitch opened, frequently the Arduino input would still show low. The only cure was to disconnect/reconnect the board. There were two identical inputs from identical zone valves that would never hang. There were also 6 more of these valves on a second Arduino and none of them would hang either. I changed the microswitch on the off chance that it was noisy or leaky. No Joy. Then I changed out the Mega and Ethernet shield. Noting that it was a compatible Arduino, I replaced it with a Genuine Mega R3. Still no joy, but now when the input hung, my reset events would disconnect the board but it would never reconnect without a manual reset. I changed the Ethernet cable - no joy. Realizing that I had used one of the "compatible" Chinese Ethernet shields, I opted to replace it with a Genuine Arduino shield. Not only did the connection issues go away, but I also have not had a hung input for the DHW valve since the change. It has been three days. I have no idea what an Ethernet shield could have to do with the hanging input, but since the connectivity was completely unstable I suppose errors could happen in communication between the board and plug-in. Before the changes, it was happening with every cycle of the hot water, usually twice daily. That was my real troublesome production board 2.
Production board 1 would not give me problems, but it did generate frequent disconnect errors in the log. I changed it to a genuine Arduino Mega and a genuine Arduino Ethernet shield. In three days not a single connection error in the log.
I have been fighting these intermittent problems for quite a few months. While three days doesn't confirm beyond a shadow of doubt, it is longer than I have gone in months.
While I cannot prove anything about the Mega boards, I believe I have proven that the Arduino R3 Ethernet Shields are more reliable than the Wiznet clones from China.
I think for me to count on reliable operation, I am going to stick with genuine Arduino boards and Ethernet shields. From my experience, at the very least, I would highly recommend sticking with the genuine product for the Ethernet shields.
I am currently running 4 boards, all with Ethernet shields, 3 boards are Mega 2560 and one is an Uno. I have had very intermittent connectivity issues with one of my boards and a vexing hung input on another. One board that never gave me issues was the Uno I had in test with an RGB shield. The other one that never presented a problem was a Mega I had in test with OneWire devices and an I/O shield. To be fair the Mega in test, rarely had any inputs changes, it just sat there connected and never gave a problem. The Uno was actively tested but also never gave a problem. I purchased a lort of boards, some genuine Arduino and others from Chinese eBay sellers or Sainsmart. My Ethernet shields were mostly Chinese Arduino "compatible" with two genuine Arduinos on hand. One of the genuine Arduinos was on the Uno and the other was on the shelf.
I started trying to cure the hung input problem. This particular board was fed by three microswitches from three of my hydronic zone valves. The confusing thing is that only one input would hang. When the DHW (Domestic Hot Water) valve closed and the microswitch opened, frequently the Arduino input would still show low. The only cure was to disconnect/reconnect the board. There were two identical inputs from identical zone valves that would never hang. There were also 6 more of these valves on a second Arduino and none of them would hang either. I changed the microswitch on the off chance that it was noisy or leaky. No Joy. Then I changed out the Mega and Ethernet shield. Noting that it was a compatible Arduino, I replaced it with a Genuine Mega R3. Still no joy, but now when the input hung, my reset events would disconnect the board but it would never reconnect without a manual reset. I changed the Ethernet cable - no joy. Realizing that I had used one of the "compatible" Chinese Ethernet shields, I opted to replace it with a Genuine Arduino shield. Not only did the connection issues go away, but I also have not had a hung input for the DHW valve since the change. It has been three days. I have no idea what an Ethernet shield could have to do with the hanging input, but since the connectivity was completely unstable I suppose errors could happen in communication between the board and plug-in. Before the changes, it was happening with every cycle of the hot water, usually twice daily. That was my real troublesome production board 2.
Production board 1 would not give me problems, but it did generate frequent disconnect errors in the log. I changed it to a genuine Arduino Mega and a genuine Arduino Ethernet shield. In three days not a single connection error in the log.
I have been fighting these intermittent problems for quite a few months. While three days doesn't confirm beyond a shadow of doubt, it is longer than I have gone in months.
While I cannot prove anything about the Mega boards, I believe I have proven that the Arduino R3 Ethernet Shields are more reliable than the Wiznet clones from China.
I think for me to count on reliable operation, I am going to stick with genuine Arduino boards and Ethernet shields. From my experience, at the very least, I would highly recommend sticking with the genuine product for the Ethernet shields.
Comment