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: Network problem with eCos 2.0 and Viper


On Thu, 2002-06-06 at 11:39, Paul Randall wrote:
> 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?

Try turning on some debugging in the eCos network stack to see what it's
getting.  I tested the network code (I'm sure I tried the new network 
stack on this board) and it worked fine.

As for your other problems (slow FTP, etc), this will also be fixed if
you want to revert to the "old" network stack.


-- 
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]