RJ45 커넥터를 뽑고 다시 연결시 IP, GW, SN, MAC 0000으로 초기화 현상

안녕하세요.
현재 사용 네트웍모듈은 WIZ850io와 Atmega64A를 사용해서 TCP to UART Module 개발중입니다.

WIZ850io: Server Mode(Listen)로만 구성됨
Static IP할당//포트 5000
네트웍: 사내 네트웍에 연결 - 허브 - 클라이언트 PC

이슈(순서대로 정리)

  1. 개발 Module에 전원 투입
  2. Client Connect 요청 및 연결 수립완료(SOCK_ESTABLISHED)
  3. RJ45 커넥터 제거 (약 2초)
  4. RJ45 커넥터 연결
  5. ctlnetwork(CN_GET_NETINFO, (void*) &NetInfo);
    MAC, IP, GW, SN 데이터 모두 0으로 바뀜
    매번 그런것은 아니지만 매우 빈번하게 발생함
    Client Connect가 되지않은, 즉 Listen으로 대기중일땐 커넥터 뺏다 꽂아도 괜찮음

솔루션

  1. ctlwizchip(CW_GET_PHYLINK, (void*) &tmp);
    if(tmp == PHY_LINK_OFF)
    WIZ850IO 물리적 리셋 및 MAC, IP, GW, SN, PORT 정보 새로 전송
    결과: 이슈내용 개선안됨

  2. 1번 LINK OFF되었을때 Atmega64를 리부팅
    MCU를 리부팅하게되면 WIZ850IO에 물리적 리셋및 처음부터 셋팅하는 효과
    결과: 이슈내용 개선안됨

  3. SPI 속도 7Mbps에서 200kbps로 변경
    결과: 이슈내용 개선안됨

==========================

RJ45에 LAN Cable이 정상적으로 연결된 상태에서 TCP <— 변환 —> UART 통신은 매우 잘됩니다.
떨어져 나가는것도 없고 50ms 간격으로 1일 왕복 데이터 송수신시 단 한번도 에러없이 잘됩니다.

매우 특이하게 Established 후 LAN Cable을 뺏다 꽃으면 Port만 종전 5000번 살아있고
IP, GW, SN, MAC 모두 0으로 초기화? 됩니다.
어쩔땐 IP, SN, MAC은 모두 살아있고 GW가 종전 192.168.1.254에서 0.168.1.254로 변경된적도 있습니다.

이를 해결하기위해 Socket이 Close되면 WIZ850io를 물리적 리셋후 설정을 새로해주면 잘되는 경우가 많지만 빈번하게(수회~수십회 뺏다 꽂으면) 5분안에 위 증상이 나타납니다.
그래서 Atmega64까지 리부팅을 해도 마찬가지로 증상이 생깁니다.

해결의 실마리를 찾지못해서 질문 올립니다.

혹시나해서 노트북과 1:1로해도 그럴까해서 테스트해본결과 문제가 안생깁니다.
위 질문의 환경적 조건은 회사망에 연결되어있는 상태입니다.

혹시 이런경험을 토대로 문제의 원인 및 해결방안이 있을지 자문 구합니다.

WIZ850io에 reset이 걸리거나, SPI로 해당 레지터에에 다른 데이터가 들어가지 않는 이상은 network관련레지스터를 0으로 초기화되지 않습니다.

PC에서 WIZ850io로 cmd 창에서 ping을 계속 날리면서 network 관련 레지스터가 0으로 초기화 될때 ping test가 되는지 확인 부탁드립니다.

답변주셔서 감사합니다.

WIZ850io에 reset이 걸리거나, SPI로 해당 레지터에에 다른 데이터가 들어가지 않는 이상은 network관련레지스터를 0으로 초기화되지 않습니다.

저도 제가 잘못한걸로 생각하고 계속 원인을 찾고는 있으나 쉽지가 않습니다.
PC랑 1:1로하면 문제없고 사내 네트웍에만 물리면 증상이 나타납니다.
이때 W5500을 리셋걸어도~, MCU를 리셋걸어도~ 해결되지 않았습니다.

소스코드는 매우 간단하며 루프백 데모 프로그램을 이용하였습니다.
여기에 TCP로 수신받은 데이터를 에코하는 루틴은 그대로 두었으며 UART로도 데이터 전송하는것만 추가되어 있습니다.

다시한번 조언 부탁드립니다.

PC와 1:1이 된다면, 소스코드는 문제가 없는것 같지만… PC와 1:1로 에이징 같은것은 돌렸을때 끊기지 않고 정상 동작한다는 말씀이죠?
사내 네트워크에 물리면 그런 현상이 일어나는것도 이상하네요.
혹시 사내 네트워크는 DHCP로 IP를 할당받아 사용하나요? WIZ850io또한 DHCP로 IP를 할당받아 사용하나요??

Static으로 할당해서 사용하고 있습니다.

왜그런지 아직까지도 모르겠지만 또다른 특이한점은 WIZ850io 반대편 스위칭 허브쪽 LAN선을 뽑았다 끼우면 또 잘됩니다.
스위칭허브는 IPTIME H508 8Port짜리를 사용하고 있습니다.

현재 LAN Cable이
Cross cable이라면 direct cable
direct cable이라면 Cross cable로 변경해서 확인해보셔야할것 같아요.

빠른 댓글 주셔서 감사합니다.
케이블 찍어서 시도해보고 댓글로 결과 공유하겠습니다.
통신은 약 20~30ms 주기로 왕복(TCP<—>UART) 통신으로 에이징 걸고있으며 1일 300만회 통신시 끊김현상 없습니다.
모니터링은 샤크로도 같이 찍고 있습니다.

종전 Direct Cable에서 Cross Cable로 변경후 Test했습니다.
결과는 똑같은 현상입니다.


포트는 0x1388(5000) 살아있고 (Datasheet상 Reset value는 0)
MAC은 6자리 모두 0x00
IP, GW, SN 모두 0x00 입니다.
나머진 제가 고민해보겠습니다.
많이 도와주셔서 감사드려요!

저도 고민해보도록 하겠습니다.
혹시라도 해결되시면 답변부탁드립니다. 저도 궁금하네요…