Ethernet shield w5100

Buongiorno a tutti.

Mi chiedevo se qualcuno sa dirmi quali possono essere i motivi per cui una stessa scheda ethernet W5100, impostata allo stesso modo e montata sullo stesso arduino, l'una risponde ed invece l'altra no.

Puo' essere una questione di configurazione, o è semplicemente guasta la scheda?

Grazie in anticipo

FC

Sfera di cristallo a parte intendi? :slight_smile:

Vista così direi proprio che una delle due schede W5100 è guasta, ma dovresti dire qualcosa di più... Ad esempio le schede le hai acquistate insieme dallo stesso fornitore? Sono assolutamente identiche come chipset? Sicuro che i cablaggi siano identici e corretti? Cosa intendi con "risponde", a cosa, al ping o connessioni o nessuna delle due? Riceve e riconosce l'indirizzo IP o sonocon IP statico? Quale Mac Address hai impostato sulle schede? E, in fondo, W5100 non dice molto, è una shield o un normale modulo?

no in realtà non sono state acquistate dallo stesso fornitore tantomeno nello stesso momento.
Nelle foto, quella sopra, è quella più vecchiotta e funzionante, quella sotto invece non l'ho acquistata ieri e non "risponde".


In particolare quella a sinistra non ha il piedino del reset poichè era mia intenzione gestire il reset della ethernet tramite software in modo da risolvere il problema del freeze, ma quando ho provato il reset via software non si è resettato solo la shield, ma tutto quanto l'arduino (allego foto)

Con il "non risponde" intendo dire che ho caricato lo stesso sketch su entrambe le shield, e mentre una esegue lo sketch in maniera impeccabile, l'altra quando digito l'indirizzo ip dello sketch, temporeggia e non mi fa entrare all'interno della pagina web.

Spero di essere stato esaustivo nell'esposizione del problema.
Intanto ti ringrazio per l'attenzione.

Io ho avuto problemi proprio con quel tipo di schede, che pare ne esista una partita difettosa (ma sono tante tante quelle difettose, fidati!).
Per verificarlo, carica questo sketch:

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(115200);

  // Disable SD SPI
  pinMode(4, OUTPUT);
  digitalWrite(4, HIGH);
  delay(1);
    
  // attempt a DHCP connection:
  Serial.println("Attempting to get an IP address using DHCP");
  if (Ethernet.begin(mac) == 0)
    Serial.println("failed to get an IP address using DHCP");
  else
    Serial.println("got an IP address using DHCP");

  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}

void loop() {
}

Modifica opportunamente la velocità della Serial e caricalo, quindi vedi cosa ti risponde con uno shield e cosa con 'altro.
Se la scheda funziona deve ottenere dal tuo DHCP un indirizzo della tua rete. Se ti dà errore, con lo stesso cavo e lo stesso Arduino con lo stesso sketch, è difettoso.

Nel mio caso lo shield aveva il chip difettoso, per cui non rispondeva correttamente alle richieste ARP per cui anche se il link sembra attivo (il LED sul connettore) di fatto non rispondeva mai né a ping nè ad altro. Ma solo se connesso ad uno switch, se lo collegavo direttamente ad una porta del mode-router funzionava!

Se anche questo è il tuo caso, fattelo sostituire o restituire i soldi. Se il venditore (eBay?) è serio è anche possibile che non ti chieda di rispedirlo (che sarebbe a tue spese in genere con i “cinesi” ma non solo) ma, come accaduto a me, ti manda un altro shield in sostituzione (io gli ho chiesto di accertarsi che non fosse guasto, altrimenti mi sono fatto mandare un WeMos D1 che costa più o meno lo stesso e così ha fatto).

Grazie!

Ho provato lo sketch come mi hai detto, e mentre su quello più vecchiotto ricevevo l'indirizzo IP, su quest'altro invece si imbambola e non mi da alcun indirizzo.

Provvederò a chiedere la sostituzione del prodotto.

Grazie ancora =)

P.S.
se hai anche una soluzione per il reset via software te ne sarei grato :stuck_out_tongue:

... o anche per una soluzione al freeze della ethernet, si intende!