Posts
All the articles I've posted.
-
기술 블로그 주제가 너무 좁을 때, 유입용 카테고리 다시 잡는 법
DoIP나 lwIP처럼 깊지만 검색량이 좁은 주제를 쓰다 보면 블로그 유입이 잘 늘지 않는다. 이때 전문성을 버리지 않고, 유입용 글을 어디에 배치해야 블로그가 덜 산만해지는지 카테고리 기준을 정리한다.
-
lwIP 타이머가 안 돈다: NO_SYS에서 sys_check_timeouts() 빠지면 생기는 증상
lwIP를 bare-metal(NO_SYS)로 붙였는데 DHCP/ARP/TCP가 '가끔' 이상해지는 경우가 있다. 원인은 타이머 처리 루프를 안 돌린 경우가 많다. sys_check_timeouts()를 어디서/얼마나 자주 돌려야 하는지, 그리고 빠졌을 때 나타나는 전형적인 증상을 현장 관점에서 정리한다.
-
DoIP는 붙었는데 진단이 안 된다: Entity Status/Power Mode로 상태부터 확인하기
TCP는 붙고 Vehicle Identification도 되는데 Routing Activation/UDS가 안 될 때가 있다. 이때 패킷 필드를 무작정 붙잡기 전에, DoIP의 Entity Status/Power Mode 같은 상태성 정보를 써서 '지금 진단 가능한 상태인지'를 먼저 확인하는 디버깅 흐름을 정리한다.
-
DoIP Vehicle Discovery가 가끔 안 잡히는 이유
DoIP Vehicle Discovery가 간헐적으로 실패하는 원인은 UDS보다 UDP broadcast, interface 상태, gateway boot timing, retry 정책, discovery cache 관리에 있는 경우가 많다.
-
DoIP Gateway 구조를 이해해야 ECU가 보인다
DoIP에서는 TCP 연결 endpoint와 실제 진단 대상 ECU가 다를 수 있다. Gateway 기반 차량 네트워크에서 logical address, routing activation, internal forwarding, response source tracking을 어떻게 봐야 하는지 정리한다.
-
DoIP Firmware Download에서 갑자기 문제가 터지는 이유
DoIP firmware download에서는 작은 진단 요청 때 보이지 않던 TCP stream 처리, large payload, timeout, flash latency 문제가 한꺼번에 드러난다. TransferData 흐름과 parser 안정성 관점에서 정리한다.
-
DoIP Negative Acknowledge, UDS 에러랑은 다르다
DoIP Negative Acknowledge와 UDS Negative Response는 완전히 다른 레이어의 신호다. DoIP NACK는 transport/protocol 문제이고, UDS 0x7F는 diagnostic application 문제라는 점을 로그와 파서 관점에서 정리한다.
-
lwIP pbuf가 가끔 터진다: PBUF_REF/POOL/RAM 수명주기와 zero-copy 함정
lwIP에서 네트워크가 '가끔만' 죽는 이슈는 pbuf 수명주기 문제인 경우가 많다. 특히 PBUF_REF/zero-copy를 섞으면 버퍼 재사용 타이밍이 한 번만 어긋나도 랜덤 크래시가 난다. pbuf 타입별 수명주기와 실무에서 자주 터지는 함정을 짧게 정리한다.
-
DoIP에서 ACK를 받았는데 UDS 응답이 없다: Diagnostic ACK/NACK를 제대로 쓰는 법
DoIP에서 Diagnostic ACK를 봤는데 UDS 응답이 없으면 보통 'ACK를 UDS 응답으로 착각'한 경우가 많다. DoIP ACK/NACK는 DoIP 레벨 신호고, UDS 응답(Positive/Negative/NRC)은 별개다. ACK/NACK를 디버깅 힌트로 쓰는 관점을 정리한다.
-
DoIP Functional Address는 왜 응답이 이상하게 보일까
DoIP functional request는 특정 ECU 하나를 대상으로 하는 physical request와 다르다. 하나의 요청에 여러 ECU가 응답할 수 있고, 응답 순서도 보장되지 않는다. 그래서 response collection, source tracking, timeout policy가 중요하다.