On Sun, 21 Feb 1999, Erry Rahmawan wrote:
> I have a problem installing Ethernet Card Dlink type DE-220 CT.
> Previously I've been installed Ethernet Card 3Com type 3C-509 and Succes.
> I wanna add second card. type DE-220 CT (as I mentioned above).
I believe this is a case of RTFM. If you have the network cards compiled
as modules, the following instructions should help. If you have them
compiled into the kernel, then you should grab the Ethernet Howto from
somewhere like metalab.unc.edu and read the rest of the included section.
Ethernet Howto:
3.2. Using More than one Ethernet Card per Machine
What needs to be done so that Linux can run two ethernet cards?
With the Driver as a Module: Most linux distributions use modular
drivers now (as opposed to having the driver built into the kernel).
In the case of PCI drivers, the module will typically detect all of
the installed cards of that brand model automatically. However, for
ISA cards, probing for a card is not a safe operation, and hence you
typically need to supply the I/O base address of the card so the
module knows where to look. This information is typically stored in
the file /etc/conf.modules.
As an example, consider a user that has two ISA NE2000 cards, one at
0x300 and one at 0x240 and what lines they would have in their
/etc/conf.modules file:
alias eth0 ne
alias eth1 ne
options ne io=0x240,0x300
What this does: This says that if the administrator (or the kernel)
does a modprobe eth0 or a modprobe eth1 then the ne.o driver should be
loaded for either eth0 or eth1. Furthermore, when the ne.o module is
loaded, it should be loaded with the options io=0x240,0x300 so that
the driver knows where to look for the cards. Note that the 0x is
important - things like 300h as commonly used in the DOS world won't
work. Switching the order of the 0x240 and the 0x300 will switch
which physical card ends up as eth0 and eth1.
Most of the ISA module drivers can take multiple comma separated i/o
values like this example to handle multiple cards. However, some
(older?) drivers, such as the 3c501.o module are currently only able
to handle one card per module load. In this case you can load the
module twice to get both cards detected. The /etc/conf.modules file in
this case would look like:
alias eth0 3c501
alias eth1 3c501
options eth0 -o 3c501-0 io=0x280 irq=5
options eth1 -o 3c501-1 io=0x300 irq=7
In this example the -o option has been used to give each instance of
the module a unique name, since you can't have two modules loaded with
the same name. The irq= option has also been used to to specify the
hardware IRQ setting of the card. (This method can also be used with
modules that accept comma separated i/o values, but it is less
efficient since the module ends up being loaded twice when it doesn't
really need to be.)
As a final example, consider a user with one 3c503 card at 0x350and
one SMC Elite16 (wd8013) card at 0x280. They would have:
alias eth0 wd
alias eth1 3c503
options wd io=0x280
options 3c503 io=0x350
For PCI cards, you typically only need the alias lines to correlate
the ethN interfaces with the appropriate driver name, since the I/O
base of a PCI card can be safely detected.
The available modules are typically stored in /lib/modules/`uname
-r`/net where the uname -r command gives the kernel version (e.g.
2.0.34). You can look in there to see which one matches your card.
Once you have the correct settings in your conf.modules file, you can
test things out with:
modprobe ethN
dmesg | tail
where `N' is the number of the ethernet interface you are testing.
--
.sig under deconstruction. Please watch out for falling stars.
O- +++ATH0