Tag: Tester Present
All the articles with the tag "Tester Present".
-
DoIP에서 NRC 0x22가 뜬다: 조건 미충족을 통신 timeout처럼 보지 말자
DoIP에서 UDS 요청 후 NRC 0x22 Conditions Not Correct가 오면 TCP timeout이나 Routing Activation 문제가 아니라 ECU가 현재 상태에서 그 서비스를 수행할 조건이 아니라고 보는 편이 빠르다. 세션, Security Access, 전원 모드, Tester Present, 이전 작업 상태를 함께 확인하는 디버깅 순서를 정리한다.
-
DoIP에서 한동안 가만히 두면 첫 요청만 timeout 난다: 살아 있는 것처럼 보이는 TCP socket을 먼저 의심하자
DoIP에서 Routing Activation까지는 정상처럼 보였는데 몇 분 또는 몇십 분 유휴 후 첫 UDS 요청만 timeout처럼 사라지면, ECU보다 먼저 이미 끊긴 TCP socket을 앱이 계속 살아 있다고 믿는 상태를 확인해야 한다. keepalive, Alive Check, 재연결 조건을 분리해 두는 편이 안전하다.
-
DoIP에서 Response Pending 중 Tester Present를 섞으면 꼬인다: 같은 세션 유지와 대기 흐름을 분리해서 봐야 한다
DoIP에서 긴 UDS 작업 중 NRC 0x78 Response Pending이 오는 동안 Tester Present를 같은 소켓과 같은 요청 흐름에 무심코 섞어 보내면, 대기 중인 서비스 응답과 keepalive 목적의 세션 유지 요청이 충돌해 로그 해석과 재시도 정책이 쉽게 꼬인다. 두 흐름을 분리해 관리하는 편이 안전하다.
-
-
DoIP에서 ECU Reset 후 다시 안 붙는다: 소켓 종료와 재연결 순서를 같이 봐야 한다
DoIP에서 UDS ECU Reset 이후 연결이 살아 있는 것처럼 보이는데 다음 진단이 실패하면, ECU 애플리케이션보다 먼저 소켓 종료, Routing Activation 재수행, Tester Present 재개 순서를 확인해야 한다. reset 전후를 같은 세션으로 취급하면 ACK는 보이는데 실제 UDS가 안 붙는 식으로 쉽게 꼬인다.
-
DoIP 통신이 가끔 끊긴다: Alive Check / TCP Keepalive / Tester Present를 분리해서 보자
DoIP는 TCP라서 붙기만 하면 끝인 줄 아는데, 실무에서는 가만히 두면 어느 순간 세션이 끊기는 경우가 많다. Alive Check, TCP Keepalive, UDS Tester Present는 목적이 다르다. 끊김을 줄이려면 이 셋을 분리해서 설계해야 한다.