Forum: Mikrocontroller und Digitale Elektronik W5100 Verbindungsproblem mit externem Server


von Avr F. (hakkinen)


Lesenswert?

Hallo alle zusammen,

ich versuche vergebend seit drei Tagen mit WIZNET Modul mit einem 
externen Server zu verbinden. Interne Verbindung funktioniert wunderbar: 
w5100 <-> switch <-> PC (Hercules SETUP > TCP Server).

Mein Programm:
uint8_t openTCP(void)
{
uint8_t  mac[] = {0x00, 0x50, 0xC2, 0x18, 0x20, 0x89};
uint8_t  gateway[] = {192,168,2,1};
uint8_t  subnet[] = {255, 255, 255, 0};

uint8_t  clientIP[] = {192, 168, 0, 110};
uint8_t  clientPort[] = {0x04,0xE6};// 110 + 1024

uint8_t  serverIP[] = {217,72,200,132};//<-google IP
uint8_t  serverPort[] = {0, 80};

setMode(0x01);  //TCP Mode
setSubnet(subnet);
setMac(mac);
setIP(clientIP);
setGateway(gateway);
setClientPort(clientPort);
setServerIP(serverIP);
setServerPort(serverPort);

//open, needs check that it did open
uint8_t status0 = 0;
_delay_ms(5);

writeAddress(0x0401, 0x01);
status0 = readAddress(0x0403);

while (status0 != 0x13)
  {
   _delay_ms(5);
   //Close Socket
   writeAddress(0x0401, 0x10);
   status0 = readAddress(0x0403);

   _delay_ms(5);
   //Open Socket
    writeAddress(0x0401, 0x01);
   status0 = readAddress(0x0403);
   }

//Connect
writeAddress(0x0401, 0x04);

//check established
delay_ms(10);
status0 = readAddress(0x0403);

uint8_t i = 0;
_delay_ms(200);
status0 = readAddress(0x0403);

while(status0 != 0x17 && i < 10)
   {
   i++;
   _delay_ms(200);
   status0 = readAddress(0x0403);

   //UART Ausgabe
   uchar(status0);
   }
}

Wenn ich versuche mit einem externen Server z.B. von Google zu 
verbinden, erhalte ich als UART-Ausgabe: SOCK_SYNSENT 0x15 (It  is 
shown  in  case  that  CONNECT  commands  are  given  to
Socket n Command Register(Sn_CR) at the SOCK_INIT status.
It  is  automatically  changed  to  SOCK_ESTABLISH  when  the
connection is established.)

Verbindungsaufbau:
w5100 <-> Router (Speedport W 721V)

Ich denke, an den Quellcode liegt es nicht, da ich schon 
unterschiedliche Codes inklusive original von Wiznet ausprobiert habe. 
Unter meinem Verdacht liegt der Router.

Hat vielleicht jemand von Euch das gleiches Problem gehabt? oder hat ein 
Tipp für mich :)

Ich würde mich wirklich über jeden Antwort freuen.

Vielen Herzlichen Dank.

von Avr F. (hakkinen)


Lesenswert?

vielen Dank für die Möglichkeit sich aus zu sprechen.

Das Problem hat sich gleich gelöst.

Meine gateway[] = {192,168,2,1}; und clientIP[] = {192, 168, 0, 110}; 
das hat dem Router nicht gefallen und er hat hat jeden möglichen Kontakt 
mit externem Router geblockt. Nach dem ich die IP-Adresse wie folgt 
geändert clientIP[] = {192, 168, 2, 110}; funktioniert wunderbar.

P.S.  serverIP[] = {217,72,200,132};//<-google IP
diese IP-Adresse ist nicht von Google sondern von web.de

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.