Ethernet, Router ecc... ecco i primi seri problemi :/

E’ tutto il pomeriggio che ci sbatto la testa, invio questo mess e poi fino a domani stacco la mente :slight_smile:
Arduino 2009 con ethernet shield arduino.
Configurazione di casa:
PC desktop Connesso ad internet IP: 192.168.0.1
Router FON Connesso tramite cavo eth al PC desktop IP: 192.168.0.2

Il router fon con su dd.wrt è in modalità AP distribuisce la rete “CASA”.

Poi ho comprato, apposta per l’eth shield, un d-link G700AP.
Configurato in “client mode” il d-link700AP si connette alla rete casa.

E fin qui, tutto ok.

Collegando un laptop tramite cavo eth cross-over, con i seguenti parametri, al d-link 700AP :
ip: 192.168.0.9
subnet: 255.255.255.0
gatway: 192.168.0.1

Mi collego in internet tranquillamente.
Se dal pc desktop (192.168.0.1) faccio un ping al laptop (192.168.0.9) collegato al d-link tutto va bene.

A questo punto stacco il laptop e ci attacco l’arduino con caricato uno sketch di web server.

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168,  0, 9 };
byte subnet[] = { 255, 255, 255, 0 };
byte gateway[] = { 192, 168, 0, 1 };

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

Nada.
Apro il browser all’indirizzo 192.168.0.9… e la pagina scade senza aprire nulla.
Se stacco l’arduino dal d-link e lo collego direttamente al pc, senza nemmeno cambiare lo sketch, tutto funziona e riesco a raggiungere e leggere la pagina del webserver.

Se configuro il d-link come AP, l’arduino funziona. Ma a me serve un client alla mia rete domestica, non un altra rete in casa.

Idee? suggerimenti? come cavolo mando in wifi tramite l’eth shield l’arduino?
Perché se il d-link è attaccato al laptop, tutto funziona (ping compreso) mentre se è attaccato all’arduino buio totale?

Un assai sconsolata Daniela

WWW === DESKTOP(192.168.0.1) === FON_AP (192.168.0.2) <-------------> DLINK (client)==== LAPTOP (192.168.0.9)/Arduino?

L'Eth shield è connesso con il router con un cavo dritto o incrociato ? che non sia quello a dar problemi...

Si ho utilizzato un crossover, ma non cambiava nulla. Se attacco il laptop funziona tutto, dal ping ad internet... se attacco l'arduino, buio totale.

Cmq ho risolto. Posto la mia soluzione di fortuna nel caso torni utile un domani a qualcuno. Purtroppo in questo senso il forum mi è stato poco utile, c'era qualcuno che sembrava essere incappato in un problema simile ma, dopo averlo risolto, non ha scritto la soluzione/configurazione per esteso :\ http://arduino.cc/forum/index.php?topic=34632.15

BTW ho risolto cambiando approccio. Ho settato il d-link come AP. Riconfigurato la fonera come client bridge (su dd-wrt) collegandola tramite cross-over all'arduino e tutto funziona. Magari in futuro mi riserverò di fare altre prove per vedere se riesco a venirne a capo, del resto il d-link -anche se non esplicitato- avrebbe dovuto fare anche lui da repeater/client/bridge...

Per ora mi accontento di avere un web server funzionante che si collega come client alla rete di casa :) Grande cosa questi routerini fon, peccato che non se ne trovano più in giro se non a prezzi esorbitanti.

Ho capito il casino.... ti consiglio di fare proprio come hai fatto: esperienza personale (ho anche io una fonera 2100!!!)

Metti la fonera all'ethernet shield e usa l'altro router come router domestico.

DD-WRT è una figata pazzesca e si presta di più su questo genere di operazioni.... probabilmente l'altro router si imballa un pò in quanto vuole qualche configurazione in più (credo)....

Preso da un altro post:

Ciao, secondo me attaccare arduino direttamente al router non è una buona cosa. Anche se il dsl-g624t ha uno switch a 4 porte integrato bisogna vedere se sono tutte sulla stessa vlan o magari qualche porta viene usata per la demil e questo può dare grossi problemi. Dovresti invece attaccare uno switch/hub al router e a quello attaccare l'arduino e i vari computer. Stai attento anche al tipo di cavo ethernet utilizzato, se riesci a connettere direttamente l'arduino alla scheda del pc vuol dire che è un cavo incrociato, che potrebbe non funzionare collegando l'arduino al router se il router non ha porte auto mdi/mdix. Per capire di che tipo è il cavo vai qui http://www.ge.infn.it/calcolo/faq/rete/cat5cable.htm e confronta le connessioni al tuo cavo. A me sembra più un problema di ethernet che di arduino.

Alberto

Magari lo switch/hub potrebbe essere la soluzione, appena ne rimedio uno provo :) BTW non male il tuo sito Andrea, lo metto nei preferiti che probabilmente mi tornerà utile quando inizierò a lavorare per bene sul web server :)

DanielaES: Magari lo switch/hub potrebbe essere la soluzione, appena ne rimedio uno provo :) BTW non male il tuo sito Andrea, lo metto nei preferiti che probabilmente mi tornerà utile quando inizierò a lavorare per bene sul web server :)

Prova a sbloccare tutte le porte del d-link700AP... disabilita il firewall interno... Oppure prova a giocare con il "virtual server" (se esiste) sul dlink.

Il mio primo complimento sul mio blog :)

skaxxo: Prova a sbloccare tutte le porte del d-link700AP... disabilita il firewall interno... Oppure prova a giocare con il "virtual server" (se esiste) sul dlink. Il mio primo complimento sul mio blog :)

Il menu del d-link è scarno a dir poco, non c'è tab che consenta di fare port forwarding, ne firewall ne nulla... Del resto è un pezzo di antiquariato che avevo preso A) perché fa da repeater B) perché in modalità repeater/client distribuiva la connessione anche alla ethernet, cosa che effettivamente funziona su di un laptop ma che non è sufficiente per qualche arcano motivo per l'arduino. :)

Il blog è interessante, Savara è quello che vorrei fare per il mio progetto, ma ancora non so se sia possibile nei termini che avevo in mente. Forse verrò a romperti le scatole quando inizio a metter mano al web server :)

DanielaES: Il blog è interessante, Savara è quello che vorrei fare per il mio progetto, ma ancora non so se sia possibile nei termini che avevo in mente. Forse verrò a romperti le scatole quando inizio a metter mano al web server :)

Ok! Savara però è hostata... non gira su arduino!

Sto cercando di capire dove e come renderla disponibile a tutti...

skaxxo:
Ok! Savara però è hostata… non gira su arduino!

Per questo dicevo che non so se sia possibile “nei termini che avevo in mente” :slight_smile:
In realtà, per come l’ho vista, Savara andrebbe bene già di per sé, a sostituzione di pachube.
Quello che in più manca a me è qualcosa, magari anche un semplice js, che elabori i grafici client side.
Non tengo sempre acceso internet, non mi piace una connessione 24/7. Ed a volte se sono a casa vorrei loggarmi con l’iphone/ipad e guardare come funziona la serra con i grafici della giornata/sett/mese, senza necessariamente accendere internet e rimbalzare su un sito esterno.
Cosa che invece può essere utile se sono fuori casa.
BTW è ancora presto per questo discorso. Sto finendo la parte hardware, il codice completo ed il datalogging… poi aprirò un bel topic cumulativo del progetto :slight_smile: Con la promessa di scrivere un bel tutorial con le info che ne usciranno perché, a volte, soprattutto sulla parte eth c’è un po’ di confusione :confused: