WIZnet Developer Forum

W5500 Clientmode로 동작시 Connect가 안됩니다

W5500 과 Atmega2560을 가지고 Board를 만들었습니다.
통신은 SPI로 연결을 하였구요
W5500의 라이브러리는 여기에서 다운을 받았습니다.
github.com/Wiznet/ioLibrary_Driver

컴파일은 EWAVR 6.50.1 버전에서 컴파일했습니다.

테스트는 TCP Client, TCP Server mode를 동작을 시켜 봤는데
TCP Server Mode는 잘 동작을 합니다.
하지만 TCP Client Mode는 socket을 생성까지는 성공적으로 되지만 Connect에서는 TimeOut만을 발생합니다.

포럼에서 검색을 해보니 저와 같은 증상을 가지고 있는 분의 글이 있었지만 해결 방법은 없어 질문을 올립니다.
( W5500 TCP Client CONNECT problem )

w5500 초기화 코드 입니다.
void W5500_Initialization(void)
{
unsigned char tmp;
unsigned char memsize[2][8] = { { 2, 2, 2, 2, 2, 2, 2, 2 }, { 2, 2, 2, 2, 2, 2, 2, 2 } };

//w5500 system call init, wizchip_config 파일을 수정했습니다.

reg_wizchip_cris_cbfunc(NULL, NULL); //  enable interrupt, disable interrupt
reg_wizchip_cs_cbfunc(NULL, NULL);   //  cs select, cs unselect
reg_wizchip_spi_cbfunc(NULL, NULL);
reg_wizchip_spiburst_cbfunc(NULL, NULL);

/* wizchip initialize*/
if (ctlwizchip(CW_INIT_WIZCHIP, (void*) memsize) == -1) {
	printf("WIZCHIP Initialized fail.\r\n");
	while (1);
}


do
{
   if(ctlwizchip(CW_GET_PHYLINK, (void*)&tmp) == -1)
      printf("Unknown PHY Link stauts.\r\n");
}while(tmp == PHY_LINK_OFF);    

}

//네트워크 설정
void Net_Conf()
{
wiz_NetInfo gWIZNETINFO = { .mac = {0x00, 0x08, 0xdc,0x00, 0xab, 0xcd},
.ip = {192, 168, 0, 123},
.sn = {255,255,255,0},
.gw = {192, 168, 0, 123},
.dns = {0,0,0,0},
.dhcp = NETINFO_STATIC };

ctlnetwork(CN_SET_NETINFO, (void*) &gWIZNETINFO);

display_net_info();

}

위와 같이 설정후 컴퓨터에서 Board로 Ping을 보내면 잘되고, 예제로 있는 loopback_tcps 함수는 잘 동작을 합니다.

추가로 설정을 더 해야 하는 부분이 있는지
아니면 설정이 틀린부분이 있는지 알려 주시면 감사하겠습니다.

안녕하세요.

TCP Server로 동작 시 정상 동작하는데,

TCP Client 시 Connect가 안된다는 말씀이시죠?

일단 TCP Client로 PC로 연결을 시도하셨는지요?? Hercules tool을 이용하여 PC에서 TCP Server로 setting이 가능합니다.

그리고 사용하신 라이브러리는 검증된 예제이므로 TCP client로 모듈을 설정한 뒤 어떤 TCP Server와 연결하였는지,

혹은 어떻게 연결하였는지 정확한 condition 부탁드립니다.

그리고 아래의 네트워크 설정 중 gw는 192.168.0.1 로 변경한 뒤 테스트 부탁드립니다.

//네트워크 설정
void Net_Conf()
{
wiz_NetInfo gWIZNETINFO = { .mac = {0x00, 0x08, 0xdc,0x00, 0xab, 0xcd},
.ip = {192, 168, 0, 123},
.sn = {255,255,255,0},
.gw = {192, 168, 0, 123},
.dns = {0,0,0,0},
.dhcp = NETINFO_STATIC };

감사합니다.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.