Link to home
Start Free TrialLog in
Avatar of cubedweller
cubedweller

asked on

Dual NIC system

Please Help:

I have spent several days now trying to set up a dual network card linux box to no avail.

Details:
RH 6.1
2 ISA 3Com 3c509b cards
One card should get config info via DHCP, and the other should have a static address (10.1.1.1).

Background:
I am trying to turn my old box into a firewall/proxy.  I have tried loading the network card support as modules with a variety of parameters, and also building them right into the kernel (something I've heard I need to do for firewall support anyway).  Using the 3Com DOS utility, I have disabled the cards' PnP support and tried almost every IRQ and IO I can think of.

And what really stinks is that, even after numerous fdisks and fresh installs, the box won't even recognize a single card anymore.

The only clue I can find is in my /var/log/messages which reads:
kernel: eth0: 3c509 at 0x280....
kernel: eth0: Setting Rx mode to 1 addr
kernel: eth0: Setting Rx mode to 0 addr
kernel: eth0: Setting Rx mode to 1 addr

Which is the same message I get when I call ifup eth0.

Any ideas?

Thanks in advance,
CubeDweller
Avatar of jlevie
jlevie

I don't think you need the drivers built into the kernel for this to work, at least I never have. You do need to tell the kernel what to do with each card, though. Section 3.2 of the "Ethernet HowTo" shows two methods. Personally I like the second as it's more explicit.

Apparently nothing is working now. The first step is to get back to a point where one of the cards is in the machine and it is recognized and works. Is the current kernel as-distributed or is it a custom kernel?

Assuming it's a distributed kernel and modules set, configure one card for a free IRQ and IO port and remove the other card. Remove anything you've put in /etc/conf.modules and try a reboot.
RedHat should find the device and put an "alias eth0 3c509" line in /etc/conf.modules. One other thing that soemtimes matters is that you may need to tell your bios that the IRQ for the card is reserved for legacy ISA.

Try that and lets see what you have.
 I think first of all you should change the IO address of your network cards from 0x280 to 0x300, 0x320 or 0x340. 0x280 may be not an appropriate IO address for network card in Linux.
  Second, remove one card, configure the left card to appropriate IO address in DOS and make the correct config of Linux kernel and network parameters. Boot Linux again to see if it works now. If so, exchange to another network card, config it in DOS to different IO and IRQ, config the kernel and network parameters, boot Linux again to see if it works fine too. If so, you are almost sure to get both of your cards work now. Put the two cards together, config the kernel and network parameters to support two cards. Boot again.
  Hope it's helpful.
Greetings.

So what I'd do is:
Go back to the original, (modular) kernel.
Stick  the line

alias eth0 3c509

in /etc/conf.modules
 
Boot with only one card . If  this works, then
try to stick the second one in, and  put an additional  line like

alias eth1 3c509

in conf.modules. If it does not work, you may want to try to add some options to the  second alias
line (also be sure that modperobe eth<n> is done
during the boot process. RH should do this automatically, assuming you have configured the
second interface. Or, you can try it manually beforehand)

If you want to use statically compiled drivers,
then the above does not work, and you
will have to use boot-time parameters, which you can later on add permanently to lilo.cong: see Ethernet-HOWTO  for details.

Cheers,
      alf
ASKER CERTIFIED SOLUTION
Avatar of lewisg
lewisg
Flag of United States of America image

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
Avatar of cubedweller

ASKER

Thank you very much to lewisq and everyone who helped me.

It turned out that, in order to get it working, I have to unplug my cable modem for at least 60 seconds between reboots (in addition to the 3c5x9cfg configurations).