FREESCO 0.2.7 is the last version in the 0.2.x series and is no longer activly maintained. However, security related bugs or vulnerabilities are still fixed. One of these fixes is a mandatory installation of the so called ICMP patch package. Do this after you have completed the installation of your FREESCO 0.2.7. If you are starting from scratch, it is advised to download the latest FREESCO 0.3.x instead.

Download freesco-027.zip from the downloads page at http://freesco.sourceforge.net/. You may also need the file modules-0.2.7.zip, which contains extra kernel modules, in particular, additional network card drivers. If you find later that freesco is not detecting your network card, you'll probably need these.

Before trying to configure freesco, it's important that the hardware is configured correctly, especially Ethernet cards and modems. Here is some general advice to configuring hardware.

PCI Ethernet cards are usually less troublesome than ISA cards, but it is important to choose the option “Plug and Play OS: no” in the BIOS. If set to yes, it will not initialize the card and it probably wont work with freesco. Often the BIOS will also allow you to assign the IRQ for each PCI slot, in which case you can manually choose the IRQ. Unless you have a special reason or you're troubleshooting, you should be able to leave this on automatic. It is not possible to manually set the base io address of a PCI card, but there is no reason to anyway.

ISA Ethernet cards normally allow you to configure their io and irq, and optionally memory range and dma channels. (Used on only a few cards) Older cards will have jumpers to configure the settings, while newer cards will have a DOS based configuration utility that must be run. Many newer ISA jumperless cards come configured for Plug and Play - this will not work with freesco. You must use the cards configuration utility to set the card into “jumperless” mode, and choose sensible io and irq settings. If you have more than one Ethernet card, each must have unique settings. Two cards cannot share the same io address, irq, or any other resource. If you have two cards installed in the machine with the same io address, you will probably not be able to run the configuration utility to change one - you must remove one card, change the setting of the remaining card, and then reinstall the second card.

When using ISA cards in a PCI machine it is important, especially if you have a mixture of ISA and PCI cards, to reserve the irq's used by the ISA cards in the BIOS. Usually there will be a section “PCI/PNP configuration” or something similar, where each interrupt is listed, and you can choose either “PCI/ICU” or “Legacy”. Any irq's used by ISA Ethernet cards should be set to Legacy.

There are three types of modems freesco will work with - external modems (analogue or isdn), and internal hardware modems. Any external modem should work, but it is important that the serial ports in the computer are 16550A UARTs. If they are not, then performance will be very slow and intermittent for anything above 19200 baud. (Basically, forget it)

Many common ethernet cards are supported as-is by freesco, with more supported by installing an optional driver module, obtained from the net or net/new directory in the drivers zip file. For a comprehensive source of information on different ethernet cards and which drivers support them, please read the linux Ethernet-HowTo. In particular, check the section on specific Ethernet cards here. Not all drivers mentioned in the how-to are available with freesco, but most are.

The following drivers are already built into freesco, and therefore do not need installing manually:

Driver name

Cards supported

ne

ISA NE2000 and clones, and some PCI NE2000 clones.

ne2k-pci *

Most PCI NE2000 clones, including rtl8029

3c509

3com 3c509, 3c509B, 3c529, and 3c579

3c59x

3com 3c590, 3c595, 3c900, 3c905, and 3c905B

rtl8139 *

Realtek 8129/8139 based PCI cards

tulip *

DEC 21040, 21041, and 21140 based PCI cards.

smc-ultra

SMC Elite Ultra (8216), SMC EtherEZ (8416)

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

The following optional drivers are available in the net directory of this archive:

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

The above drivers apart from 3c90x are all drivers which come with the 2.0.38 kernel and are therefore a bit out of date, the following drivers in the net/new directory are a separately 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.

Driver name

Cards supported

eepro100

Ether Express PRO 10/100B

epic100

SMC EtherPower II PCI (9432)

hamachi

Packet Engines “Hamachi” GNIC-II adapter

natsemi

National Semiconductor DP83815, Netgear FA-311

ne2k-pci

Most PCI NE2000 clones, including rtl8029

rtl8139

Realtek 8129/8139 based PCI cards

starfire

Adaptec DuraLAN (AKA “Starfire”) Adapter 64 bit adapters.

sundance

Sundance ST201 “Alta” chip, D-Link DFE-550

tulip

DEC 21040, 21041, and 21140 based PCI cards.

via-rhine

VIA Rhine and Rhine-II, D-Link DFE-530-TX

winbond-840

Winbond w89c840, Compex RL100ATX-PCI

yellowfin

Packet Engines “Yellowfin” G-NIC adapter

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 .o 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 51Kb free on a fresh Freesco 0.2.7 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 don't use dhcp, you should keep at least 5kb free. If you don't 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 isn't 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:

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 winbond-840.o from the net/new 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, don't install drivers you don't 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.

First download the “etherdisk” from the 3com web site. You need the disk image which contains the configuration utility 3c5x9cfg.exe and pnpdsbl.bat. Before freesco can recognise the card, it's necessary with some models to disable plug and play mode. If you have more than one card of this type its recommended that you only fit one card in the machine at a time during the configuration process. Boot to dos, run pnpdsbl.bat and then turn the machine off. PnP mode should now be disabled. Now boot to dos again, and this time run 3c5x9cfg.exe. Manually choose a free io address and irq and also choose the media type manually, do not select auto media sense. (The default) Now save settings and turn off the machine again. If you have a second or third card of this type, repeat the process for each one, but choosing a unique io and irq setting for each card.

When you're finished, you can put all cards in the machine at once, and boot and configure freesco. With this driver its not necessary to enter the io and irq settings in freesco, as they're autodetected. (It doesn't hurt, either) Note: you don't have any control over which order multiple 3c509's are detected in, but this doesn't matter, as you will find out later.

Most cards of this type come with a DOS configuration utility which is specific to the brand of card. Use this utility to configure the card to “jumperless” mode, and choose sensible IO and IRQ settings. Turn the machine off and on after using the utility. Set the same IO and IRQ settings in freesco setup.

Some very old Western Digital WD8013 cards without a configuration eeprom cant report to freesco what upper memory range is set by the jumpers, the driver in freesco assumes 0xd000. This means you must jumper the card for 0xd000, and you wont be able to use two of this type of card at once unless you want to hack the rc_init script to manually pass mem= parameters to the driver. (It is possible, but this is an old card now and you're better off finding something else to use)

Some cards using the DEC tulip chipset (21040 etc) may not automatically select the correct media or speed. It is possible to hack the rc_init script to pass an options parameter to the driver to override the automatic settings. Locate the following lines in rc_init:

What option number you choose depends on what settings you're trying to achieve. If you have two or three cards all using this same driver then separate the options value for each card with a comma, for example options=3,16,5