This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: Ethernet problem
- From: "Nejat Tek" <tek at delcomsys dot com>
- To: <ecos-discuss at sources dot redhat dot com>
- Cc: <Daniel dot Andersson at combitechsystems dot com>
- Date: Mon, 25 Feb 2002 10:49:42 -0500
- Subject: RE: [ECOS] Ethernet problem
What I can suggest is that you start with finding a "packet sniffer",
for example "tcpdump" for your PC. With "tcpdump", you may verify that
1) Packets are really being transmitted out from your board ( The
communication starts with two arp requests that has to come out
of your board in ping_test )
2) What the outside world sees your hw_address is. ( tcpdump shows
the content of the packets, and arp request packet has the hw_addr
info in it ).
> // Initialize upper level driver
> (sc->funs->eth_drv->init)(sc, (unsigned char *)&enaddr);
>
> Should it be set anywhere else?
It should be set on the hardware interface, the code looks like :
memcpy((void *)&fec->addr[0], &enaddr[0], sizeof(enaddr));
The hardware address advertised in the debug printout comes
from "build_bootp_record" function in
"... packages/net/tcpip/current/src/lib/network_support.c".
That neither shows the actual hw_addr nor does it effect the
operation of the ethernet ....
Good luck,
Nejat Tek
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss