This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Network problem with eCos 2.0 and Viper
- From: Paul Randall <prandall at delta-info dot com>
- To: "ecos-discuss at sources dot redhat dot com" <ecos-discuss at sources dot redhat dot com>
- Date: Thu, 06 Jun 2002 13:39:01 -0400
- Subject: [ECOS] Network problem with eCos 2.0 and Viper
Hi all,
Thanks to Gary Thomas for helping me update RedBoot on my viper. The
new version is running well. I can ping to/from the board and also
telnet into the board, both of which I could not do with the version of
RedBoot that shipped with my viper.
After I got the new version of RedBoot running, I tried to run
pingtest.exe on the viper and the test failed. The output of the test
is:
(gdb) [cyg_net_init] Init: mbinit(0x00000000)
[cyg_net_init] Init: cyg_net_init_devs(0x00000000)
Init device 'fec_eth'
[cyg_net_init] Init: loopattach(0x00000000)
[cyg_net_init] Init: ifinit(0x00000000)
IFP: 0x000858dc, next: 0x000da6c0
IFP: 0x000da6c0, next: 0x00000000
eth0 XXX: driver didn't set ifq_maxlen
[cyg_net_init] Init: domaininit(0x00000000)
[cyg_net_init] Init: cyg_net_add_domain(0x00086690)
New domain internet at 0x00000000
[cyg_net_init] Init: cyg_net_add_domain(0x000860d0)
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: 08:00:3e:28:7a:b8
client IP: 206.234.219.88
my IP: 206.234.219.88
server IP: 206.234.219.89
gateway IP: 0.0.0.0
options:
subnet mask: 255.255.255.224
IP broadcast: 206.234.219.95
gateway: 0.0.0.0
PING server 206.234.219.89
recvfrom: Operation timed out
recvfrom: Operation timed out
recvfrom: Operation timed out
recvfrom: Operation timed out
recvfrom: Operation timed out
recvfrom: Operation timed out
sendto: Host is down
sendto: Host is down
sendto: Host is down
sendto: Host is down
sendto: Host is down
sendto: Host is down
sendto: Host is down
sendto: Host is down
sendto: Host is down
sendto: Host is down
Sent 16 packets, received 0 OK, 0 bad
PING server 206.234.219.121
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
sendto: No route to host
Sent 16 packets, received 0 OK, 0 bad
PASS:<Ping test OK>
EXIT:<done>
The one line that looked strange to me was 'eth0 XXX: driver didn't set
ifq_maxlen' but when I looked at the source the value for ifq_maxlen is
set to 50 if the value is 0.
I traced the ethernet traffic with the Ethereal analyzer which produced
the following output:
No. Time Source Destination Protocol
Info
1 0.000000 08:00:3e:28:7a:b8 ff:ff:ff:ff:ff:ff ARP
Who has 206.234.219.88? Tell 206.234.219.88
2 0.000981 08:00:3e:28:7a:b8 ff:ff:ff:ff:ff:ff ARP
Who has 206.234.219.88? Tell 206.234.219.88
3 0.028756 08:00:3e:28:7a:b8 ff:ff:ff:ff:ff:ff ARP
Who has 206.234.219.89? Tell 206.234.219.88
4 116645.841622 00:03:47:02:64:8c 08:00:3e:28:7a:b8
ARP 206.234.219.89 is at 00:03:47:02:64:8c
5 0.844230 08:00:3e:28:7a:b8 ff:ff:ff:ff:ff:ff ARP
Who has 206.234.219.89? Tell 206.234.219.88
6 116646.657181 00:03:47:02:64:8c 08:00:3e:28:7a:b8
ARP 206.234.219.89 is at 00:03:47:02:64:8c
7 1.659914 08:00:3e:28:7a:b8 ff:ff:ff:ff:ff:ff ARP
Who has 206.234.219.89? Tell 206.234.219.88
8 116647.472966 00:03:47:02:64:8c 08:00:3e:28:7a:b8
ARP 206.234.219.89 is at 00:03:47:02:64:8c
9 2.475597 08:00:3e:28:7a:b8 ff:ff:ff:ff:ff:ff ARP
Who has 206.234.219.89? Tell 206.234.219.88
10 116648.288733 00:03:47:02:64:8c 08:00:3e:28:7a:b8
ARP 206.234.219.89 is at 00:03:47:02:64:8c
11 9.519239 00000000.00034702648c 00000000.ffffffffffff NCP
[Malformed Packet]
According to this capture, the viper is broadcasting ARP requests and
the 'server' is responding, but the viper is not seeing the response.
I'm guessing that I don't have eCos configured properly, since ping
works in RedBoot. Before I upgraded to eCos 2.0, ping_test.exe worked,
but the response time was occasionally very slow. I have also tried
running ftp_test.exe with the eCos 2.0 code which also fails during the
ARP procedure.
Any suggestions?
Best regards,
Paul Randall
Delta INformation Systems
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss