[ECOS] Re: Networking in a ROM build

Fano Ramparany Fano.Ramparany@rd.francetelecom.fr
Thu Aug 23 09:03:00 GMT 2001


Trenton,
This is exactly the problem we are currently facing and trying to solve
(see some recent threads). A socket configuration that might
solve your problem is to increase the socket timeout value:

#include <timer.h>
#define SOCK_TIMEOUT 50
...
int sd,len,rc;
sd = socket(AF_INET, SOCK_STREAM, 0);
struct timeval tv;
...
tv.tv_sec = SOCK_TIMEOUT;
tv.tv_usec = 0;
setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv));

This partially solved our problem, however, by sniffing the network
traffic (using tcpdump)
We have observed some strange behaviour on the ROM version of our
application, which seems to buffer the first packets and at some stage
sends them alltogether over the network.

I've also added some delay between the ethernet driver initialization
and the ip stack initialization, but this didn't solve the problem.

I'll now try to add some tracing (CYGDBG_USE_ASSERT) to go further.

Fano

> When using a ROM version, the following thing happens:
> The transmit and status signal threads connect to my windows machine
> just fine.  After they are connected, my windows machine attempts to
> connect back to the embedded system's CommandThread socket.  The
> connection attempt times out.



More information about the Ecos-discuss mailing list