---
title: "[WIZ550io] AX1 테스트"
url: "https://maker.wiznet.io/forum/13610"
markdown_url: "https://maker.wiznet.io/forum/13610/md"
type: "Forum topic"
category: "General"
author: "Joonbum"
created: "2019-12-13T06:54:55+09:00"
last_activity: "2019-12-16T23:22:16+09:00"
language: "ko"
views: 1091
replies: 13
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# [WIZ550io] AX1 테스트

## Question

Asked by Joonbum on 2019-12-13 in General.

WIZ550io로 개발한 보드가 통신속도가 아무래도 느린 것 같아 AX1을 통해 테스트해봤습니다.

기본 send는 다음과 같이 정상적으로 됩니다.

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/7/7e9524cb65dd513bf1fee98fb393d92414e50a5d.png) image547×553 7.82 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/7/7e9524cb65dd513bf1fee98fb393d92414e50a5d.png)

그런데 파일 전송을 테스트하면 다음 상태에서 계속 멈춰있습니다.

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/4/459277ec6088dbb152b53ba5ef60c7101be64131.png) image552×561 13.9 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/4/459277ec6088dbb152b53ba5ef60c7101be64131.png)

무엇이 문제일까요?

제 PC는 윈도우즈10이라서 혹시 몰라 AX1은 호환성?으로 XP로 동작하게 설정했습니다.
전송 파일은 984KB짜리 텍스트 파일입니다.

## Replies

### Reply 1 by becky, 2019-12-16

Wireshark를 통해 패킷을 한번 보는것이 좋을 것 같습니다.
우선 473.14Mbps는 W5500에서 나올 수 없는 속도입니다.
상황에 따라 다르지만 1~10Mbps 에서 크게 벗어 나지 않습니다.

### Reply 2 by Joonbum, 2019-12-16 (in reply to reply 1)

네 시도해보겠습니다.

### Reply 3 by lawrence, 2019-12-16

테스트 결과 AX1은 윈도우10에서도 정상 동작하는 것으로 확인됩니다.
호환성 부분은 normal 로 사용하시면 됩니다. ![:slight_smile:](https://emoji.discourse-cdn.com/twitter/slight_smile.png?v=12)

그리고 동작의 문제가 계속된다면,
위에서 답변드린것 처럼 화면 한쪽에서 wireshark를 통해 w5500을 필터링 하시고
다시한번 ax1으로 데이터 전송을 시도해서 멈추는 시점에서 wireshark의 패킷들을 확인하시고
해당 내용을 함께 첨부 부탁드립니다.

감사합니다.

### Reply 4 by Joonbum, 2019-12-16

확인해보니 [TCP Window Full] 발생하네요
그 이후에 [TCP ZeroWindow], [TCP ZeroWindowProbe], [TCP ZeroWindowProbeAck] 연속으로 발생…
파일 전송 시에 Length가 1662던데 길어서 처리가 안 되는걸까요?

### Reply 5 by becky, 2019-12-16 (in reply to reply 4)

드라이버 코드는 어떤걸 사용중이신가요?
파일이 크다고 해서 전송이 안되지는 않습니다.
패킷 파일을 첨부해주시면 도움이 될 것 같습니다.
혹시 첨부가 되지않는다면 becky@wiznet.io로 메일 부탁드립니다.

### Reply 6 by Joonbum, 2019-12-16

패킷 파일은 사실 단순히 "a"가 반복되는 txt 파일입니다.

드라이버 코드는 버전은 정확하게 모르겠으나 github에서 19년 8월 정도에 다운 받은 ioLibrary_Driver를 사용하고 있습니다.
이후 commit 내용은 w5500과는 관계가 없는 것으로 보여 수정하지 않았습니다.

### Reply 7 by irina, 2019-12-16

MCU가 Ethernet으로 수신된 데이터를 읽어가지 않는다면, rx_buffer가 차면서 TCP ZeroWindow packet이 WIZ550io 에서 나가게 됩니다.
처음 100byte를 보냈을 때는 rx_buffer가 다 차지 않았기 때문에 WIZ550io에서 TCP ZeroWindow Packet을 보내지 않습니다만, 100byte을 연속으로 계속 보내게되면 ZeroWindow Packet을 보낼겁니다.

혹시 Socket을 열때 Sn_RXBUF_SIZE를 1k 로 세팅하신건가요?

또한, PC에서 보내는 데이터를 제대로 수신하려면 recv함수를 이용하여 MCU가 데이터를 읽어갈수 있게 만들어주셔야합니다.

### Reply 8 by Joonbum, 2019-12-16

세팅은 따로 하지 않았고, 예제의 loopback 함수를 사용하는 중입니다.
(혹시 예제 코드가 원본과 다르게 수정된 부분이 있는지 확인해볼게요)
대용량 테스트 시에는 제가 코드를 수정해야되는건가요?

### Reply 9 by lawrence, 2019-12-16 (in reply to reply 4)

안녕하세요

파일 전송 시에 len = 1662 를 확인하셨는데,
해당 내용을 wireshark에서 확인하셨나요?

혹시 wireshark에서 확인하셨다면 해당 패킷 및 앞뒤 패킷을 포함해서 캡쳐하신 뒤 첨부해주실 수 있으신가요?

감사합니다.

### Reply 10 by Joonbum, 2019-12-16

Wireshark에서 len 확인했습니다.

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/9/97b28e552f40758ed2375dd196c42fb643bf5e69.png) image1336×238 15.6 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/9/97b28e552f40758ed2375dd196c42fb643bf5e69.png)

길이 154가 AX1에서 기본 send 테스트 한 것이고, 1662가 파일 선택 후 전송할 때에 길이입니다.

그 부분을 더 자세히하면

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/2/2048dc07787b2f3d91ad561cb31c8df5318b9c82.png) image815×617 21.5 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/2/2048dc07787b2f3d91ad561cb31c8df5318b9c82.png)

입니다.

파일 전송 테스트는 txt 파일 외에 다른 png 파일로도 시도해봤는데 같은 결과였습니다.

감사합니다.

### Reply 11 by lawrence, 2019-12-16

위즈네트 칩셋들은 TCP통신에서 1472 byte 이상을 받을 수 없습니다.
따라서 PC에서 1662 byte 전송이 통신 장애를 일으킨것으로 보입니다.

또한 TCP 통신 시작시 아래와 같이 상대방이 받을 수 있는 최대 용량을 서로가 공유합니다.
(1420은 순수한 TCP 데이터이고 여기에 internet header + ethernet header가 추가되면 최대는 1472 byte가 됩니다.)

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/7/7f195ec26532382486845f5c072c6e5fbcf80103.png) image1438×149 11.6 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/7/7f195ec26532382486845f5c072c6e5fbcf80103.png)

PC의 동작을 정확히 파악하긴 어렵지만 다음의 설정을 시도해볼 수 있을 것 같습니다.

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/f/f23f632d55bd8a236bd0d41deaa8e96dba5366c2.png) image1281×736 111 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/f/f23f632d55bd8a236bd0d41deaa8e96dba5366c2.png)

![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/2/2d6100585f2d26231b7330a82288f70dd996d060.png)

![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/2/24d6e7da967dafbf24398e7537649071e1b60c41.png)

![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/f/f70773fb438966bfa15164adf71fac76790058f4.png)

다음과 같은 설정 후에도 같은 결과가 나오는지 확인 부탁드리고
똑같이 통신이 안된다면,
맨 처음 TCP 연결 후 데이터 전송 전의 패킷을 캡쳐 부탁드립니다. (MSS 확인용)
또한 사용하시는 펌웨어를 제가 확인해보는 방법도 고려해봐야할 것 같습니다.

감사합니다.

### Reply 12 by Joonbum, 2019-12-16

보여주신 세팅이 제 PC와 미묘하게 달라서 정확하게 설정을 했는지 모르겠습니다.
(대형 전송 오프로드 V2(IPv4)가 Large Send Offload v2 (IPv4), 점보 패킷이 점보 프레임, 전송 버퍼는 송/수신 버퍼로 되어있네요 제 PC에서는)

위와 같이 세팅하니 아까와 같은 값은 안 보이고, 전송 길이도 590으로 줄었습니다. 물론 몇번 전송이 되다가 [TCP Window Full] 발생합니다.

처음 TCP 연결 시의 패킷은

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/b/bc6a6ffa0708cc903e4e7fff6fdf3c48563f6848.png) image1199×424 28.1 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/b/bc6a6ffa0708cc903e4e7fff6fdf3c48563f6848.png)

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/3/33b2e3dfc35edc1e23cffe96085fb68681d5fafb.png) image1198×442 28.2 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/3/33b2e3dfc35edc1e23cffe96085fb68681d5fafb.png)

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/c/cb8cc9f66514302400ef8fcd7b7308f6c086fa4a.png) image1197×432 27.8 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/c/cb8cc9f66514302400ef8fcd7b7308f6c086fa4a.png)

입니다.

혹시 몰라 wireshark 저장 파일도 업로드합니다.(처음 저장해서 원하는 정보가 저장되어 있는지는 모르겠네요)
[ax1.zip](https://maker.wiznet.io/forum/legacyFile.asp?path=2zDQPhgahVgqMAsWMFqdOxz3QmM.zip) (348.3 KB)

### Reply 13 by lawrence, 2019-12-16

안녕하세요

보내주신 wireshark 를 통해 TCP 통신을 확인했습니다.

확인한 내용은 192.168.0.100에서 536 바이트를 3번 전송하고
192.168.0.161에서 window size가 440이 남았다고 응답했습니다.
그리고 192.168.0.100이 440 바이트 데이터를 전송한 뒤에
말씀하신 window full 현상이 나오고 있습니다.
(536+536+536+440 = 2048 = 2KB)

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/1/1d8f2b9b61b7b0c64f8de55dfbc08d35c0f08dd6.png) image1526×400 21.4 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/1/1d8f2b9b61b7b0c64f8de55dfbc08d35c0f08dd6.png)

현재 이 상황으로 보면 192.168.0.161의 소켓 버퍼 사이즈인 2KB가 가득 찬뒤에 Recv 동작을 하지 않는것으로 보입니다.

따라서 코드를 확인하시어 소켓 수신버퍼크기를 확인 후 Recv 커맨드를 내리는 부분이 정상 동작하는지 확인이 필요해보입니다.

확인해보시고 필요하신 부분이 있으시면 포럼을 이용해주세요

감사합니다.

---

Source: https://maker.wiznet.io/forum/13610
