PROBLEMI COLLEGAMENTI SCHEDA ETERNET W5100 CON TP-LINK TL-SF1005D

Buongiorno
Sono qua per chiedervi un grande aiuto.
Per esigenze particolari ho dovuto aumentare le porte LAN con un switch TP-LINK SF1005D, ma il mio arduino-scheda ethernet collegato non funziona.

I collegamenti sono i seguenti:
Dal mio ROUTER WIRELESS-N MINI ROUTER parto con un cavo LAN e collego il TP-LINK SF1005D.
Da li riparto con cavi e collego arduino-scheda ethernet e il mio PC.
Questo collegamento non fa funzionare il mio arduino e invece il PC funziona correttamente.
Se invece collego il ROUTER WIRELESS-N MINI ROUTER ad arduino-scheda ethernet funziona tutto.

Cosa c’è che non va?

Premetto che i cavi sono tutti comprati e facendo le prove di collegamento con tutti i cavi ROUTER arduino-scheda ethernet funziona tutto.

allego sketch

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

//Settare l`IP manualmente
byte ip[] = { 192, 168, 1, 155 };   //Inserire il vostro IP
byte gateway[] = { 192, 168, 1, 1 }; //Inserire il vostro gateway (lasciare invariato)
byte subnet[] = { 255, 255, 255, 0 }; //Lasciare invariato il subnet mask se non necessario
byte mac[] = { 0x1E, 0x2D, 0x3E, 0x4F, 0x5E, 0x6D };

  
  EthernetServer server(80);  // create a server at port 80

Simone

Prova con un cavo incrociato cross http://forum.arduino.cc/index.php?topic=305917.0

Fammi capire meglio...

  • CONFIGURAZIONE "A" ROUTER -cavo1-> W5100 funziona

  • CONFIGURAZIONE "B" ROUTER -cavo2-> SWITCH -cavo3-> W5100 non funziona

Esatto? Ma soprattutto COSA SIGNIFICA "non funziona"? Non è che vai dal meccanico e dici "la macchina non funziona". Le prime domande che mi vengono in mente sono:

1) oltre allo switch, dicci marca/modello del modem/router 2) hai usato lo stesso cavo nelle due prove, ossia cavo1 è lo stesso di cavo3? 3) oppure cavo1=cavo2 quindi per Arduino hai usato un altro cavo (cavo3)? 4) hai usato la STESSA porta del router nelle due config A e B? 5) sei in IP statico o dinamico? 6) parli di connessioni dal PC verso Arduino o viceversa? 7) Non hai il link fisico sulla porta (si accende la spia sullo switch)? Oppure il link c'è ma non ottieni l'IP (se DHCP)? Oppure hai l'IP o è statico, e non raggiungi Arduino dal PC? E su Arduino hai qualche diagnostica della connessione o errore o altro?

pablos: Prova con un cavo incrociato cross

Lo switch è auto-sensing, non serve a niente il cavo cross.

Buona sera PABLOS e DOCDOC grazie mille per i vostri consigli ho risolto il mio problema. Vi riassumo la soluzione.

il materiale utilizzato è questo: ROUTER http://www.ebay.it/itm/like/131610308924 SWITCH http://www.ebay.it/itm/like/161309956636 SCHEDA ETHERNET ARDUINO http://www.ebay.it/itm/W5100-Modulo-Scheda-Ethernet-LAN-Slot-Micro-SD-per-Arduino-UNO-2009-1280-2560-/291268471854?hash=item43d0f42c2e:g:T9kAAOSwuTxWAAh-

Questa è la configurarione: ROUTER -cavo1-> SWITCH -cavo2-> W5100 SWITCH -cavo3-> PC

Il cavo1-cavo3=diretto il cavo2=incrociato

Questo tipo di configurazione mi permetteva di fare un ping tra PC e scheda W5100, mentre se utilizzavo il cavo2(diretto) non avevo risposta del ping.

Per chi non vuole perdere la testa puo utilizzare questo switch http://www.ebay.it/itm/Switch-D-Link-Dgs-105-DGS-105-/161926503342?hash=item25b3925bae:g:iygAAOSwL7VWiucG con questo dispositivo non è necessario utilizzare cavi incrociati

Problema risolto Grazie mille a tutti Simone

Quindi serviva un cavo incrociato con gli apparati che avevi? o no?

Sono contento che abbia risolto, ma continuo ad avere dubbi sul discorso del cavo cross.

Mi spiego, il suo switch (come tutti gli switch degli ultimi 10 anni, compresi quelle economici) è autosensing ossia rileva automaticamente i cavi cross e si adatta. Per cui l’unico mio dubbio è che per collegare Arduino lo abbia fatto sulla connessione “uplink” (credo la porta 5, quella che visivamente è “diversa” dalle altre) che spesso NON ha autosensing, mentre tutte le altre 4 ce l’hanno sicuramente. Per cui se il cavo della W5100 lo mette in una delle altre porte switch secondo me funziona anche col cavo diritto.

>pablos: >docdoc: ... ho cancellato i vostri due post ... e, se volte polemizzare tra di voi, siete pregati di farlo via MP.

Occhio docdoc che NON tollero insulti e parloacce ... non costringermi ad agire di conseguenza ...

Guglielmo

Accidenti non l'ho letto ... comunque al 99% se do una risposta è perchè posso dimostrare, non lo faccio per sentito dire o per supposizioni, infatti non uso mai i termini "credo", "forse", "magari" ... tra l'altro io uso e installo proprio i tp-link dove le reti non richiedono cose troppo complesse, ne discuteremo in privato. Metti un lucchetto :)

Pablos, dopo il giusto intervento di Guglielmo, per tornare in topic, ovviamente dato che la mia è più che altro una curiosità visto che non sto lavorando su un progetto simile (comunque il W5100 mi arriva Martedì), e che lavoro nell'informatica da qualche decennio, anche io penso di poter affermare le cose che penso di sapere.

Posso anche sbagliare, come tutti (io e/o te), ma se si resta nell'ambito della collaborazione e confronto è una cosa diversa e ci sto anche, ma una cosa diversa è se qualcuno mi attacca in modo ingiustificato e sgarbato.

Per tornare al discorso, oltre a non lucchettare questo topic visto che la questione cross è ancora aperta, continuo a dire, pacatamente e spero tu faccia altrettanto, che per me la storia del cross non ha grosso senso, non l'ho mai sentita una cosa del genere, a meno che l'amico non abbia collegato il W5100 ad una porta "uplink" dello switch dove non c'è autosensing o che la porta Ethernet del W5100 non abbia qualcosa di "strano". E ovviamente la prossima settimana farò le mie prove dirette con il W5100, per cui vedrò di persona come stanno le cose.

Ho ricevuto il W5100, dall'immagine mi sembra anche identico a quello del nostro amico, ed effettivamente se connesso ad uno switch (il mio è un normale D-Link unmanaged, quindi normale L2) non comunica, nonostante tutti i LED dell'interfaccia siano correttamente accesi, se invece lo collego direttamente ad una porta del modem router, funziona. Non ho provato con un cavo cross perché non ne ho, però ho fatto qualche test con Wireshark (nei miei limiti) e a me sembra che quando è connesso via switch ci siano problemi con gli ARP request ma lo switch non riceve risposta o non "gradisce" il MAC restituito. Sto pensando che sia un problema legato a qualche "difetto" di queste cineserie che non gestiscono correttamente l'ARP, problema forse legato anche al MAC address fittizio (il DEAD BEEF FEED). Se si connette invece al modem/router, che forse gestisce diversamente gli ARP (?) da un semplice switch L2, la cosa funziona. Se quindi il problema fosse risolvibile con un cavo cross non lo so, mi sembra tuttora strano ma magari qualcosa cambia nel meccanismo della gestione ARP quando una porta in auto-sensing vede un cavo cross (ma anche questa non mi convince affatto...). Se dovessi trovare una qualche spiegazione ve lo farò sapere, almeno per curiosità.. ;-)

sempre più curioso, dopo le prove fatte collegando

W5100 -> Router (funziona)

poi

W5100 -> Switch D-Link -> Router (non funziona)

stamattina ho collegato

W5100 -> Switch Hamlet -> Switch D-Link -> Router

e funziona (sempre con cavo diritto, no cross). E' come se il problema fosse solo con "alcuni" (a quanto pare, molti) switch ma altri no.

Provato anche con un ENC28J60 invece del W5100, e con l'ENC funziona invece sempre, indipendentemente dallo switch.

Mi pare di aver capito, dopo diversi articoli, post e prove pratiche, che i problemi di connessione relativi alle w5100 a basso costo sono dovuti in buona parte ad un errore nell'hardware relaitivo all'array di resistenze.

Con un paio di resistenze saldate nel posto giusto... dovrebbe funzionare tutto, prova a guardare qui

https://arduino-appunti.blogspot.it/2017/05/w5100-e-arduino-problemi-connessione-lan.html

Grazie, pirandelliano (! :) ) molto interessante, proverò questa modifica. Anche perché quel W5100 l'avevo accantonato proprio come "inaffidabile" ma mi sarebbe utile poterlo usare.