[ECOS] Dual Ethernet interfaces on i386/pc?
Stephen Morgan
smorgan@almaden.ibm.com
Wed Oct 10 16:52:00 GMT 2001
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.
We changed i386_pc_i82559_eth_drivers.cdl (from
devs/eth/i386/pc/i82559/current/cdl) and devs_eth_pc_i82559.inl (from
devs/eth/i386/pc/i82559/current/include) to add eth1 (ETH1), etc. (Copies
of both files are attached.)
In all cases, pings to eth0 work fine. At the start, pings to eth1 work
fine but, after about six pings, eth1 then sends perhaps 16 duplicates,
works fine for about six pings, sends about 16 duplicates, and so forth.
The duplicates have TTLs around 195, versus the expected value of 255, so,
it sounds as though they're bouncing around inside eCos for 60 hops or so!
We could really use your help!
Stephen P. Morgan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: devs_eth_i386_pc_i82559.inl
Type: text/x-c
Size: 5430 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/ecos-discuss/attachments/20011010/71cb156d/attachment.bin>
-------------- next part --------------
# ====================================================================
#
# i386_pc_eth_drivers.cdl
#
# Ethernet drivers - support for i82559 ethernet controller
# on the PC.
#
# ====================================================================
#####COPYRIGHTBEGIN####
#
# -------------------------------------------
# The contents of this file are subject to the Red Hat eCos Public License
# Version 1.1 (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.redhat.com/
#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
# License for the specific language governing rights and limitations under
# the License.
#
# The Original Code is eCos - Embedded Configurable Operating System,
# released September 30, 1998.
#
# The Initial Developer of the Original Code is Red Hat.
# Portions created by Red Hat are
# Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc.
# All Rights Reserved.
# -------------------------------------------
#
#####COPYRIGHTEND####
# ====================================================================
######DESCRIPTIONBEGIN####
#
# Author(s): jskov
# Contributors: jskov
# Date: 2001-01-25
#
#####DESCRIPTIONEND####
#
# ====================================================================
cdl_package CYGPKG_DEVS_ETH_I386_PC_I82559 {
display "PC board ethernet driver"
description "Ethernet driver for PC."
parent CYGPKG_IO_ETH_DRIVERS
active_if CYGPKG_IO_ETH_DRIVERS
active_if CYGPKG_HAL_I386_PC
include_dir cyg/io
# FIXME: This really belongs in the INTEL_I82559 package
cdl_interface CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED {
display "Intel i82559 ethernet driver required"
}
define_proc {
puts $::cdl_system_header "/***** ethernet driver proc output start *****/"
puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_INTEL_I82559_INL <cyg/io/devs_eth_i386_pc_i82559.inl>"
puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_INTEL_I82559_CFG <pkgconf/devs_eth_i386_pc_i82559.h>"
puts $::cdl_system_header "/***** ethernet driver proc output end *****/"
}
cdl_component CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0 {
display "Ethernet port 0 driver"
flavor bool
default_value 1
implements CYGHWR_NET_DRIVERS
implements CYGHWR_NET_DRIVER_ETH0
implements CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED
cdl_option CYGDAT_DEVS_ETH_I386_PC_I82559_ETH0_NAME {
display "Device name for the ETH0 ethernet port 0 driver"
flavor data
default_value {"\"eth0\""}
description "
This option sets the name of the ethernet device for the
i82559 ethernet port 0."
}
cdl_component CYGSEM_DEVS_ETH_I386_PC_I82559_ETH0_SET_ESA {
display "Set the ethernet station address"
flavor bool
default_value 0
description "Enabling this option will allow the ethernet
station address to be forced to the value set by the
configuration. This may be required if the hardware does
not include a serial EEPROM for the ESA."
cdl_option CYGDAT_DEVS_ETH_I386_PC_I82559_ETH0_ESA {
display "The ethernet station address"
flavor data
default_value {"{0x08, 0x00, 0x00, 0x00, 0x00, 0x01}"}
description "The ethernet station address"
}
}
}
cdl_component CYGPKG_DEVS_ETH_I386_PC_I82559_ETH1 {
display "Ethernet port 1 driver"
flavor bool
default_value 1
implements CYGHWR_NET_DRIVERS
implements CYGHWR_NET_DRIVER_ETH1
implements CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED
cdl_option CYGDAT_DEVS_ETH_I386_PC_I82559_ETH1_NAME {
display "Device name for the ETH1 ethernet port 1 driver"
flavor data
default_value {"\"eth1\""}
description "
This option sets the name of the ethernet device for the
i82559 ethernet port 1."
}
cdl_component CYGSEM_DEVS_ETH_I386_PC_I82559_ETH1_SET_ESA {
display "Set the ethernet station address"
flavor bool
default_value 0
description "Enabling this option will allow the ethernet
station address to be forced to the value set by the
configuration. This may be required if the hardware does
not include a serial EEPROM for the ESA."
cdl_option CYGDAT_DEVS_ETH_I386_PC_I82559_ETH1_ESA {
display "The ethernet station address"
flavor data
default_value {"{0x08, 0x00, 0x00, 0x00, 0x00, 0x01}"}
description "The ethernet station address"
}
}
}
}
More information about the Ecos-discuss
mailing list