This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
=?big5?b?pl6rSKFHIFJlOiBbRUNPU10gRUI0MExTIGV0aGVybmV0IGNhcmQgcHJvYmxlbQ==?=
- From: RandyLin at mxic dot com dot tw
- To: ecos-discuss at sources dot redhat dot com
- Date: Wed, 10 Sep 2003 10:07:47 +0800
- Subject: [ECOS] =?big5?b?pl6rSKFHIFJlOiBbRUNPU10gRUI0MExTIGV0aGVybmV0IGNhcmQgcHJvYmxlbQ==?=
Andrew Lunn
<andrew@lunn. 收件人: RandyLin@mxic.com.tw
ch> 副本抄送: ecos-discuss@sources.redhat.com
主旨: Re: [ECOS] EB40LS ethernet card problem
2003/09/09
07:07 PM
On Tue, Sep 09, 2003 at 06:33:22PM +0800, RandyLin@mxic.com.tw wrote:
> I am porting the EB40LS ethernet card.
> I compile the pint_test program in
> /ecos-2.0/packages/net/common/v2_0/tests/
> I use the arm-elf-gdb to download the image to EB40LS
> I have the messages:
>
> ============================================
> [cyg_net_init] Init: mbinit(0x00000000)
> [cyg_net_init] Init: cyg_net_init_devs(0x00000000)
> Init device 'cs8900a_eth0'
> [cyg_net_init] Init: loopattach(0x00000000)
> [cyg_net_init] Init: ifinit(0x00000000)
> IFP: 0x0212b7e0, next: 0x00000000
> [cyg_net_init] Init: domaininit(0x00000000)
> [cyg_net_init] Init: cyg_net_add_domain(0x020de42c)
> New domain internet at 0x00000000
> [cyg_net_init] Init: cyg_net_add_domain(0x020dde80)
> New domain route at 0x00000000
> [cyg_net_init] Init: cyg_route_init(0x00000000)
> [cyg_net_init] Done
> Start PING test
> BOOTP[eth0] op: REPLY
> htype: Ethernet
> hlen: 6
> hops: 0
> xid: 0x0
> secs: 0
> flags: 0x0
> hw_addr: ff:ff:ff:ff:ff:ff
> client IP: 192.9.207.130
> my IP: 192.9.207.130
> server IP: 192.9.207.121
> gateway IP: 192.9.207.254
> options:
> subnet mask: 255.255.255.0
> IP broadcast: 192.9.207.255
> gateway: 192.9.207.254
> SIOCIFADDR: Device not configured
> Network initialization failed for eth0
> PASS:<Ping test OK>
> EXIT:<done>
> ================================================
>
> Here is my questions:
> 1. I set the mac address at configtool, why I still got the hw_addr:
> ff:ff:ff:ff:ff:ff ?
Exactly what did you configure. What is the full name of the option.
I copy the
/packages/devs/eth/arm/edb7xxx directory to create
/packages/devs/eth/arm/eb40ls
I modify the cdl and include file ...
and configure the MAC address in CYGDAT_DEVS_ETH_ARM_EB40LS_ETH0_ESA
from configtool "The ethernet station address" option
am I miss something?
> 2. SIOCIFADDR: Device not configured, I trace the code in
> bootp_support.c
> strcpy(ifr.ifr_name, intf);
> if (ioctl(s, SIOCSIFADDR, &ifr)) {
> perror("SIOCIFADDR");
> return false;
> }
> is the ioctl code implement in
> /packages/net/bsd_tcpip/v2_0/src/sys/net/if.c (ifioctl)?
The call path goes through a number of layers in the stack. It might
not be failing here. You probably want to single step the ioctl call
and see exactly where it fails. From that you can work out why it
fails.
You might also want to edit the DEBUG macro in cs8900.h to enable more
debug info.
Andrew
Thanks, I will trace the ioctl call