PC와 W5500 직접 통신하는 방법

안녕하세요.
W5500으로 보드를 직접만들어서 PC와 TCP통신을 하고 있습니다.
예전에 있던 코드를 통해서 PC → 공유기(iptime) → W5500로
W5500을 서버로 설정해서 통신에는 성공했습니다. 잘작동합니다.
이제 W5500과 PC와 직접 통신을 주고 받고 싶습니다.
하지만 직접 연결했을때는 통신이 실패했습니다.

PC와 W5500(서버로 동작)과 직접 통신하게 하려면 어떤것을 체크해야하나요?

참고로 W5500의 설정값들은 다음과 같이 정했습니다.

uint8 IP[4] = {192, 168, 0, 150};//IP Address
uint8 GateWay[4] = {192, 168, 0, 1};//Gateway Address
uint8 SubNet[4] = {255, 255, 255, 0};//SubnetMask Address

귀한 의견을 부탁드립니다.

Do you have link LED on when connecting to the PC directly?

If not, the first thing to try (excerpt from the W5500 datasheet):

5.5.6 MDIX
W5500 does not support auto-MDIX feature.
Thus, user should use straight-through cables to connect to other switches or routers and
crossover cables to connect to devices such as servers, workstations or another W5500.
However, user can use either type of cable to connect to other devices with auto-MDIX
enabled, and the interface automatically corrects for any incorrect cabling.

Same, from KR datasheet

5.5.6 MDIX
W5500 은 Auto-MDIX 를 지원하지 않는다.
따라서, Router 또는 Network Switch(허브)와 연결하는 경우 straight-through cable 를
사용하고, PC, Workstation, 혹은 또 다른 W5500 을 직접 연결하는 경우에는 반드시
Crossover cable 를 사용한다.
단, Auto-MDIX 를 지원하고 있는 장치(현재 대부분의 기기가 이 기능을 지원한다)와
연결하는 경우에는 어떤 cable 을 사용하여도 무방하다.

My PC side link LED is always on but w5500 side link LED is off, no blink.
ACT LED of both is on.
Are you think this situation cause by cable problem?
I will test link LED if connect via router.

thank you

안녕하세요 @flashgift80
Link LED 동작이 없는 경우는 하드웨어 검증이 필요로 합니다.
다만, 말씀하신대로 TEST 검증이 완료되었다면, 다음으로는 네트워크 환경을 확인해야 할 것 같습니다.
W5500의 경우 Auto-MDIX 지원이 되지 않기 때문에 상대 노드에 따라서 Direct cable 사용이 필요할 수 있습니다.
라우터 및 상대 device에서 Auto-MDIX 여부를 Auto detect하는 경우 이상 없이 동작할 수 있지만 그렇지 않은 경우는 Cable을 통해 TX,RX를 고정하여 통신하는 것이 필요합니다.

PC와 직접 연결하는문제는해결됬습니다.
고정ip설정에서 같은 ip로 설정되서 충돌난거였습니다.
그런데 ping테스트에서는 평균 258mS라는 처참한 속도인데
막상 실제 연결해서 긴길잉의 패킷으로 에이징 테스트를또 하면 지연없이 통신이 됩니다.
w5500에서 뭘해줘야 할것같은데 어떻게 할까요?

안녕하세요
IP 설정으로 네트워크가 문제해결되었다니 다행입니다.
w5500의 ping 속도는 매우빠릅니다. 하드웨어 처리를 하기 때문에 PC의 응답속도보다 더 빠르며 이미 하드웨어 구현이 된상태라 별도의 사용자 조작은 필요없습니다.
만약 해당 ping에서 비정상적은 속도가 측정된다면 먼저 PC에서 wireshark를 통해 패킷의 전송간격을 확인해볼 수 있습니다.
PC에서 대용량의 데이터처리가 일어나거나 대역폭제한 또는 방화벽등의 이유들로 응답속도의 변화는 생길 수 있습니다.

1 Like