* There are later versions of these drivers you may want to try, in the /modules/net/new-net-drivers directory, which support newer versions of these cards.

The above drivers apart from 3c90x are all drivers which come with the 2.0.39 kernel and are therefore a bit out of date, the following drivers in the /modules/net/new-net-drivers directory are a seperately compiled collection of PCI drivers by Donald Becker which are much more up to date. Some of them are later versions of existing drivers which support newer versions of cards (for example tulip) so try these if you have trouble. Others are just drivers for new cards. All of the new drivers for PCI cards require the pci-scan.o module to also be placed in the /drv directory with the NIC module and may also require that your computer is PCI 2.2 compliant.

To install a driver on a floppy installation of FREESCO, first make sure the driver name follows the DOS 8.3 convention. If the name is longer than 8 characters and the .gz extension, you must rename it to a shorter name before copying. Also make sure you have enough room on the floppy, as some drivers are quite large. There is about 43Kb free on a fresh FREESCO 0.3.0 floppy. If you're using the DHCP server you should keep at least 20kb free depending on how many dhcp clients you have on your network. The more you have the more space you need. If you dont use dhcp, you should keep at least 5kb free. If you dont have enough room for the drivers you need, you'll have to install on a hard drive.

Copy the file to the directory A:\ROUTER\DRV on the floppy disk. This directory is /mnt/router/drv from within FREESCO. Now boot FREESCO and configure the io and irq settings for the card if they are required. (Most ISA cards require manual io/irq setting while most PCI cards do not) If you like you can rename the driver file to its original long name within FREESCO, but this isnt required. For example:

cd /mnt/router/drv
mv winbond.o winbond-840.o

To install a driver on a hard drive installation of FREESCO, first copy the required driver file to a floppy disk, (or unzip this whole driver archive to a disk if you like) insert the disk into a running FREESCO machine, and type the following:

mkdir /fd
mount -t vfat /dev/fd0 /fd

At this point the floppy disk is mounted at the directory /fd, so for example if you had the entire driver archive on the disk and you wanted to copy smc-ultra.o from the net directory:

cp /fd/net/new/winbond-840.o /mnt/router/drv

It is not necessary to rename the driver to a short name when installing using this method. Warning! You must unmount the disk before ejecting it. Also, dont install drivers you dont need as it will increase boot time and may cause problems.

umount /fd

Now enter setup and configure your cards io and irq if required, and reboot.

If the card is an early one with jumpers, you need to use those jumpers to configure the io and irq. Most later cards are software set using a dos configuration utility which comes on a disk with the card. You need to run this utility and choose “jumperless” mode - plug and play will not work. Additionally, on some types of cards you might have to manually select the media type in the setup program (10base-T or thinnet/coax) and not rely on auto media sense.

Of special note is the 3c509 and 3c509B cards - To disable PNP before using them with FREESCO you need a recent etherdisk (driver disk) from the 3com website, and boot up with one 3c509(B) fitted at a time, if you have more than one card - and run the pnpdsabl.bat file, shut down, boot up again, and then enter the 3c5x9cfg utilty and configure an io and irq setting. Repeat for a second and third 3c509. Note: contrary to most ISA cards, the 3c509(B) is autodetected in FREESCO, and the io and irq settings you enter in FREESCO setup are ignored.

Unlike ISA cards where the io and irq are configured by jumpers or a soft-set utility, PCI cards are configured by your motherboard BIOS, and if the settings in the BIOS are incorrect FREESCO cant access the card. Because there are so many different types of BIOS out there, the following advise is only general. If there is a PNP setting, (called “PNP OS” with an option of yes or no in an Award BIOS) you *must* set it to No. Other BIOS's may have different wording, so you may have to experiment. Symptoms of this setting being wrong are the card isnt detected at all, or its found on an invalid irq like 0 or 255.

Even if you dont have the correct driver installed for a PCI card, you should be able to see it listed in the PCI device table with

cat /proc/pciAnd you should see a valid irq being assigned. If you dont, go back to your BIOS and check things. If it looks ok here but FREESCO doesnt seem to be finding the card, you then need to look at finding the correct driver and installing it.

For both PCI and ISA cards the following commands are also useful:

cat /proc/ioports
cat /proc/interrupts

Shows io and irq assignments of successfully loaded drivers

dmesg | grep eth

Shows messages related to the network cards filtered from dmesg. This will show you which card received what eth name.

It's not possible to guarentee that cards will be detected in the order you entered them in setup, depending on the types and combinations of network cards you have. Dont be surprised if you find the cards in a different order to what you expected. The first card to be detected is labeled eth0, the second eth1, and so on. In advanced settings you can specify the interface names for each network. For example in ethernet router mode, “1st network” must be the one going to the internet, normally eth0, but if the network card you want to use to connect to the internet stubbornly insists on being detected as eth1, you can change the interface name for 1st network to eth1, and second network to eth0, which achieves the same functional result.