This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Dual Ethernet interfaces on i386/pc?
- To: ecos-discuss at sourceware dot cygnus dot com
- Subject: [ECOS] Re: Dual Ethernet interfaces on i386/pc?
- From: "Stephen Morgan" <smorgan at almaden dot ibm dot com>
- Date: Thu, 11 Oct 2001 15:13:50 -0700
Jonathan Larmour wrote:
> > Has anyone gotten two Ethernet interfaces working on an i386/pc? The
> > "current" (anonymous CVS) code doesn't support this capability
directly,
> > so we made some simple-minded modifications that work -- almost.
> This definitely does work on the EBSA285 for example, and from this
point
> of view there should be nothing special about the x86.
[snip]
> Are they both getting their IP addresses fine? Are the IP addresses the
> same or distinct?
I just (re-)checked. Both cards are the identical. They have different
Ethernet addresses, are on different networks, and have different MAC
addresses. They get their IP addresses via BOOTP.
We gathered some more information that might be of use in debugging the
problem: We're seeing odd (and inscrutable) status from eth1's receive
frame descriptor (RFD).
(Of course, if we had a copy of Intel's super-secret 82559 Software
Developer's Manual, the RFD status wouldn't be inscrutable and we probably
could nail the problem in half a day but, alas, we don't, and some of the
status bits aren't publically documented. So, we're unable to decode the
RFD status we're seeing.)
When everything is operating smoothly, pings are received by eth1 with an
RFD status of 0x8000A028. In this case, eCos sends a single response. eCos
receives another six pings or so with this same status. The status for
the seventh ping is different: 0xE004A000. When eCos sees this status, it
"thinks" it is receiving lots of pings when, in fact, it isn't. As it
should, eCos responds to each ping it thinks it received. The responses
appear to the recipient to be duplicates of earlier responses. Eventually,
eCos receives a legitimate ping, the status switches back to the "good"
value, and all is well for six pings or so. Then the cycle repeats.
Any ideas?
Stephen P. Morgan
Internal: Stephen Morgan/Almaden/IBM@IBMUS
Business: smorgan@almaden.ibm.com
Personal: stephen_p_morgan@hotmail.com
Lifetime: smorgan@alum.mit.edu