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.
Unzip the archive, and among the files, you'll find rawrite.exe and freesco.027
under Windows/DOS use make_fd.bat to create a floppy disk from the image file.
Under linux use:
dd if=freesco.027 of=/dev/fd0
You should now have a bootable floppy disk containing freesco.
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:
Driver name | Cards supported |
---|---|
hp100 | HP 10/100 VG Any Lan Cards (27248B, J2573, J2577, J2585, J970, J973) |
smc9194 | SMC-9000 / SMC 91c92/4, SMC 91c100 |
wd | WD8003, SMC Elite, WD8013, SMC Elite16 |
3c503 | 3com EtherLink II, 3c503, 3c503/16 |
hp | HP 27245A |
hp-plus | HP EtherTwist, PC Lan+ (27247, 27252A) |
smc-ultra32 | SMC Elite Ultra32 EISA |
e2100 | Cabletron E10, E10-x, E20, E20-x |
de600 | Dlink DE-600 |
de620 | Dlink DE-620 |
lance | AMD LANCE (7990, 79C960/961/961A, PCnet-ISA) |
at1700 | Allied Telesis AT1700 |
fmv18x | Fujitsu FMV-181/182/183/184 |
3c501 | 3com 3c501 1) |
3c507 | 3com Etherlink 16 |
3c515 | 3com 3c515 100mb |
via-rhine * | VIA 86C100A Rhine II (and 3043 Rhine I) |
eexpress | Intel Etherexpress |
eepro | Intel Ether Express PRO/10 |
eepro100 * | Ether Express PRO 10/100B |
epic100 * | SMC EtherPower II PCI (9432) |
pcnet32 | AMD 79C965 (PCnet-32) |
depca | Digital DEPCA, DE100/1, DE200/1/2, DE210, DE422 |
ewrk3 | Digital EtherWorks 3 (DE203, DE204, DE205) |
atp | RealTek RTL8002/8012 (AT-Lan-Tec) Pocket adaptor |
de4x5 | Supports many of the same DEC based cards as the 'tulip' driver. |
ni52 | Racal-Interlan NI5210 |
ni65 | Racal-Interlan NI6510 (not EB) |
3c505 | 3com Etherlink plus |
ac3200 | Ansel Communications AC3200 EISA |
apricot | Apricot Xen-II On Board Ethernet |
tlan | Compaq Nettelligent/NetFlex (Embedded ThunderLAN Chip), Texas Instruments ThunderLAN |
arcnet | Arcnet arc-rimi, com90xx, com20020. |
eth16i | ICL EtherTeam 16i/32 |
3c90x | 3c905B, 3c905C, 3c980, 3c980C, 3c900B 2) |
* 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.
Here are a few suggestions for common types of cards which may require special attention to set up and use with freesco.
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:
for l in 0 1 2; do j="io=`eval echo '$IO'$l`"; k="irq=`eval echo '$IRQ'$l`" for i in /mnt/router/drv/*.o /tmp/net/* /tmp/prm/ne.o; do insmod -fs -o "$i.A$l" $i $j $k && break insmod -fs -o "$i.B$l" $i $j && break done done #ADD NEW LINES HERE for i in /mnt/router/drv/*.o /tmp/net/* /tmp/prm/ne.o; do insmod -fs -o $i.C $i done
In the indicated spot, add the following lines:
insmod -fs /tmp/net/tulip.o options=3 rm -f /tmp/net/tulip.o
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