[WIZ830MJ] UDP 관련
General
No replies yet. Be the first to reply.
Join the discussion.
General
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: [WIZ830MJ] UDP 관련
by becky ·
안녕하세요
UDP mode의 경우 RX_RSR값보다 큰 사이즈의 패킷이 수신될경우
칩에서 패킷을 수신하지 않습니다.
혹시 소켓버퍼 사이즈가 1KB로 설정되어있을경우,
UDP 데이터 1KB 전송시 W5300에서는 헤더사이즈를 포함한 1032Byte가 수신되기 때문에
데이터를 수신하지 않습니다.
혹시 소켓버퍼 사이즈가 몇으로 설정되어있으신가요??
감사합니다.
RE: RE: [WIZ830MJ] UDP 관련
by jyheo80 ·
안녕하십니까,
현재 버퍼 사이즈는 8KB로 설정되어 있습니다.
기본소스로 테스트한 결과 1472바이트까지 수신이 되고, 그 이후는 수신이 안되네요.
W5300_Drv_AVR_V1.2.2보면 디폴트로 8KB로 설정되어 있는 것으로 보이는데, 제가 잘못 이해하고 있는 부분이 있는지요?
이 부분 때문에 다음으로 넘어갈 수가 없네요… 조언 좀 부탁드립니다. ㅜㅜ
w5300.c 에서 sysinit함수는 디폴트로 아래와 같이 사용 중이며, main.c에서
위와 같이 8KB로 설정하도록 되어 있네요. 물론 iinchip_conf.h에서 MAX_SOCK_NUM은 8로 설정되어 있습니다.
RE: RE: [WIZ830MJ] UDP 관련
by jyheo80 ·
추가적으로 여러 문의글 찾아보니, UDP의 경우 최대 수신 용량이 1472바이트까지이며, 넘어갈 경우 자동으로 나눠서 수신되는 것으로 보입니다.
그렇다면 PC에서 W5300쪽으로 2000바이트를 보낼 경우, 수신 시 Loopback 함수의 if((len=getSn_RX_RSR(s)) > 0) 조건 안으로 2번 들어가야 하는 것이 아닌지요?
147바이트가 넘어가면 이 조건안으로 들어가지가 않네요…
제공되는 소스의 어느 부분을 수정해야 할까요…
loopback_tcpc 함수의 경우에는 문제없이 되는데… UDP는 안되네요… ;;
RE: [WIZ830MJ] UDP 관련
by becky ·
안녕하세요
TCP의 경우 신뢰성있는 통신으로 데이터를 받지 못할경우 재전송하는 알고리즘을 갖고 있기 때문에 UDP의 경우와는 다릅니다.
UDP 표준 규격이 최대 1472Byte이긴 하지만 간혹 규격을 맞추지않고 더 큰 size를 전송하는 경우도 있긴 합니다. 데이터를 전송하는쪽에서 패킷을 자동으로 나눠서 보내주고 있는지, 규격을 무시하고 전송하고 있는지 확인해봐야할 것 같습니다.
Wireshark를 통해 패킷 확인하는게 좋을 것 같습니다.
RE: [WIZ830MJ] UDP 관련
by irina WIZnet ·
우선 case SOCK_UDP 부분을 아래의 코드로 변경해보세요
한번 테스트해보시고 그래도 제대로 동작하지 않는지 알려주세요