• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 306
  • Last Modified:

Configuring two NICs on one computer

Some time ago I installed Debian (2.2.17-ide) on my computer, that at the time had one NIC. The NIC was configured correctly. Some time later, I plugged in another NIC and it was configured correctly aswell. However, that was some time ago and unfortunaly I dont remember exactly what I did to make it work.

Now I installed a new harddrive and a soundcard (had none before) so I thought I should do a fresh installation of Debian. I installed 2.2.19 at first and
immediately upgraded the kernel to 2.4.18 (I didnt attempt to configure the 2.2.19-kernel, I just used it to install Debian. It was therefor not configured to find the NIC's.). The problem is now that the kernel doesnt recognise both the NICs at the same time.

I have compiled Plug-n-Play support in the kernel and on startup, isapnp finds two PnP-cards: one of the NIC's and the soundcard. It even tries to configure them but the NIC get wrong values (i/o and IRQ). When I remove the soundcard from the computer, isapnp still only find one NIC, but it finds the OTHER NIC and configures it with the correct values. So isapnp finds both my NIC's, but not at the same time. (Ive been searching the Internet for information and found out that Linux will stop searching for NIC's once it finds one, but found that it was only true when the NIC drivers where built-in to the kernel. How does that work?)

I have attempted to compile the kernel with or without PnP support and the NIC drivers as built-in or as modules, but it cant find both NIC's. However, since Im a novice when it comes to configurating kernels, I might have done something wrong at some stage..

I have saved the values, such as i/o and the IRQ, for the NIC's from when it was running the 2.2.17-ide kernel on the old harddrive. The NIC's and there values are as follows:

NIC #1: 3Com  (3c509)  i/o: 0x300 IRQ: 10
NIC #2: 3Com  (3c509)  i/o: 0x320 IRQ: 11

If you need any other information about something, let me know and I'll provide it.

My question is therefore: What should I do to make Linux (debian, 2.4.18) recognize both my NIC's (and if possible, the soundcard too) and how do I configure them so that I can use them both under Linux?

Please post your answers as a "Comment". Any answers posted as "Answer" will be rejected for now.

Thanks,
dedsi

Notice:
Question edited (07/10/2002 04:52AM PST): Changed a typo in the IRQ-values (NIC #1 had NIC#2's IRQ-value, and vice versa).
0
dedsi
Asked:
dedsi
1 Solution
 
ridCommented:
The 3C509 cards may be a bit difficult to install. If I remember correctly, these are ISA cards and they have some kind of PnP capability. I managed to get two such cards installed in a freesco router only by disabling their PnP and setting their resources manually. To do this, you need to create the installation/diagostics floppy from a file available from 3Com. If you haven't done this, it may be worth a try.

Possibly, it could be the other way around... that their PnP is disabled and you need to enable it. The status will show if you run the install utility from the floppy mentioned above.

Regards
/RID
0
 
ApparatusCommented:
Hi,

Try this:

When you're at the boot: prompt, enter:

ether=11,0x300,eth0 ether=10,0x320,eth1

If this doesn't work, compile the drivers into the kernel, check to make sure you have the correct irq and io settings, and try again. Once you're booted use 'ifconfig eth0' and 'ifconfig eth1' to check the configuration.

- Apparatus
0
 
dedsiAuthor Commented:
rid,
I am not sure whether the PnP feature is enabled or disabled on the NICs. Unfortunaly I didnt find any Linux version of the diagnostics files, and I dont have any windows/dos version installed on the computer. I will try to find some other computer that I can temporarly check the NIC's in, however that may take some while.

Apparatus,
I will try that when I get access to the computer later on.

To Everybody,
the kernel is currently configured to install the NIC drivers as modules, and PnP is disabled. I have been playing around with the *mod*-programs, and found that the following call to insmod returned both my NIC's:

insmod /lib/modules/2.4.18/kernel/drivers/net/3c509.o

after that I could use "ifconfig eth1" to see the NIC. But after a boot, "ifconfig eth1" returned some error about device "eth1" (the same applies to eth0). Running
"modprobe 3c509" returns some error about missing module or something like that. The error messages are taken from my memory and may not be accurate. I will write them down more exactly tonight and post them here.

Thanks,
dedsi
0
Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

 
ridCommented:
You only need a DOS bootable floppy (see www.bootdisk.com) and after boot you can run the utility from the 3Com floppy (swap floppies).

Regards
/RID
0
 
dedsiAuthor Commented:
rid,
thanks for the information. I will try the utility when I get access to the computer later today.

Thanks,
dedsi
0
 
dedsiAuthor Commented:
To Everybody,
I solved this problem myself, and I will describe what I did and what I believe was wrong:

As I said earlier, I currently had the NIC drivers compiled as modules and PnP was off. The modules could not be recognised by insmod or modprobe, and the kernel could not load them at startup. However, when I used insmod with the full path to the module (see previous post), it installed alright and it even found both my NIC's immediately, with the correct values. However, the next startup the kernel could not find the NIC's modules.

So, since I knew that kernel 2.2.17-ide found them at startup, I decided to configure my kernel version 2.2.19 to see what happened. I used basicly the same config-file and compiled the new kernel. The NIC's was found at startup and was configured correctly. So the NIC's was found in 2.2.19 but not in 2.4.18 when using the "same" configuration. Odd, but I returned to reading man-files for the *mod* programs and found that modprobe had a flag "-c" that listed the current configuration.

Executing "modprobe -c" returned a number of paths, probably used to search for the modules. Among the path's, I found a path to the net-modules, but the path was pointing to /lib/modules/2.4.18/net when the true path was /lib/modules/2.4.18/kernel/drivers/net. Further down the path's I found another path to /lib/modules/2.2.19/net, which is the correct path to the net-modules in 2.2.19. Therefor, modprobe was able to find the modules in 2.2.19 but not in 2.4.18. To fix this I created a symbolic link (ln -s) that pointed to the correct path to the net-modules in 2.4.18 and rebooted the system. On the startup, the kernel (2.4.18) found the modules and the NIC's was configured correctly.

That was how I solved this problem. What should I do with this question now?

Thanks,
dedsi
0
 
ridCommented:
Nice piece of detective work, there!
I suggest you post a Q about this one in Community Support area. It's valuable info that desrver better than deletion.

/RID
0
 
dedsiAuthor Commented:
To Everybody,
a question has been posted to the "Community Support" in order to find out what I should to with this question.

I would also like to thank all the experts for their inputs and comments on this question.

Thanks,
dedsi
0
 
Computer101Commented:
Points refunded and placed in PAQ

Computer101
E-E Moderator
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now