The latest version of this article can be found at http://bakskuru.se/fredrik/freesco/
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-0xx.zip archive (where xx matches your FREESCO version), 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 compiled it into this document.
I am by no means an expert on this. If you find any errors or have comments, don't hesitate to contact me
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 ]
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 http://freesco.sourceforge.net. 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 1)
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:
rc_pnp setup
at the prompt.
pnpdump
is run and a dump called isapnp.cfg
is created in /boot/etc
(with a copy in /etc
). # $Id: pnpdump.c,v 1.9 1997/06/10 21:37:32 fox Exp $
# This is free software, see the sources for details.
# This software has NO WARRANTY, use at your OWN RISK
#
# For details of this file format, see isapnp.conf(5)
#
# For latest information on isapnp and pnpdump see:
# http://www.roestock.demon.co.uk/isapnptools/
#
# Compiler flags: -DREALTIME -DNEEDSETSCHEDULER
#
# Trying port address 0203
# Board 1 has serial identifier 8a c9 75 1a 12 31 10 d4 25
# Board 2 has serial identifier d1 af ba 2b 32 95 50 6d 50
# (DEBUG)
(READPORT 0x0203)
(ISOLATE)
(IDENTIFY *)
# Card 1: (serial identifier 8a c9 75 1a 12 31 10 d4 25)
# INT1031 Serial No -915072494 [checksum 8a]
# Version 1.0, Vendor version 0.0
# ANSI string -->Intel PRO/10+ or compatible adapter<--
#
# Logical device id INT1031
# Device support I/O range check register
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be changed if required
# Don't forget to uncomment the activate (ACT Y) when happy
(CONFIGURE INT1031/-915072494 (LD 0
# Compatible device id INT1030
# Logical device decodes 10 bit IO address lines
# Minimum IO base address 0x0200
# Maximum IO base address 0x0390
# IO base alignment 16 bytes
# Number of IO addresses required: 16
# (IO 0 (BASE 0x0200))
# IRQ 3, 4, 5, 7, 9, 10, 11 or 12.
# High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 3 (MODE +E)))
# (ACT Y)
))
# End tag... Checksum 0x00 (OK)
# Card 2: (serial identifier d1 af ba 2b 32 95 50 6d 50)
# TCM5095 Serial No -1346753742 [checksum d1]
# Version 1.0, Vendor version 1.0
# ANSI string -->3Com 3C509B EtherLink III<--
#
# Logical device id TCM5095
# Device support I/O range check register
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be changed if required
# Don't forget to uncomment the activate (ACT Y) when happy
(CONFIGURE TCM5095/-1346753742 (LD 0
# Compatible device id PNP80f7
# IRQ 3, 5, 7, 9, 10, 11, 12 or 15.
# High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 3 (MODE +E)))
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0210
# Maximum IO base address 0x03e0
# IO base alignment 16 bytes
# Number of IO addresses required: 16
# (IO 0 (BASE 0x0210))
# (ACT Y)
))
# End tag... Checksum 0x00 (OK)
# Returns all cards to the "Wait for Key" state
(WAITFORKEY)
The exact content of this file depends on your system. In this example you see two cards, one Intel Pro/10+ and one 3Com 3C509B. For each card there are specific information. All rows are commented out so none of this will be used by your FREESCO. What needs to be done is to edit some rows and remove some comments, then the cards will be configured.
# (IO 0 (BASE 0x0200))
The address is not in conflict with the other card (which will use 0×0210) so this is fine.
# (INT 0 (IRQ 12 (MODE +E)))
(CONFIGURE INT1031/-915072494 (LD 0 # Compatible device id INT1030 # Logical device decodes 10 bit IO address lines # Minimum IO base address 0x0200 # Maximum IO base address 0x0390 # IO base alignment 16 bytes # Number of IO addresses required: 16 (IO 0 (BASE 0x0200)) # IRQ 3, 4, 5, 7, 9, 10, 11 or 12. # High true, edge sensitive interrupt (by default) (INT 0 (IRQ 12 (MODE +E))) (ACT Y) )) # End tag... Checksum 0x00 (OK)
[ Top ]
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
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:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 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:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 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:255.255.255.0 UP BROADCAST NOTRAILERS RUNNING MTU:1500 Metric:1 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.
//Fredrik
[ Top ]