
Strange...
Changing from:
int PingSend(void) { static uchar mac[6]; volatile IP_t *ip; volatile ushort *s; uchar *pkt;
to:
int PingSend(void) { static uchar mac[6]; IP_t *ip; ushort *s; uchar *pkt;
Solved the ping problem (o;
nice evening rick
Evening (o;
Something puzzed me today...(and still is ;o)
In "net/net.c" in function PingSend we fill out the ping packet to be sent later on after ARP reply, which is pointed to by "NetArpWaitTxPacket"..right?
When I place a call to print out the packet just before starting with ARP like:
/* and do the ARP request */ NetArpWaitTry = 1; NetArpWaitTimerStart = get_timer(0); printf ("Ping packet filled...\n"); print_packet (NetArpWaitTxPacket, NetArpWaitTxPacketSize); ArpRequest(); return 1; /* waiting */
I get as a result (as also captured with ethereal):
Ping packet filled... Packet of length 42 0000 0000 0000 0280 ad20 31b8 0800 0000 0000 0000 0000 0000 0000 0a00 0404 0a00 0105 0000 0000 0000 0000
So only source MAC and PROT_IP as well as source/dest IP addresses are filled out correctly..rest is blank...
thanx in advance for hints (o; rick
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users