보드에 2.4.18의 커널을 올리고 테스트를 하고 있습니다.

PC에서 ACM을 이용하여 핸드폰으로 인터넷을 했던 경험을 되살려... 보드에서도 인터넷이 되게 하고자... 802.3을 과감히 포기하고(^^;;) 핸드폰을 꽂았습니다.  물론 데이터 프리 정액 요금도 신청했습니다.

ACM도 올라가고, ping test도 잘 되길래 잘 되는구나 싶어서 telnet을 해봤는데 안되는 것 아니겠습니까.  왜 그러나 싶어서 이것저것 찾다보니 IP Layer까지의 datagram들은 잘 나가는데 반해서 그 이상의 Layer에서 내보내는 packet들은 모두 버려지는 것이었습니다.

소스를 보니, 버려지는 이유는 FCS를 검사한 후에 이게 BAD라고 버려지더군요... ppp_async.c에서 찾았는데, 간략한 소스는 다음과 같이 되어 있었습니다.

fcs = PPP_INITFCS;
for (; len >  0; --len)
    fcs = PPP_FCS(fcs, *p++);
if (fcs != PPP_GOODFCS)
    goto err;
...
err :
    kfree_skb(skb);
    ppp_input_error(&ap->chan, code);

PPP_FCS는 ppp_depth.h에 정의 되어 있었는데 호스트 PC용이나 타겟 보드 용이나 동일하더군요.  PPP_INITFCS도 마찬가지고요.  물론 PPP_GOODFCS도 마찬가지입니다.

ping test는 되는 걸로 봐서 통신이 아예 안되는 것 같지는 않은데, 어떻게 해야 할까 고민이 만만치않습니다.  검색을 해도 이쪽으로는 잘 못찾겠네요... 혹시라도 짚이는데가 있으시면 한말씀이라도 적어주시면 정말 저에게 큰 도움이 될 것 같습니다.  읽어주셔서 감사하고요, 항상 즐거운 하루 되세요.