Posts
All the articles I've posted.
- DevUpdated:
Codex로 기술 블로그를 쓸 때 AI와 사람이 나눠야 할 일
Codex 등 AI 도구로 기술 블로그를 작성할 때 맡겨도 되는 작업과 사람이 직접 검토해야 하는 내용을 구분합니다.
- DevUpdated:
Astro에서 AdSense가 페이지 전환 후 안 보일 때 확인할 것
Astro View Transitions 환경에서 AdSense가 첫 화면에만 나오고 페이지 전환 후 비는 이유와 확인 순서를 정리합니다.
-
lwIP에서 UDP broadcast가 안 나간다: SO_BROADCAST와 netif flags를 같이 보자
lwIP에서 UDP broadcast 송신이 timeout처럼 보이거나 패킷이 캡처되지 않으면 payload보다 SO_BROADCAST 또는 SOF_BROADCAST, NETIF_FLAG_BROADCAST, netif up/link, source IP, route를 먼저 확인해야 한다. RAW API, netconn/socket API, multi-netif 환경의 확인 순서를 정리한다.
- Advertisement
-
DoIP에서 NRC 0x35가 뜬다: Invalid Key를 알고리즘 오류로만 보면 오래 헤맨다
DoIP에서 SecurityAccess key 전송 뒤 NRC 0x35 Invalid Key가 오면 seed/key 알고리즘만 의심하지 말고 seed freshness, level pairing, endian, session, retry counter를 나눠 확인해야 한다. 0x24, 0x33, 0x36과 구분해 로그를 남기는 흐름을 정리한다.
-
lwIP에서 tcp_write()가 ERR_MEM을 돌려준다: free RAM보다 snd_buf와 snd_queuelen을 먼저 보자
lwIP RAW TCP에서 tcp_write()가 간헐적으로 ERR_MEM을 반환하면 free RAM보다 TCP_SND_BUF, TCP_SND_QUEUELEN, MEMP_NUM_TCP_SEG, unsent/unacked 큐를 먼저 확인해야 한다. 작은 write 반복, ACK 지연, sent callback 없는 busy loop가 송신 큐를 막는 패턴을 정리한다.
-
DoIP에서 NRC 0x14가 뜬다: Response Too Long을 TCP 문제로 착각하지 말자
DoIP에서 UDS 요청 후 NRC 0x14 Response Too Long이 오면 TCP stream이나 패킷 조각 문제보다 요청이 만들 응답 크기, ECU 내부 버퍼, DID 묶음, routine result 크기를 먼저 확인해야 한다. 0x13, 0x78과 헷갈리지 않도록 응답 크기 문제를 분리해 보는 디버깅 순서를 정리한다.
-
lwIP에서 송신이 가끔 멈춘다: linkoutput에서 TX descriptor와 pbuf 수명을 같이 보자
lwIP 포팅에서 수신은 되는데 송신이 부하 중 멈추거나 linkoutput이 실패하면 TX descriptor 회수, pbuf chain 처리, zero-copy pbuf lifetime을 같이 봐야 한다. 복사 기반 송신과 DMA zero-copy 송신에서 ownership 기준이 어떻게 달라지는지 정리한다.
-
DoIP에서 NRC 0x31이 뜬다: DID와 Routine ID 범위를 세션 문제와 나눠 보자
DoIP에서 UDS 요청 후 NRC 0x31 Request Out Of Range가 오면 통신 실패보다 요청한 DID, Routine ID, sub-function, 세션별 지원 범위를 먼저 확인해야 한다. 0x22, 0x13과 헷갈리지 않도록 서비스 범위와 ECU 상태 조건을 분리해 보는 디버깅 순서를 정리한다.
-
lwIP에서 RX pbuf를 넘긴 뒤 가끔 깨진다: tcpip_input ownership을 먼저 정리하자
lwIP 포팅에서 RX 패킷을 tcpip_input()으로 넘긴 뒤 간헐적인 payload 깨짐, double free, PBUF_POOL 고갈이 보이면 pbuf ownership 규칙을 먼저 확인해야 한다. ERR_OK와 실패 반환값, DMA 버퍼 재사용, ISR 컨텍스트, 예외 경로별 pbuf_free 기준을 정리한다.
-
DoIP에서 NRC 0x22가 뜬다: 조건 미충족을 통신 timeout처럼 보지 말자
DoIP에서 UDS 요청 후 NRC 0x22 Conditions Not Correct가 오면 TCP timeout이나 Routing Activation 문제가 아니라 ECU가 현재 상태에서 그 서비스를 수행할 조건이 아니라고 보는 편이 빠르다. 세션, Security Access, 전원 모드, Tester Present, 이전 작업 상태를 함께 확인하는 디버깅 순서를 정리한다.