---
title: "MACRAW모드로 loopback동작시 getSn_IR(sn)무한루프걸리는 문제"
url: "https://maker.wiznet.io/forum/12236"
markdown_url: "https://maker.wiznet.io/forum/12236/md"
type: "Forum topic"
category: "General"
author: "zzynys"
created: "2017-04-07T05:43:00+09:00"
last_activity: "2017-05-04T08:40:08+09:00"
language: "ko"
views: 1064
replies: 1
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# MACRAW모드로 loopback동작시 getSn_IR(sn)무한루프걸리는 문제

## Question

Asked by zzynys on 2017-04-07 in General.

## WIZwiki-W7500 보드에서 MACRAW 모드로 loopback 동작테스트 중입니다. 예제 소스(LoopbackTest)를 수정하여 MACRAW모드로 loopback 테스트를 하였고 wireshark로 이상없음을 확인하였습니다. 실제 적용할 구조는 다음과 같습니다.

## dev_a (mii data) ----------------------> w7500 -------------------> dev_b (mii data)를 보내는 구조입니다. (mii_rx_clk, rx_dv, rx_d0~d3) (mii_tx_clk, tx_en, tx_do~d3)

여기서 w7500보드에 붙어 있는 U3_IP101GA 를 들어내고, dev_a와 dev_b의 mii data를 연결 하였습니다.
dev_a의 mii rx 데이터는 recvfrom()에서 정상 확인하였습니다만, sendto()의 while(1){… getSn_IR(sn) …}에서 무한루프에 빠져 버립니다.
부팅후 데이터가 2번 정상 동작하다가 3번째에 증상이 나옵니다.
sendto를 빼고 recvfrom만 실행하면 계속해서 동작됨을 확인하였습니다.
해당 증상관련 하여 검토 부탁드리겠습니다. 소스는 첨부하였습니다.

int32_t sendto(uint8_t sn, uint8_t * buf, uint16_t len, uint8_t * addr, uint16_t port)
{
…
…
while(1)
{
tmp = getSn_IR(sn);
if(tmp & Sn_IR_SENDOK)
{
setSn_IR(sn, Sn_IR_SENDOK);
break;
}
//M:20131104
//else if(tmp & Sn_IR_TIMEOUT) return SOCKERR_TIMEOUT;
else if(tmp & Sn_IR_TIMEOUT)
{
setSn_IR(sn, Sn_IR_TIMEOUT);
return SOCKERR_TIMEOUT;
}
////////////
}
}

*참고로 dev_a의 mii데이터를 wireshark로 캡처하여 pc에서 확인하였음.
PC(colasoft packet player로 전송) &lt;---------> WIZwiki-W7500 에서 loopback(macraw) 동작을 wireshark로 확인.
[W7500x_Library_Examples_macraw.zip](https://maker.wiznet.io/forum/legacyFile.asp?path=2eHaeY3teyQytGdXzLc9GsZOPxH.zip) (1.85 MB)

## Replies

### Reply 1 by Edward, 2017-04-10

안녕하세요.

일단, 대략적으로 어떤 말을 하시는지는 알겠으나 의도 파악이 어렵습니다;;

dev_a , dev_b는 무엇인지 부터 정확하게 설명을 해주셔야 합니다.

WIZwiki-W7500 보드에 있는 PHY를 없애고 2 port 짜리 PHY를 연결해서 사용하셨다는 말인가요??

하드웨어를 수정하셨기 때문에, 저희로써는 정확한 답변을 드리기가 어렵고 조언만 해드릴 뿐입니다.

정확하게 어떤 하드웨어를 어떻게 수정하셨는지를 알려주시면, 그에 따라 몇 가지 조언은 해드릴 수 있습니다.

감사합니다.

---

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