Arduino Ethernet Shield 2 "Trying to get an IP address using DHCP"

Boas, depois de terminar o arduino starter kit decidi experimentar algo novo e comprei o ethernet shield.
Porém não estou a conseguir "acedê-lo". Uso router meo thompson, o arduino uno está ligado ao computador e o ethernet shield está ligado na ethernet port 2 o pc está na port 4 do router.
Estou usando o exemplo DHCPChatServer. Cada vez que dou upload do código a unica mensagem que obtenho é "Trying to get an IP address using DHCP".
Nem sequer aparece a mensagem "Failed to configure Ethernet using DHCP"

Talvez seja um erro estupido peço desculpa mas não sou o melhor em redes. Já procurei no forum e no google mas não encontrei a resposta certa
Agradeço a ajuda e obrigado

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

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network.
// gateway and subnet are optional:
byte mac[] = {
  0x90, 0xA2, 0xDA, 0x10, 0x1F, 0xA0
};
IPAddress ip(192, 168, 1, 60);
IPAddress gateway(192, 168, 1, 254);
IPAddress subnet(255, 255, 255, 0);

// telnet defaults to port 23
EthernetServer server(23);
boolean gotAMessage = false; // whether or not you got a message from the client yet

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  // this check is only needed on the Leonardo:
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  // start the Ethernet connection:
  Serial.println("Trying to get an IP address using DHCP");
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    // initialize the ethernet device not using DHCP:
    Ethernet.begin(mac, ip, gateway, subnet);
  }
  // print your local IP address:
  Serial.print("My IP address: ");
  ip = Ethernet.localIP();
  for (byte thisByte = 0; thisByte < 4; thisByte++) {
    // print the value of each byte of the IP address:
    Serial.print(ip[thisByte], DEC);
    Serial.print(".");
  }
  Serial.println();
  // start listening for clients
  server.begin();

}

void loop() {
  // wait for a new client:
  EthernetClient client = server.available();

  // when the client sends the first byte, say hello:
  if (client) {
    if (!gotAMessage) {
      Serial.println("We have a new client");
      client.println("Hello, client!");
      gotAMessage = true;
    }

    // read the bytes incoming from the client:
    char thisChar = client.read();
    // echo the bytes back to the client:
    server.write(thisChar);
    // echo the bytes to the server as well:
    Serial.print(thisChar);
  }
}

Boas
.

"Trying to get an IP address using DHCP".

Esta menagem vai te aparecer sempre, ja que nao tens nenhuma condição de decisao (if ...)

Nem sequer aparece a mensagem "Failed to configure Ethernet using DHCP"

Significa que o dhcp deve ter funcionado.Se deverias ver esta mensagem caso a tua placa nao tivesse encontrado nenhum DHCP server.Se nao estas a ver esta mensagem significa que a placa encontrou e o teu router lhe atribuiu um ip.Consulta a tabela arp do router ou no thomson consegues ver que dispositivos tens em cada porta(e os respectivos macs).
Nota que se ganhares ip por DHCP o ip nao é o que especificas-te no teu programa - IPAddress ip(192, 168, 1, 60) mas sim outro que o router te deu.Se estiveres a tentar aceder a esse ip esse deve ser o teu erro.

Já tentei isso támbem mas o meu router nao deteta nada na porta 2 ja mudei a porta e nada. Porém detecta tudo o resto o RM4100(a box do meo) e o meu pc.
Será do router?

Há alguma coisa que não está a explicar correctamente. O que aparece, para além da mensagem "Trying to get an IP address using DHCP" no serial monitor? Tem que aparecer mais qualquer coisa. Testou as indicações do HugoPT? Qual foi o resultado?

luisilva:
Há alguma coisa que não está a explicar correctamente. O que aparece, para além da mensagem "Trying to get an IP address using DHCP" no serial monitor? Tem que aparecer mais qualquer coisa. Testou as indicações do HugoPT? Qual foi o resultado?

O problema e mesmo esse nada aparece a nao ser "Trying to get an IP address using DHCP".
Já fui a linha de comandos e usei "arp -a" usei todos os endereços ip como macs e nada.
Tentei tudo o que ele disse, ate experimentei mudar as portas de ethernet e nada.
As minhas ligaçoes sao apenas do arduino uno para o pc atravez do usb com o shield em cima ligado a uma das portas do router thompson da meo.
Como ja disse nas opçoes do thompson gateway:
Vou a rede domestica e apenas obtenho sinal do meu pc e do meu telemovel e da meo box. Não obtenho nenhum sinal da porta ethernet do meu arduino ethernet shield.

Já procurei em tantos forums e nenhuma soluçao funcionou ainda.

Acho que ainda vou precisar de ajuda de alguem por teamviewer xP

Viva.

Testa o exemplo que vem com o IDE. Não pode falhar. Se falar é problema fisico/hardware, dos cabos, das portas de redes da shield, etc.

File --->exemplos---->ethernet--->WebServer

A unica coisa a alterar e na linha 17

IPAddress ip(192, 168, 1, 177);

Alteras os dois últimos parâmetros para ficar na mesma gama de ips do teu router, alias como falaste do tg da meo, nem precisas, mas muda so o ultimo valor em vx de 177 poe o 30. Mesmo assim poderia ficar como esta. A gama de ips dos tgs da meo é 192.168.1.1-252
O 254 é o ip dele, e o 253 nao utilizes, pode dar conflito com o ftp/media server do tg da meo

De seguida e so aceder pelo browser ao ip: 192.168.1.177( ou qq outro valor que tenhas definido), tambem podes numa janela cmd ( dos ) executar este comando: ping 192.168.1.177 -t , da a info dos repplys e verificas logo se o arduino esta activo com a ethernet shield

Nada ainda. Fiz tudo o que o arssant disse. Duvido que o problema venha do arduino deve ser o cabo.
Estou usando um Ethernet cable cat 5E http://www.inmotion.pt/pt/cables/531-ethernet-cable-cat-5e-blue.html?search_query=rj45&results=5

Ethernet Shield REV. 3 http://www.inmotion.pt/pt/data-logging/227-ethernet-shield-rev-3.html?search_query=rj45&results=5

Támbem ja testei num router sitecom e o resultado foi igual
Já tentei tanta coisa, o cabo tambem funciona bem.
É possivel alguem me ajudar por teamviewer?
Tipo aserio ja tou tao farto de tentar de tudo, começo a pensar que é algo tao pequeno mas ta me a incomodar demasiado já

Viva.

Por acaso nao é un tg784 v3 ( base branca, parte de cima preta, sem antenas ). ????
Se for o caso onde tens , 177 colocas , 22, é que tive uma coisa esquisita hoje em casa de um familiar, nao consegui utilizar ips altos num router em mode repeater em conjunto com esse tg784 v3.
Em relacao ao teu cabo, nada a dizer... ao shield: tenho um original da Arduino identico, e um da ebay made in china e tb nada a dizer.

arssant:
Viva.

Por acaso nao é un tg784 v3 ( base branca, parte de cima preta, sem antenas ). ????
Se for o caso onde tens , 177 colocas , 22, é que tive uma coisa esquisita hoje em casa de um familiar, nao consegui utilizar ips altos num router em mode repeater em conjunto com esse tg784 v3.
Em relacao ao teu cabo, nada a dizer... ao shield: tenho um original da Arduino identico, e um da ebay made in china e tb nada a dizer.

E um tg784 mas tem antena e parte de cima cinzenta, tmb nao funcionou

wydtron:
E um tg784 mas tem antena e parte de cima cinzenta, tmb nao funcionou

Viva.

Verificaste se os dois led's ( verde e laranja ) na tomada rj45 da shield ficam ON quando liga o cabo de rede ?
No meu shield made in china, se nao empurrar bem a ficha rj45 ate ao fundo da tomada rj45 nao faz contacto e os led's nao acendem.

arssant:
Viva.

Verificaste se os dois led's ( verde e laranja ) na tomada rj45 da shield ficam ON quando liga o cabo de rede ?
No meu shield made in china, se nao empurrar bem a ficha rj45 ate ao fundo da tomada rj45 nao faz contacto e os led's nao acendem.

acendem todos sem problemas

Se no cabo de rede que estas a ligar à tua shield ligares a um computador portatil tens rede?
Tens a certeza que o cabo é directo e nao cruzado?(Confirma as cores das pontas do cabo e confirma se estao ambos com a mesma sequencia).
A tua shield é original ou chingling :slight_smile: ?