This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]