Installing NICs

The purpose of this document is to describe the basic steps for setting up NICs and getting them to work in FREESCO. For more advanced issues, please consult the FREESCO forums. NICs come in two types, ISA and PCI, and the process of setting them up varies some. This document describes how to set up both ISA and PCI NICs.

There is a very good HTML document called modules.html bundled with the modules-03x.zip archive, which can be downloaded from http://freesco.sourceforge.net. Read it, and you will learn a lot. Most of the information here is taken from that document and all credit should go to the original author (which I believe is Lightning). All other information is gathered from the FREESCO forums, I've just complied it into this document.

I am by no means an expert on this. If you find any errors or have comments, please contact me. My address is My email.

ISA NICs

Setting up this type of cards is a two-step process. First of all, the cards must be assigned an IRQ and an I/O (base address). You need to ensure that each card is assigned a unique IRQ and a unique I/O. You can not have two cards with the same IRQ or I/O! I have successfully used IRQ 10, 11, 12 and I/O 0x210, 0x300, 0x330. It is not recommended to use IRQs below 10. When the cards have been configured, information about the IRQ and I/O of the NICs has to be entered in FREESCO. This is done using advanced option 53 in the FREESCO setup.

The first step can be carried out in one of three ways, depending on the cards and the FREESCO version you are running. If you got real old cards, IRQ and I/O are set using jumpers on the cards. To do this, you must find the manual for the NICs which will tell how to jumper them correctly. For newer cards there should be a DOS utility which can be used to configure the NICs. Finally, if your cards support it, you can use ISA PnP to configure the them. This means that you let FREESCO configure the NICs which gives you more flexibility than configure them yourself. To use ISA PnP, use option 22 in advanced settings, or run rc_pnp setup from the command line. Unfortunately, ISA PnP is only supported by 03x, so if you run 027, this is not an option for you.

Note: If you run 027 or 03x but doesn't want to use ISA PnP, you must disable PnP on the card. This is usually done using the DOS utility

To summarize:

Step two in the process is to tell FREESCO the properties of the cards. This is done using option 53 in the advanced setup and is pretty straight forward. For each NIC, enter the same values it was assigned in step one. When you are done, save your changes and reboot.

3Com 3C509(B)

This is an ISA NIC, but it differs a bit from other ISA cards. For setting them up, you need to get a copy of the 3c5x9cfg.exe utility. It is a part of the EtherDisc 6.1 Release for 3C509(B), see this page. The utility is part of disc 2, downloadable from the above link. The utility is used to configure the cards. If you have several cards of this type, run the utility with one card in the machine at a time.

Boot the machine in DOS and run the utility. You should

  1. Disable PnP on the card. After this has been done, you need to reboot the machine and restart in DOS mode. Start the utility again.
  2. Assign the card an IRQ not already in use.
  3. Assign the card an unused I/O (base address).
  4. Save the changes and reboot.

For the 3C509, there is all there is. FREESCO autodetects these cards so you DO NOT need to enable ISA PnP (option 22) or enter any information in the NIC settings (option 53). When you have set them up with the utility, you are done!

PCI NICs

Unlike the ISA NIC's, these cards are not configured using jumpers or utilities; they are configured using the BIOS. To make this work, you must ensure that the "PnP OS" setting (or something similar) is disabled in BIOS. If not, FREESCO will not be able to handle the card. If this setting is wrong, FREESCO will probably not recognize your card at all, or assign it an invalid IRQ like 0 or 255.

For PCI NIC's, this is all there is. You do not need to enter any information in option 53.

Troubleshooting

FREESCO comes with built in support for a number of NICs. To find out which NICs are supported by your FREESCO version, go to http://freesco.sourceforge.net and download the zip-file modules-0xx.zip (where xx is your FREESCO version). Unzip that package and you will find a file called modules.html, which lists the NICs with built in support. If your NIC isn't on the list, you must look for an additional driver. The package contains quite a large amount of drivers, so there is a good chance your card is supported. Follow the instructions in modules.html on how to installing the drivers.

There are some useful commands that can be used to track down problems with the NICs. These commands apply to both ISA and PCI cards.

cat /proc/ioports

shows the I/O of all successfully loaded drivers while

cat /proc/interrupts

shows the IRQ assignments of the same. You can also use

dmesg | grep eth

after booting to find out which card received what eth name.

For PCI cards, you can also use

cat /proc/pci

which lists all PCI devices in the machine. This information is available even if the correct driver is not installed. The list tells you which IRQ the cards are assigned. If IRQ looks OK but FREESCO does not find any of the cards, you need install a new driver for it.

Every NIC is assigned an "eth" name, eg eth0 and eth1. This is something that is done automatically and there is no way of changing the eth-name of a NIC. Most of the times it doesn't matter which NIC gets which name. However, if you have two NICs and one is a 10Mbit and the other a 100Mbit, you might want to ensure that the 100Mbit card is used for the internal network while the 10Mbit card is used for connecting to the internet. Assume that the 100Mbit card is assigned eth0 and the 10Mbit card is assigned eth1. By default, FREESCO will use eth0 as the connection to internet which is not what we want in this case. To change this, select option 62 in the advanced setup. Here you can specify which NIC to use for which network. Network 0 is the "uplink", ie the connection to internet and you should see that eth0 is used for this network. To use another card for this network, just change the Interface name (option 620) to eth1 and the 10Mbit card will be used. Also change the interface name for network 1 to make it use eth0.

//Fredrik


Last modified: Thu Aug 26 09:55:39 +0200 2004

Valid HTML 4.01!