Nitzan Ruf

OpenTCP IP\ICMP Driver Problem with MC9S12NE64

Discussion created by Nitzan Ruf on Nov 27, 2006
Latest reply on Dec 1, 2006 by Nitzan Ruf
My Project is written in C using CodeWarrior Compiler. I`m Using THE MC9S12NE64 Chip and i am also using your OpenTCP Driver that was supplied by you.
After a few bugs that was found in OpenTCP that i fixed i found this particulaer problem :
the chip is located on a card that is sitting on a larger-scale card. there are some cards of this on a LAN Network (8-10 cards) and when i am using a Raw-Socket Ping program (on a PC connected to this lan) that is meant to check whick of the cards is online and which is offline i get this problem : for some reason the card with the MC9S12NE64 doesn`t return ICMP ping echo answer to the PC with the ping program.
when i checked what is happening using RS232 OpenTCP Debug i saw that there was a problem in the function (proccess_ip_in) in (ip.c) in the OpenTCP section.
the function returned -1 in the part that ask :
*** if(ip_frame.len > frame->tlen - ETH_HEADER_LEN) return -1 ***
that means my program doesnt reach the icmp driver section and "falls" in the ip section - a matter that makes me very worried.
i checked and the ip_frame length is ok but for some reason the length of the Ethernet frame is not ok (i checked it with Ethernet Sniffer Wireshark)
by the way a ping that is done by a PC with MS DOS Ping to only 1 card is OK.
by the way my Raw socket ping problem worked fine with other PC Joined to a network and similar card to the ones that i`m working on now, the problem exists only in the card with MC9S12NE64. Normal Communication with IP, TCP etc worked fine on the card with MC9s12NE64 and only ICMP Ping with raw socket program does this problem.
i would appeciate if you check this matter and can return me an answer or an OpenTCP Upgraded version.
Best Regards.