My FREESCO page | Installing NICs

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 archive (where xx matches your FREESCO version), which can be downloaded from 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.

2005-04-04: Document totaly rewritten. Added detailed information about how to setup NICs using ISA PnP. The original document is still available.


Identifying your NIC

If you don't know the vendor/brand/model of your NIC it is time to find this out. This information is absolutely crucial in order to configure the NIC properly. Look for numbers or other identification marks on the card and use e.g. Google to look them up. Hopefully you'll be able to identify your card.

[ Top ]

Finding a driver

You need a driver to be able to use your NIC with FREESCO. FREESCO comes with support for a small amount of NICs right out of the box. To find out if your NIC is one of those, go to the FREESCO download site at There you will find files named "modules-0XX", where XX corresponds to a FREESCO version (so if you are using FREESCO 032, you should look for "modules 032"). Download the file and extract it. The archive contains a file called "modules.html" which describes the NICs that FREESCO supports right out of the box as well as the NICs that need additional drivers. If your card is one of the ones with built in support, you don't have to do anything, the driver is already installed. If there is no built in support for your card, you have to add a driver (module) to your FREESCO. Just read the file and you will find out how to do this.

Note: Even if you have one of the NICs that FREESCO supports out of the box, it might be a good idea to look for a suitable driver in the modules-package. The reason for this is that these drivers are newer than the ones that comes with FREESCO, hence they might be working better.

[ Top ]


Configuring these cards means assigning them a base address (I/O) and an IRQ. This can be done in two ways, depending on the card:

When configuring the cards statically, you assign each card a base address and an IRQ, The same information is then entered in the FREESCO setup. If you use ISA PnP, a utility called pnpdump is run during the setup of your FREESCO. This utility probes your cards for information such as IRQ:s it can handle, valid base addresses, etc, and dumps this to a file called isapnp.cnf. What you have to do is to edit the file, uncomment and edit some rows and restart your FREESCO. Now your NICs should be configured correctly. The major advantage of using ISA PnP is that you don't have to remember how you configured the NIC when you set up your FREESCO. All you have to do is to edit the configuration file. On the other hand some cards refuses to work in PnP mode. If you run in to trouble when configuring cards using ISA PnP it might be worth trying to get the NIC working without PnP. ISA PnP is only available in the 03x series, not in 027. However, there exists an add-on for 027 for Plug-and-Play, see here.

There are two ways to configure a card, either by jumpers on the card (on older cards) or by using a DOS utility. If your card has jumpers, you must find the manual for the NICs which will tell how to jumper them correctly. For newer cards, a DOS utility is often available from the homepage of the card vendor.

Depending on the card and the FREESCO version you are using, the following applies:

[ Top ]

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!

[ Top ]


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.

[ Top ]


When configuring NICs in Linux, a utility called ifconfig is used. There is no need to use this utility when configuring FREESCO, but it can be used to display information of the NICs installed on your system. Giving the command ifconfig should result in something like this:

[Linux] ifconfig
lo        Link encap:Local Loopback
          inet addr:  Bcast:  Mask:
          RX packets:84319 errors:0 dropped:0 overruns:0
          TX packets:84319 errors:0 dropped:0 overruns:0

eth0      Link encap:10Mbps Ethernet  HWaddr 00:60:94:45:00:58
          inet addr:  Bcast:  Mask:
          RX packets:109124026 errors:0 dropped:0 overruns:0
          TX packets:92470998 errors:0 dropped:0 overruns:0
          Interrupt:9 Base address:0x3000

eth1      Link encap:10Mbps Ethernet  HWaddr 00:10:5A:4D:30:6C
          inet addr:aaa.bbb.ccc.3  Bcast:aaa.bbb.ccc.255  Mask:
          RX packets:101408235 errors:216 dropped:0 overruns:233
          TX packets:109242882 errors:0 dropped:0 overruns:0
          Interrupt:10 Base address:0x300

Each NIC that is recognized by the OS is displayed together with its configuration. There should be one ethX section for each NIC on your system. If one or several ethX sections are missing, this indicates that there are missconfigured NICs or NICs missing a driver.

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.


[ Top ]

Last modified: Tue Apr 8 09:48:23 CEST 2008

Valid HTML 4.01!