@@ -183,42 +183,45 @@ void updateEthernet()
183183 w5500ClearSocketInterrupt (ntpSockIndex); // Clear the socket interrupt here
184184
185185 // Maintain the ethernet connection
186- switch (Ethernet.maintain ())
187- {
188- case 1 :
189- // renewed fail
190- if (settings.enablePrintEthernetDiag && (!inMainMenu))
191- systemPrintln (" Ethernet: Error: renewed fail" );
192- break ;
193-
194- case 2 :
195- // renewed success
196- if (settings.enablePrintEthernetDiag && (!inMainMenu))
186+ if ((online.ethernetStatus >= ETH_STARTED_CHECK_CABLE) && (online.ethernetStatus <= ETH_CONNECTED))
187+ switch (Ethernet.maintain ())
197188 {
198- systemPrint (" Ethernet: Renewed success. IP address: " );
199- systemPrintln (Ethernet.localIP ());
200- }
201- break ;
189+ case 1 :
190+ // renewed fail
191+ if (settings.enablePrintEthernetDiag && (!inMainMenu))
192+ systemPrintln (" Ethernet: Error: renewed fail" );
193+ ethernetRestart (); // Restart Ethernet
194+ break ;
202195
203- case 3 :
204- // rebind fail
205- if (settings.enablePrintEthernetDiag && (!inMainMenu))
206- systemPrintln (" Ethernet: Error: rebind fail" );
207- break ;
196+ case 2 :
197+ // renewed success
198+ if (settings.enablePrintEthernetDiag && (!inMainMenu))
199+ {
200+ systemPrint (" Ethernet: Renewed success. IP address: " );
201+ systemPrintln (Ethernet.localIP ());
202+ }
203+ break ;
208204
209- case 4 :
210- // rebind success
211- if (settings.enablePrintEthernetDiag && (!inMainMenu))
212- {
213- systemPrint (" Ethernet: Rebind success. IP address: " );
214- systemPrintln (Ethernet.localIP ());
215- }
216- break ;
205+ case 3 :
206+ // rebind fail
207+ if (settings.enablePrintEthernetDiag && (!inMainMenu))
208+ systemPrintln (" Ethernet: Error: rebind fail" );
209+ ethernetRestart (); // Restart Ethernet
210+ break ;
217211
218- default :
219- // nothing happened
220- break ;
221- }
212+ case 4 :
213+ // rebind success
214+ if (settings.enablePrintEthernetDiag && (!inMainMenu))
215+ {
216+ systemPrint (" Ethernet: Rebind success. IP address: " );
217+ systemPrintln (Ethernet.localIP ());
218+ }
219+ break ;
220+
221+ default :
222+ // nothing happened
223+ break ;
224+ }
222225#endif // COMPILE_ETHERNET
223226}
224227
0 commit comments