Carte ethernet qui plante

Bonjour
qui aurais deja eu ce probleme
il arrive que la carte ethernet ne soit plus joignable alors que les autre fonctions gerer par la mega continue de fonctionner
cela repart apres un reset (mais dommage lorsque l 'on n'est pas sur place)
merci

bonjour,

les autre fonctions gerer par la mega continue de fonctionner

donc pas un plantage de la mega, puisque le reste fonctionne.

AMHA, soucis avec le bail du modem ou router.
ip fixe ou dhcp?
type de box?

si tu fais un ping, ca répond ou marque que non joignable?

ip fixe local
dtdns pour l acces exterieur

livebox play (livebox V3 pour les puristes)
page innacessible je ne peux pas faire de ping en exterieur car pas d ip fixe FAI

Pascal17740:
ip fixe local
dtdns pour l acces exterieur

livebox play (livebox V3 pour les puristes)
page innacessible je ne peux pas faire de ping en exterieur car pas d ip fixe FAI

Bonsoir
Quel shield ethernet ?
certains shield ethernet sont "connus" pour chauffer et se mettre en shutdown , mais comme ils ne sont pas "correctement reinitialisé" apres un retour à la normal tu n'a plus de liaison exploitable avant un reset.

Artouste:
Bonsoir
Quel shield ethernet ?
certains shield ethernet sont "connus" pour chauffer et se mettre en shutdown , mais comme ils ne sont pas "correctement reinitialisé" apres un retour à la normal tu n'a plus de liaison exploitable avant un reset.

Cest le shield officiel
y a t il un moyen de faire un reset programme du shield

soit faire un reset complet de la mega
soit via une bidouille, mettre la pin d'alim sur un pin que tu peux mettre à LOW puis remettre à HIGH
ou dans la même optique, utiliser un transistor 2n2222 pour couper son alim via une pin

Bonjour
je viens de jeter un oeuil sur la fiche technique du shield
il faut passer la pin 53 en output high sur la mega?

Pascal17740:
Bonjour
je viens de jeter un oeuil sur la fiche technique du shield
il faut passer la pin 53 en output high sur la mega?

Bonjour
Déjà , il faut etre sur que le probleme vient bien d'un "thermal shutdown" , ce n'est qu'une hypothese

Deux mega meme logiciel
un ethernet officiel qui plante
l'autre non

Pascal17740:
Deux mega meme logiciel
un ethernet officiel qui plante
l'autre non

cette carte ethernet sert à quoi ?
faire de la connection en permanence ou episodiquement ?

elle sert d interface graphique a un systeme domotique avec interaction exterieur

Domo La Noue.pdf (479 KB)

Pascal17740:
elle sert d interface graphique a un systeme domotique avec interaction exterieur

Ton shield est confiné ?
si oui je mettrais déjà pour test une petite ventilation (genre 30X30) au dessus d'un petit radiateur collé sur le W5100.

Tu a la possibilté de faire une detection de plantage ethernet dans ton programme ?
(genre un ping periodique de la box ?)

mon montage n ‘est pas confiné car j ai besoin d’ y acceder lorsque je le fais evoluer par programation.
j ai tous d’abord penser a mettre un watchdog logiciel dont copie ci dessous

#include <avr/wdt.h>

void softwareReset( uint8_t prescaller) {
  // start watchdog with the provided prescaller
  wdt_enable( prescaller);
  // wait for the prescaller time to expire
  // without sending the reset signal by using
  // the wdt_reset() method
  while(1) {}
}

void setup() { // add setup code here...}

void loop() {
  // ... various code...

  // restart in 60 milliseconds
  softwareReset( WDTO_8S);
}

mais aucun changement
je vois pas comment faire un auto test du fonctionnement de la partie ethernet
et si je place ce bout de code qui se trouve au niveau du setup

 Ethernet.begin(mac, ip);
  server.begin();

dans le loop serais ce utile?

Pascal17740:
mon montage n ‘est pas confiné car j ai besoin d’ y acceder lorsque je le fais evoluer par programation.
j ai tous d’abord penser a mettre un watchdog logiciel dont copie ci dessous

#include <avr/wdt.h>

void softwareReset( uint8_t prescaller) {
 // start watchdog with the provided prescaller
 wdt_enable( prescaller);
 // wait for the prescaller time to expire
 // without sending the reset signal by using
 // the wdt_reset() method
 while(1) {}
}

void setup() { // add setup code here…}

void loop() {
 // … various code…

// restart in 60 milliseconds
 softwareReset( WDTO_8S);
}



mais aucun changement

tout redemarre bien , mais pas l’ethernet ?

exact

Pascal17740:
exact

Ton shield plante à intervalle +/- constant ou c'est vraiment aleatoire ?

c 'est de l aleatoire
peut planter 3 fois dans la journee ou bien attendre que je soit parti pour plusieurs jours pour qu il le fasse . Donc pour verifier que je n ai pas de coupure de courant j 'appel sur la ligne par internet si cela ne bascule pas directement sur le repondeur c 'est que le courant est la et que la box foctionne .
je fais attention c'est pour cela que je controle via le serveur web que j ai ma trame tele info et la presence secteur pour eviter de rentrer en ayant perdu le contenu du congelateur

j’avais un soucis avec un server web, du coup j’utilisais un ping via un cron.
si le ping ne passait pas, reboot du server, sinon on continue.

tu peux faire la même chose avec arduino
https://playground.arduino.cc/Code/ICMPPing

tu fais un ping soit sur ton modem, soit sur un server quelconque comme google ou 8.8.8.8
si le ping ne passe pas, tu fais un reboot soft de ta carte mega pour relancer tout le code

j ai vaguement compris le bout de script
par contre je ne vois pas comment faire le reset propre de la carte mega et etres sur que l Eth reset aussi
parce que pour faire des tests lorsque le shield n’est pas planté cela ne sert a rien

#include <ICMPPing.h>
 
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // mac address for ethernet shield
byte ip[] = {192,168,1,50}; // ip address for ethernet shield
IPAddress pingAddr(8,8,8,8); // ip address to ping
 
SOCKET pingSocket = 0;
 
char buffer [256];
ICMPPing ping(pingSocket, (uint16_t)random(0, 255));
 
void setup()
{
  // start Ethernet
  Ethernet.begin(mac, ip);
  Serial.begin(9600);
}
 
void loop()
{
  ICMPEchoReply echoReply = ping(pingAddr, 4);
  if (echoReply.status == SUCCESS)
  {
   //rien faire
  }
  else
  {
   //reboot
  }
 
  delay(500);
}

c’est bien cela la façon la plus simple de faire l auto test?

Pascal17740:
j ai vaguement compris le bout de script
par contre je ne vois pas comment faire le reset propre de la carte mega et etres sur que l Eth reset aussi
parce que pour faire des tests lorsque le shield n'est pas planté cela ne sert a rien

bonjour
essaie déjà de faire un nouveau ethernet.begin lorsque tu ne ping plus