Link to home
Start Free TrialLog in
Avatar of kittlej
kittlej

asked on

2 Identical Network Cards in Linux

I've got a question regarding dual nic cards in linux.  I have 2 SMC8000 nics that I want to use in my linux box, one at IO 300 IRQ 10 and the other at IO 280 IRQ 3.  When I installed the OS I had just one card detected, which is ok.  It found the 300/10 card as 290/10 (which kinda throws me off a little as in why) but it appears to work.  If I edit my conf.modules file and just dupe the alias line (or just do a netconf from the console and add the info there) for the 2nd nic, which is the same model as the first, both stop working.  Is there something special I need to do to make this work?  Please treat me as a newbie, and leave no detail un-said.

Thanks!
ASKER CERTIFIED SOLUTION
Avatar of jlevie
jlevie

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
as jlevie said, you need to tell the kernel how to probe the cards, best is to do it in your lilo.conf.
In early kernel version multiple SMC (wd8xxx) where not supported, not shure if this is fixed.
Avatar of kittlej
kittlej

ASKER

I determined that the IO should be 300 as that is the physical (jumper) address that I set on the card.  
I don't have any direct experience with the SMC cards, but it seems strange to me that if it was jumpered for 300 the system would report it to be at 290. What does the contents of /pro/ioports show? Also you should see the IO port in "ifconfig eth0".
Avatar of kittlej

ASKER

I've used a lot of these SMC cards, and in fact it is jumpered for 300. Maybe It's just a weird thing that SMC cards do heh.  I'm going to pull the SMC's out and try this w/ other network cards (I have hundreds!) and see what I can make happen. (I'll accept an answer once stuff is working, don't worry)
In addition to jlevie's comment: You might as well specify the IRQs in conf.modules as well:

     alias eth0 wd
     alias eth1 wd
     options wd io=0x300,0x280 irq=10,3

I think "wd" is right for the SMC/Western Digital cards.  If they're really NE2000 clones then replace "wd" with "ne".  Either way, the above example will dictate 300/10 and 280/3 for your ethernet cards.  At this point, you are no longer at the mercy of the auto-detect mechanism.   IMHO, auto-detection works better on PCI cards than ISA.

IRQ 3 is usually allocated to serial port COM2 (/dev/ttyS1) if I'm not mistaken. Consider moving the 2nd card to IRQ 5 if that is unused (cat /proc/interrupts).  If you must keep this card at IRQ 3, make sure nothing is connected on COM2, and verify that you don't have a PS/2 style mouse or infrared port using that interrupt.

If you have a PCI motherboard, check the BIOS setup and be sure that the necessary IRQs are allocated to the "ISA/Legacy" bus.  There is usually a screen called "PCI Bus configuration" and you can change the setting from automatic to manual, which opens up the ability to force interrupts to the ISA bus.

If this does not work, post the results of the dmesg and ifconfig commands.
Avatar of kittlej

ASKER

I've been toying around a little, and I've come to the conclusion that the "slightly off" port addresses is a bug in the WD driver... I have both nics working (I think) and they both are off by x10 on the address (280 is reporting as 290 and 300 is reporting as 310.  Now on to fight IPCHAINS
heh..

Thanks all!
Josh Kittle
jkittle@erinet.com


SMC cards can be configured to use settings from a flashROM, the default is IRQ 10 ADR 300. You need SMC's config utility (DOS floppy) to change it.
Avatar of kittlej

ASKER

They can be.... but they can also be jumper configured... which is how i did it.