Go Down

Topic: Ethernet Shield mi blocca tutto ! (Read 10096 times) previous topic - next topic

lesto

sai in che punto del codice si è bloccata? eri a corto di ram?

mi sa che bisogna indagare salvando in una sd tutti i comandi inviati dall'arduino al modulo e le risposte...
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

pablos

#46
Apr 08, 2013, 01:54 am Last Edit: Apr 08, 2013, 02:16 am by pablos Reason: 1
Quote
A) Dal PC posso pingare. (la shield risponde sempre)
questo già lo sapevamo

Quote
B) Qualsiasi richiesta faccio via Ethernet, non arriva all' Arduino (evidentemente la Ethernet Shield non manda nulla)

questo già lo sapevamo

Quote
C) Rifare Ethernet.begin non serve a nulla. (La Ethernet Shield non si riprende)

Non ho capito quando lo fai questo begin? farlo dopo che si trombata non serve no :)

Quote
D) Il tasto RESET non serve a nulla. (Arduino si riavvia, esegue lo sketch, rifa' Ethernet.begin, dialoga con la seriale, accende i LED... ma la Ethernet Shield non si riprende)

Ti è venuta mica la brillante idea di separare i reset dello shield con quello di arduino? In tal caso resettare solo lo shield non ripartirà mai.

Però così non arriviamo da nessuna parte:

Quanti giorni è rimasta on-line? ti sei segnato l'ora e giorno di inizio?
Quante connessioni hai fatto in questo lasso di tempo?
Da dove ti sei connesso ? sempre da un pc fisso, smartphone, ip pubblico ....
Hai messo un led lampeggiante per vedere l'attività di arduino?
Come l'hai trovato questo led dopo lo schianto della ethernet? acceso fisso? spento? o lampeggia ancora nonostante il blocco eth?

ciao
no comment

lesto

pablos, tu che hai la sceda puoi metterti a controllare quello che ho scritto prima, e farti un piccolo programmino che continua a lanciare richieste verso la shield, in modo da capire subito se è un problema che sorge dopo un tot di richiesta?
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Janos

Leggendo qui:
http://forum.freetronics.com/viewtopic.php?f=4&t=176&sid=3be84fa1272c65468d9ff57bdf3a749f&start=40#p1154
potrebbe essere che il problema si verifica quando si utilizza anche la seriale a buadrate superiori a 19200...

acik


Quote
A) Dal PC posso pingare. (la shield risponde sempre)
questo già lo sapevamo

Abbiamo la conferma.



Quote
B) Qualsiasi richiesta faccio via Ethernet, non arriva all' Arduino (evidentemente la Ethernet Shield non manda nulla)

questo già lo sapevamo

Abbiamo la conferma.



Quote
C) Rifare Ethernet.begin non serve a nulla. (La Ethernet Shield non si riprende)

Non ho capito quando lo fai questo begin?

Rileggi il mio messaggio. Seconda riga.



Quote
D) Il tasto RESET non serve a nulla. (Arduino si riavvia, esegue lo sketch, rifa' Ethernet.begin, dialoga con la seriale, accende i LED... ma la Ethernet Shield non si riprende)

Ti è venuta mica la brillante idea di separare i reset dello shield con quello di arduino?

Hai mangiato pesante ?
Da dove ti vengono queste idee ??

Comunque no, non ho separato il segnale di reset. Io premo il segnale di reset _SULLA_ Ethernet Shield e in questa maniera resetto tutto (perlomeno la mia intenzione e' questa, ma la Ethernet Shield non si resetta)



Però così non arriviamo da nessuna parte:

Hai mangiato pesante !
Se hai da chiedere, chiedi. Io sono qui per risolvere un problema che assilla piu' di qualcuno. Se vuoi informazioni basta chiedere, senza questi toni.



Quanti giorni è rimasta on-line? ti sei segnato l'ora e giorno di inizio?

Ho fatto e caricato lo sketch mercoledi sera.
Ho trovato la Ethernet Shield bloccata domenica sera.



Quante connessioni hai fatto in questo lasso di tempo?

Probabilmente 8 in totale.



Da dove ti sei connesso ? sempre da un pc fisso, smartphone, ip pubblico ....

Connessioni effettuate ogni sera sempre solo da un PC con Windows XP
Nessun accesso da esterno.



Hai messo un led lampeggiante per vedere l'attività di arduino?

Si. ( l' ho gia' scritto piu' volte)



Come l'hai trovato questo led dopo lo schianto della ethernet? acceso fisso? spento? o lampeggia ancora nonostante il blocco eth?

Il led verde (lampegga ogni 10000 loop) lampeggiava come doveva, segno che lo sketch stava girando.
Pero' al boowser non arrivava nessuna risposta.

Il led rosso (si accende quando ad ogni connessione dal browser) non si accendeva mai, ho provato piu' volte il refresh della pagina.



ciao

Ciao

pablos

che tipo che sei  :smiley-mr-green:... mi sa che noi litigheremo facilmente  :D :D :D :D
no comment

Janos

#51
Apr 08, 2013, 09:58 pm Last Edit: Apr 08, 2013, 10:01 pm by Janos Reason: 1
@Acik
Tanto per capire, fai uso di interrupt o di seriale nel tuo programma? Perché leggendo qui:
http://code.google.com/p/arduino/issues/detail?id=384
dice che il problema potrebbe essere che se arriva un interrupt durante la scrittura sulla SPI si potrebbe danneggiare il dato della SPI...

EDIT: avevo letto male, li parla se due dispositivi vanno a lavorare su una SPI, dei quali uno via interrupt... Non credo sia il tuo caso...

pablos

Quote
potrebbe essere che il problema si verifica quando si utilizza anche la seriale a buadrate superiori a 19200...

i miei sketch di test non hanno mai superato i 9600 baud .... altri test la seriale era totalmente esclusa .... si inchiodava lo stesso

diciamo che in 16 mesi ne ho fatto di prove e debug  su tutte le lib che impiegano lo shield :D
no comment

leo72


@Acik
Tanto per capire, fai uso di interrupt o di seriale nel tuo programma? Perché leggendo qui:
http://code.google.com/p/arduino/issues/detail?id=384
dice che il problema potrebbe essere che se arriva un interrupt durante la scrittura sulla SPI si potrebbe danneggiare il dato della SPI...

EDIT: avevo letto male, li parla se due dispositivi vanno a lavorare su una SPI, dei quali uno via interrupt... Non credo sia il tuo caso...

Provare non costa molto, basta mettere un cli() prima dell'operazione da fare via SPI ed un sei() subito dopo, per vedere se dipende da questo (sempre che la lib SPI non usi gli interrupt).

Janos

Sfortunatamente (o per fortuna, dipende dai punti di vista) oggi in ditta ci siamo imbattuti in questo problema. Il bello è che abbiato trovato una condizione ripetibile, quindi domani faccio in fretta a provare.

Lo scopo del software è banale, prendere quello che leggo da ethernet, inviarlo su seriale e viceversa: dopo poco cade la connessione, risponde solo al ping e non si ripristina neppure dopo un reset...

acik

Nei miei sketch attuali, non faccio uso della seriale. Nemmeno interrupt.

Eppure si blocca..... e non sono ancora riuscito a capire perche'.

Quello che posso aggiungere e' che a me, statisticamente si e' bloccato piu' spesso non usandolo (o usandolo una volta al giorno) piuttosto che usandolo pesantemente...

lesto

allora, i pin SD e Ethernet vanno settati sempre anche se non usati se no sono flottanti e a caso possono diventare 1, e ci si mette una pull-down. (ricordo che l'arduino ha solo pull-up)

Quote
Il bello è che abbiato trovato una condizione ripetibile, quindi domani faccio in fretta a provare.

il codice pls!!!


ragazzuoli quì c'è da capirte in QUALE istruzione della libreria si blocca, e dopo QUALE comando... sempre che sia sempre lo stesso punto/comando.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

acik


Sfortunatamente (o per fortuna, dipende dai punti di vista) oggi in ditta ci siamo imbattuti in questo problema. Il bello è che abbiato trovato una condizione ripetibile, quindi domani faccio in fretta a provare.

Per fortuna !


Lo scopo del software è banale, prendere quello che leggo da ethernet, inviarlo su seriale e viceversa: dopo poco cade la connessione, risponde solo al ping e non si ripristina neppure dopo un reset...

Eh. Appunto.
Ma esistera' un modo per resettare questa shield senza spegnerla ??
Un comando da inviare via SPI ?
Un piedino da collegare da qualche parte...
Il RESET poi... perche' non funge ?

Janos

Eccolo, ma ho modificato anche la lib ufficiale in alcune parti per avere la possibilità di gestire più connessioni insieme. Comunque ecco il tutto...

Janos

Scusate il doppio post ma non potevo aggiungere più di 4 allegati...  ;)

Go Up