Arduino Forum

International => Portugues => Topic started by: CristianoRipi on May 18, 2015, 06:37 pm

Title: Problema com W5100 Ethernet
Post by: CristianoRipi on May 18, 2015, 06:37 pm
Boa tarde, a todos.

Estou com um problema com uma placa W5100, o exemplo do arduino webserver só funciona quando ligo um cabo de rede direto do computador para ele, porém se eu liga-lo em um roteador, ele não funciona, mas tenho uma outra placa que funciona normal, existem alguns modelos dessa placa, mais antigas por exemplo, que mudou as características delas?

Obrigado.
Title: Re: Problema com W5100 Ethernet
Post by: hugo007 on May 19, 2015, 10:48 am
Boas existem muitos factores que podem influenciar.Posta o teu codigo, como ligaste isso, que tipo de cabo usas-te (directo ou crossover), fizeste um simples ping à tua placa W5100 quando ligaste ao router para confirmar se tens conectividade?
O teu pc tem ip fixo ou recebe por DHCP?
Podes ter os ips configurados incorrectamente ...
Para ja tenta responder a todas estas questões.
Bons estudos
Title: Re: Problema com W5100 Ethernet
Post by: CristianoRipi on May 19, 2015, 12:42 pm
Cabo direto, quando dou o ping ele responde mas diz que esta inacessível, mas se ligo direto no pc sem hub ele funciona, o ip de minha rede é fixo, e o programa é igual ao web server, exemplo do arduino. O problema é que tenho duas placas W5100, em uma funciona pela rede normal, e na outra não, enviei e troquei a placa, porém ela veio igual a que não funcionou (mesmo lote), e também não funcionou.
Title: Re: Problema com W5100 Ethernet
Post by: hugo007 on May 19, 2015, 03:02 pm
Quote
quando dou o ping ele responde mas diz que esta inacessível,
O que quer isto dizer?Falha todos os pacotes de ICMP ou nao?
Quando ligas a tua W5100 ao switch acendem os Leds na ficha RJ45?
Title: Re: Problema com W5100 Ethernet
Post by: CristianoRipi on May 19, 2015, 03:21 pm
Sim, falha os pacotes. Quando ligo a W5100 acende normal os leds. Vou tentar trocar o Hub, mas acredito que não tenha nada a ver, existe algum histórico de falha nessa comunicação com alguns tipos de hub´s. Li em outro tópico que a HanRun 14/16 da W5100, deu problema com outra pessoa, é exatamente a mesma numeração que esta em meu shield. O que acham?
Title: Re: Problema com W5100 Ethernet
Post by: hugo007 on May 19, 2015, 03:33 pm
Por acaso ja nao uso hub's à anos.Sabes que o hub é half-duplex certo?
Isto quer dizer que nao consegues comunicar ao mesmo tempo que recebes.Porque nao usas um switch.O switch é full-duplex e evita colisoes.
Title: Re: Problema com W5100 Ethernet
Post by: CristianoRipi on May 19, 2015, 08:45 pm
O que eu estava chamando de hub, é uma switch mesmo. Mesmo assim desconfiei dela, com isso liguei a placa W5100 em outra switch e depois interliguei com a switch que não estava funcionando, ahí a placa respondeu. Portanto realmente existe diferença nas placas ethernet W5100, pois com uma funciona normalmente e com outra não funciona (é visivel a diferença do ano de fabricaçãp de uma para outra).
Muito obrigado, Hugo, devo instalar o equipamento nessa semana em seu local real, espero não ter problemas, ateh mais, muito obrigado msm.
Title: Re: Problema com W5100 Ethernet
Post by: lcorbi on Mar 07, 2017, 02:28 pm
Estou tendo esse problema tambem, porem quando ligo direto no meu roteador que esta conectado ao modem da operadora de internet ele funciona, ai quando ligo em outro roteador(que esta funcionando como repetidor WDS) ele nao funciona, "nao pega IP", mas se eu ligar o meu notebook nesse segundo roteador(WDS) ele funciona normal. O que pode ser ?
Title: Re: Problema com W5100 Ethernet
Post by: hugo007 on Mar 07, 2017, 08:11 pm
Estas a reniciar a placa quando mudas o cabo?
Tens DHCP a fluir nesse repetidor do teu router principal?
Que ip ganha o arduino quando ligas no repetir(Faz um serial.print ...)
Title: Re: Problema com W5100 Ethernet
Post by: giova014 on Mar 07, 2017, 09:23 pm
Verifique a seguinte rede resistiva que esta na sua placa W5100:

(http://i66.tinypic.com/6gg8w5.jpg)

Se o valor dela for 511 (510 ohms) está errada. Se for 510 (51 ohms) está correto.
Esta rede é responsável pelo sinal diferencial do Ethernet.

Caso esteja errada, nos diga que indicarei uma solução simples.
Title: Re: Problema com W5100 Ethernet
Post by: lcorbi on Mar 08, 2017, 02:16 pm
Opa Pessoal, obrigado pela atencao:

Entao,

o roteador principal esta distribuindo DHCP normalmente. Eu setei o arduino manualmente para receber um IP na minha faixa de rede 192.168.0.20 por exemplo. Ja havia tentado resetar(tirando a energia dele e colocando de volta) e nada.

Ontem fiz um teste e consegui colocar ele na rede atraves do roteador (WDS repetidor), porem,quando a energia acaba o arduino nao reconecta novamente sozinho, eu tenho que ficar tirando e colocando o cabo nas portas LAN do roteador repetidor ate ele conectar.

Irei verificar hoje o caso do resistor, mas acredito que como eu consegui colocar ele na rede, provavelmente deva estar com o valor correto, mas verei e informarei voces.

O que pode ser isso a respeito da falta de energia e nao reconectar sozinho tambem ?

Muito obrigado pessoal pela ajuda por enquanto!
Title: Re: Problema com W5100 Ethernet
Post by: giova014 on Mar 08, 2017, 04:58 pm
Quote
Irei verificar hoje o caso do resistor, mas acredito que como eu consegui colocar ele na rede, provavelmente deva estar com o valor correto, mas verei e informarei voces.
No meu caso, com o resistor incorreto ele funcionava diretamente no PC e não funcionava em um roteador ou switch (ou ao contrário, não lembro).
Corrigindo o resistor, funcionou em ambos.

Quote
O que pode ser isso a respeito da falta de energia e nao reconectar sozinho tambem ?
Alterando a biblioteca do W5100, acrescentei um comando de Keep Alive que fecha as conexões, pois quando tirava o cabo, a conexão travava pra sempre.
Caso necessário, posso fornecer.
Title: Re: Problema com W5100 Ethernet
Post by: lcorbi on Mar 08, 2017, 06:21 pm
Legal!!

giova014, eu vi aqui, o meu resistor e' 511.

Achei uma foto no meu celular aqui no qual anexei aqui, que eu havia tirado do shield e por sorte eu consigo ver o 511 marcado.

Voce poderia por favor me passar a solucao, como alterar ? Qual os passos ?

Muito Obrigado!
Title: Re: Problema com W5100 Ethernet
Post by: giova014 on Mar 08, 2017, 08:22 pm
A solução é soldar dois resistor de 100 Ohms no lado de baixo da placa, de modo que fiquem em paralelo com cada 510 Ohms.

De acordo com a numeração dos pinos abaixo:
(http://i63.tinypic.com/2u5543t.jpg)

Soldar um resistor de 100 Ohms entre os pinos 1 e o 2
e soldar um resistor de 100 Ohms entre o pinos 3 e 6.

No final fica assim:
(http://i68.tinypic.com/2wn4jte.jpg)
(http://i63.tinypic.com/5031ux.jpg)

Depois, vai funcionar normalmente.
Title: Re: Problema com W5100 Ethernet
Post by: lcorbi on Mar 08, 2017, 08:39 pm
Tem que ser 100ohms ? Se usar 120ohms nao funciona ? Pq tenho de 120ohms, senao vou comprar de 100ohms amanha.

Eu vou desoldar esses resistores que vieram e colocar esses, seguindo a pinagem que voce me passou.

E outra coisa, como funciona o negocio do "keep alive" ??  Eh ele que resolve o problema de quando eu reinicio a energia ele reconecta automaticamente o arduino ?  Porque eh foda toda vez quando desligo e ligo a energia, eu tenho que ficar espetando o cabo em cada porta LAN do router ate ele ligar.

Tem alguma solucao isso ?

Obrigadao!
Title: Re: Problema com W5100 Ethernet
Post by: giova014 on Mar 08, 2017, 10:28 pm
Quote
Tem que ser 100ohms ? Se usar 120ohms nao funciona ? Pq tenho de 120ohms, senao vou comprar de 100ohms amanha.
Use 100 Ohms.

Quote
Eu vou desoldar esses resistores que vieram e colocar esses, seguindo a pinagem que voce me passou
Se você está falando em dessoldar a rede resistiva 511, não o faça. Apenas acrescente os de 100 Ohms.

Quote
E outra coisa, como funciona o negocio do "keep alive" ??  Eh ele que resolve o problema de quando eu reinicio a energia ele reconecta automaticamente o arduino ?  Porque eh foda toda vez quando desligo e ligo a energia, eu tenho que ficar espetando o cabo em cada porta LAN do router ate ele ligar.

Tem alguma solucao isso ?
Não vou conseguir elaborar agora pois não estou em casa, mas assim que der lhe mostro.
Title: Re: Problema com W5100 Ethernet
Post by: lcorbi on Mar 09, 2017, 05:40 am
Maravilha!!

Muito obrigado por enquanto!!  :)
Title: Re: Problema com W5100 Ethernet
Post by: giova014 on Mar 09, 2017, 12:44 pm
Para implementar o "Keep alive", deve alterar a biblioteca do W5100, que normalmente fica na pasta:

"C:\Program Files (x86)\Arduino\libraries\Ethernet\src"

No arquivo "EthernetServer.h" adicione na classe EthernetServer o protótipo do método:
Code: [Select]
static void keepAlive(uint32_t interval = 5000);

E no arquivo "EthernetServer.cpp", adicione a definição:
Code: [Select]
void EthernetServer::keepAlive(uint32_t interval){

static uint32_t lastKeepAlive = 0;

if (millis() - lastKeepAlive > interval) {
lastKeepAlive = millis();

for (int sock = 0; sock < MAX_SOCK_NUM; sock++) {
EthernetClient client(sock);

if (client.status() == SnSR::ESTABLISHED) {
W5100.execCmdSn(sock, Sock_SEND_KEEP);
}
}
}
}


No arquivo "Ethernet.cpp", dentro no método:
Code: [Select]
int EthernetClass::begin(uint8_t *mac_address, unsigned long timeout, unsigned long responseTimeout)
acrescente:
Code: [Select]
// Configurate timeout = 3,22 seconds
  W5100.setRetransmissionTime(512); //miliseconds * 10
  W5100.setRetransmissionCount(5);


Os três arquivos alterados estão em anexo para facilitar.

No seu código, normalmente no loop(), adicione antes de:
Code: [Select]
EthernetClient client = server.available();
A chamada do método:
Code: [Select]
server.keepAlive();

Em meus testes, o W5100 fecha as conexões travadas em dois momentos: quando falha ao enviar algum dado e usando o keep alive.
O problema do keep alive é que se você transmitir algo para os clientes logo após o invocar, o keep alive é "anulado", então são necessário testes.
Title: Re: Problema com W5100 Ethernet
Post by: lcorbi on Mar 20, 2017, 08:46 pm
Muito obrigado! Tentarei isso e lhe informo.  :)
Title: Re: Problema com W5100 Ethernet
Post by: lcorbi on Mar 23, 2017, 12:14 am
Opa giova014!!

Tudo bem ?

Comprei ontem os resistores de 100ohms e acabei de soldar. Funcionou perfeitamente!!!  \ :) /

Fiz do jeito que vc disse, foi perfeitamente!! E o legal eh que quando desligo a energia e volto novamente, ele reconecta automatico, sem precisar desplugar e plugar novamente.

Muito obrigado viu!! Vlw mesmo por essa dica!!!

Grande abssss!!!
Title: Re: Problema com W5100 Ethernet
Post by: jamaljamil on Jul 16, 2017, 12:37 am
Funcionou. Instalei os dois resistores de 100r conforme mencionado acima. :)
Title: Re: Problema com W5100 Ethernet
Post by: leomuniz on Jul 23, 2017, 03:15 am
Para corroborar: também funcionou comigo soldar os dois resistores de 100ohms.
Muito obrigado pela dica!

Em outros lugares da internet vi algumas pessoas sugerindo dessoldar o resistor de 510ohms - que é minúsculo - e soldar outros resistores no lugar. Se já tive dificuldade em soldar esses de 100ohms porque achei o espaço pequeno, imagina substituir o outro... sem chance.

Importante: esse shield chinês com resistor errado funciona corretamente no meu modem antigo da GVT (de 2011, eu acho). Quando troquei a internet de casa por NET, com um modem bem mais novo, ele parou de funcionar. Ou seja: se o resistor veio errado, vale soldar os resistores mesmo que esteja funcionando atualmente.


Title: Re: Problema com W5100 Ethernet
Post by: Ademilton on Aug 22, 2017, 01:20 am
Pra mim não funcionou, coloquei os resistores de 100 ohms e nada.....quando tendo logar o webserver com o IP da minha rede 192.168.0.121 ele antes logava mostravam as entradas analógicas flutuando, depois de 2 minutos aparecia na tela " Esta página Expirou ".
Agora não entra mais só aparece que Expirou.

Com a colocação dos resistores ficou pior ainda os LEDs nem acendem mais como antes......

Há aquele LED amarelo perto do AREF/GND fica aceso direto, na rede do meu vizinho ele só pisca de vez em quando mas não loga .......aparece também " Esta página expirou "


Vejam abaixo o meu relato detalhado da falha...
Title: Re: Problema com W5100 Ethernet
Post by: Ademilton on Aug 22, 2017, 02:45 pm
Estou com problemas no meu Shield W5100 + Arduino UNO R3

Carreguei o exemplo de webserver do Arduino, alterando somente o IP, inicialmente funcionou as portas Analógicas flutuando os valores, e após algum tempo ( 2min) as portas analógicas pararam de flutuar.
Consultei um amigo, ele me pediu para filmar os estados da placa e da tela do browser para ver.
Segundo ele há um problema, o LED amarelo próximo ao AREF/GND fica aceso direto, mesmo sem nenhum Sketch gravado nele.
Com um Sketch webserver gravado neles eu não estou conseguindo mais ver no browser da internet as portas Analógicas flutuarem, a mensagem agora é " A página Expirou ".
Comecei a procurar na internet algo para resolver ou que me desse uma luz, e num forum dizia : " se estiver acontecendo isto verifique a ponte resistiva próximo ao RJ45 de 49R9 ohms, se tiver em seu lugar uma ponte de 511 ao invés de 49R9 ou 510 faça o seguinte ( coloque 2 resistores de 100 ohms soldados entre os pinos 1 e 2 e 3 e 6 do conector RJ45 que o problema desaparece……eu fiz…mas não mudou nada piorou…..então retirei tudo novamente…
Em contato com o amigo que identificou a falha, eu mencionei à ele " Como posso saber se o problema está na Shield ou no Arduino" , ele falou: " Teste as portas Analógicas individualmente com um trimpot e veja seu funcionamento" eu testei com um Sketch de teste para portas analógicas e o resultado foi positivo a" as portas Analógicas estão funcionando perfeitamente no Arduino UNO.

Tentei na rede do meu vizinho com modem router da DLink o comportamento dos LEDs na Shield foi diferente mas também expirou a página.....

Os arquivos são:   os resistores de 100 Ohms e o ping no router do meu vizinho

Minha dúvida agora é: " Posso condenar a placa Shield W5100, estaria ela com defeito mesmo ou não?"


Façam contato comigo via Whatsapp (34) 993405248

Por favor me ajudem!!!
Title: Re: Problema com W5100 Ethernet
Post by: Apocalipse on Apr 23, 2018, 06:18 am
giova014, parabéns pela dica. Salvou meu projeto. Estava já arrancando meus cabelos e sua dica foi matadora.    Funcionando perfeitamente!!!

Obrigado!!!!!
Title: Re: Problema com W5100 Ethernet
Post by: marquesvp on Jun 13, 2018, 04:56 pm
Ola.
Estava com um problema parecido com o relatado pelo CristianoRipi ao utilizar uma placa W5100.
Conectava normalmente no roteador principal porem nao conectava num outro usado como repetidor.
Verifiquei a rede resistiva conforme indicado. Está errada (511).
Soldei os dois resistores de 100 ohms conforme indicado pelo hugo007 e funcionou normalmente, com o exemplo webserver do arduino.
Obrigado hugo007.