W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by becky ·
UDP 통신의 경우 Destination IP Address가 변경될때마다 ARP 를 요청합니다.
Timeout은 ARP에대한 response를 받지 못할 경우 발생됩니다.
192.168.0.30과 192.168.0.40 은 어떤 장치인가요??
Wireshark를 통해 위와 같은 상황에서 ARP Response가 잘 되는지 확인부탁드립니다.
RE: RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by Chobo Song ·
192.168.0.30과 192.168.0.40 은 어떤 장치인가요?? <---- PC 장비입니다.
W5300을 초기화 할때 ARP 사용하도록 하는 설정값이 혹시 있는지요?
초기화시에 W5300 제공 소스를 사용했습니다.
감사합니다.
받는 장비에 Wireshark을 설치할 수 없어서 별도로 테스트프로그램을 작성해서 타 장비에서 테스트를 진행하려합니다.
RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by becky ·
w5300은 별도의 ARP 테이블이 없기때문에 IP가 변경될시 무조건 ARP를 진행하게되어있습니다. 별도의 설정값은 없습니다.
다만, Sn_DHAR에 MAC주소를 저장한후 SEND Command 대신에 SEND_MAC Command로 데이터를 전송할 경우 ARP를 진행하지 않습니다.
RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by Chobo Song ·
다시 질문드립니다.
UDP 송신 … sendto 함수 사용.
192.168.0.30으로 packet을 전송하고, 바로 192.168.0.40으로 전송을 하면 -13 에러가발생합니다.
에러 발생하는 경우가… 192.168.0.30 장치가 Power OFF 된상태 인경우이고, 192.168.0.40 장치는 Power On이 되어 있는 경우입니다.
이경우 30, 40번 모두 에러가 발생하네요.
또한 30번으로 전송하지 않고 Power가 ON 되어 있는 40번, 50번 아이피로 전송을 하면 정상동작합니다.
어떤걸 조절? 하면 Power OFF 된 장비에 자료 전송을 해도 그장치만 에러가 나고 다음 으로 전송하는 장비는 에러가 나지 않을까요?
감사합니다
RE: RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by becky ·
해당 증상은 Firmware 적인 문제로 보입니다.
첫번째 sendto()에서 error가 나더라도 다음 전송시에는 정상적으로 전송됩니다.
펌웨어적으로 sendto에서 error를 return했을때 다음 sendto()가 동작하지 않도록 구현된것으로 추측됩니다.
아래 테스트한 코드와 디버깅 메시지 공유해드립니다. 참고하시기 바랍니다.
저의 환경의 경우 192.168.0.232는 Power On, 192.168.0.7은 Power off 된 장비라고 보시면 됩니다.
RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by Chobo Song ·
결론적으로 아이피를 바꿔가면서 연속으로 UDP Packet을 전송할 수 없는 거죠?
RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by becky ·
가능합니다
위에서 저는 192.168.0.7 과 192.168.0.232에게 번갈아가며 send하였습니다.
RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by Chobo Song ·
같은 시험을 해도 저는 -13에러가 납니다.
어떤 부분에서 제가 실수를 하거나 놓친 부분이 있을까요?
어떤 자료가 있어야 확인을 해볼수 있는 지요?
감사합니다;
RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by becky ·
유의할점은 IP를 변경하여 Send할경우에만 ARP를 전송한다는점입니다.
예를들어 전원이 OFF되어있는시점에 dest A로 sendto()를 전송하고
이후에 전원을 ON 하더라도 dest 가 변경된적이 없다면 ARP가 다시 전송되지않기때문에 Timeout이 발생됩니다.
RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by Chobo Song ·
네… 전원을 OFF, ON 하면서 테스트하는것은 아닙니다.
수신쪽(예를 들어 3대의 수신장비)에 전원이 모두 ON 된 상태에서 정상적인 통신을 하고 있다가 하나의 장비 전원이 OFF되는 경우 나머지 두개의 장비가 모두 -13 에러가 계속 발생이 되는것 때문입니다.
초기화및 W5300 제공파일도 함께 보내드립니다.
검토좀 부탁 드립니다.
감사합니다.socket_test.zip (45.4 KB)
RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by Chobo Song ·
아이피를 변경할 경우면 한번 사용한 아이피인경우는 ARP 요청을 하지 않는건가요?
RE: RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by becky ·
첫 ARP 진행 후에는 다시 ARP를 시도하지않으며, 다른 destination으로 전송하였다가 다시 전송할 경우 ARP를 전송합니다.
예를들어
위의 순서로 데이터를 전송할 경우 ARP를 전송하는 시점은 위와같습니다.
RE: W5300 Chip을 이용한 UDP 통신 관련 질문입니다.
by becky ·
1 과같은 환경에서는 정상작동한다고 하시지않으셨나요?
패킷상으로 볼때, 1번에서 112는 101에 대한 ARP를 계속 재전송하고 있습니다.
덤프이기 때문에 확실하진 않지만 101에서 ARP Response를 주지않는것으로 추측됩니다.
111로 전송은 안하는 것으로 보여집니다.
위에글에서는 2번과 같은 환경에서 error가 발생한다고하셨었는데 1번에서는 OFF된 device가 없는데 타임아웃이 발생한다는 말씀이신가요?