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: question re CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS


On Wed, 27 Feb 2002, Jonathan Larmour wrote:

Thanks for responding, Jonathan. My replies below:


> michael shiloh wrote:
> > 
> > I'm still struggling trying to figure out why my
> > x86 pc with 82559 ethernet chip networks fine under
> > redboot, but not at all under ecos.
> 
> This should maybe in the FAQ, but if you use BOOTP for redboot, you should
> use a static IP for eCos so they don't share the same IP (and indeed you
> may want to check the IPs they're both currently using to see if this is
> the problem).

I've done this. This is well documented in the mailing list
archives.

I've actually gone a step further; I rebuilt redboot with no
network, just to make sure it wasn't somehow interferring.
No improvement.


>  
> > for my ecos (not redboot) ecos.ecc, since CYGPKG_REDBOOT_NETWORKING
> > is turned off, then the CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
> > user value is 0.
> > 
> > Can someone explain to me what "stand-alone processing"
> > means in this context?
> 
> Not a threaded environment. A non-kernel application, e.g. redboot.

Thanks. 

> 
> > And why does redboot use an alternate
> > TCP/IP stack? Don't they both use the same stack based on
> > OpenBSD?
> 
> Nope. RedBoot uses a much smaller one (see redboot/current/src/net). The
> PASS_PACKETS option exists to allow packets to be passed to redboot.
> 

Thanks. Actually, another reader of this list kindly
answered these last two points a day or two ago.

My status now:

I've enabled debug messages in the 82559 driver, and I see 
that I don't get interrupts from the chip when I send
packets to it, e.g. from a ping. I confirm with tcpdump
that the ping packets are being sent to the correct target.

To clarify, I do get interrupts when broadcast packets
arrive, and I do get transmit interrupts. So interrupts are
at least enabled to that extent.

I noticed in a comment that
in Redboot the driver is run in polled mode, so I will next
try to convince myself that interrupts are properly being
enabled. Perhaps I will try to bring up the driver in polled
mode to see if that works.

I will also look at the 82559 datasheet to understand why
it interrupts on broadcast packets but not on packets 
addressed specifically to it.

I think I'll also poll and print the device status in a
pretty tight loop. By watching what numbers change, and
how rapidly, I might get a sense of where the data is
getting lost.

I presume other people must be using the 82559 in a 
standard PC motherboard as I am. Has no one else run in
to this problem? 

A long shot: I notice that many people use windows as the
host side. I'm using linux. Is it possible that ecosconfig on
linux is different enough from the configuration tool on
windows that only linux users would see this?

Thanks in advance for any comments or suggestions.

Michael Shiloh


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