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]

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


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