II. Guidelines for Installing an Ethernet Card
Appendix--PC System Resources Commonly Used by Ethernet Cards
1. Media Support. Before you buy an Ethernet card for a PC, you need to consider how that PC will be connected to the network. In particular, the Ethernet card must have the appropriate connector to attach it to the specific type of cable or media in use on your network. The following media are used in building Ethernets on this campus:
There are two options for connecting thin coax cards to a 10BaseT repeater. If the card has an AUI port, you can buy an AUI-RJ-45 transceiver (at $30-$40), or if you have a thin segment with multiple nodes attached, it might make more sense to buy a 10Base2-10BaseT media converter (roughly $185).
2. Bus Type. The channel that allows the hardware components within and external to the PC to communicate with one another is called the bus. There are many different PC bus standards. Some are open specifications used by many different vendors and others are proprietary. When purchasing a card, it must conform to the bus type native to the computer. The following six bus types are common today:
3. Data Path Size. The size of the data path for a particular bus is defined by how many bits can be transferred in parallel from an adapter card to the CPU. Different models of PCs and compatibles support different size data paths. Typically 8086 and 8088 machines have an 8-bit bus; 80286 and 80386SX machines have a 16-bit bus; and 80386 machines (and higher) have a 32-bit bus. The following generalizations can be made:
4. Network Software Support:When purchasing an Ethernet card, verify that the card ships with the appropriate drivers for the operating system you plan to use (e.g., DOS, OS/2, Windows NT, Windows for Workgroups, Windows 95, etc.) and the network services you plan to access (e.g., Netware, Windows NT, LAN Manager, Banyan Vines, TCP/IP, etc.). If you plan to install the card in a DOS system, it is extremely important that the card ship, at the very least, with ODI and NDIS 2.x and 3.x drivers. If the Ethernet card will be installed in a LAN server, you may need additional drivers for the card.
Safe Bets: There are two well-known Ethernet hardware manufacturers whose cards are widely used across campus: Standard Microsystems Corporation (SMC, formerly Western Digital) and 3Com. Both companies have been making Ethernet cards for a long time and probably won't disappear in the near future. Clone Ethernet cards conforming to the SMC, 3Com, or Novell hardware specifications also exist, but buying a card from a fly-by-night manufacturer may not be in your long-term best interest, even if such cards are significantly less expensive.
1. Open up the package containing the card and review the accompanying documentation. The first time you install a particular model, it's a good idea to read most of the manual. If you've already installed the same card many times over, you may only need to refer to the documentation when you have a question.
2. Unplug the computer and monitor, and remove the cover from the system unit.
Note for MicroChannel computers: If you are installing a MicroChannel card, you must boot with the Reference diskette and install an Option diskette before or after you install the card. The option diskette provides the computer with information about the card. If you install the card before installing the option diskette, you will see a configuration error when you power on the machine. Read the card's documentation for details.
3. Determine configuration options for the card. Use the documentation that came with the card to find out what the default hardware configuration settings are. Any settings that conflict with another device in the computer must be changed.
The hardware settings that can be changed vary from model to model, but at the very least, most cards require the user to specify the following items:
Other configuration options that may need attention are:
For more information on what each parameter means, and recommended settings, see Appendix A.
4. Write down configuration settings. Once you determine the best settings for the interrupt, I/O base address, and shared memory base address, write them down. You will be asked to provide this information when you configure your network software to work with the card. You may also want to write down the Ethernet address of the card, six two-digit hexadecimal numbers that uniquely identify the adapter. If you maintain a permanent log or database with information about each workstation on your network, add the information you just recorded to this database. Knowing the configuration and address of each Ethernet adapter on your network can be invaluable when troubleshooting problems.
5. Change configuration manually or with software. Make changes as appropriate so that the card will not conflict with the target system. This may involve moving jumpers (tiny, square pieces of plastic with copper inside that make or break connections between copper pins on the card), setting DIP switches, or running configuration software. EISA, PCI, and Micro Channel cards are configured solely by software. V-LB and ISA cards may offer the option of software or hardware configuration.
6. Run diagnostic software. If diagnostic software came with the card, run it after the card is installed to ensure proper installation and configuration.
7. Connect computer to network. Use an appropriate cable to connect the computer to the network.
8. Reconfigure memory managers. If an expanded memory manager such as MS DOS's emm386.exe, QuarterDeck's QEMM, Qualitas's 386 to the MAX, etc., is installed on the target system, the memory manager must be reconfigured so that it does not take control of the memory range used for shared memory on the Ethernet card. Normally, expanded memory managers are loaded at the beginning of the config.sys file and have an option for excluding address ranges from use by the manager.
For example, if you just installed an Ethernet card with 16K of shared RAM and configured the card and the driver to use the base shared RAM address of d000, you would have to exclude the range d0000-d3fff from use by the memory manager. The memory manager supplied with DOS 5.0 and higher (emm386.exe) uses an x option for this purpose. To exclude the memory range used by the Ethernet card, the line that loads emm386.exe would look something like this:
device=c:\dos\emm386.exe x=d000-d3ff
Note: The emm386.exe utility requires that memory addresses be expressed in a special form of hexadecimal notation called paragraph notation. In paragraph notation the last digit is dropped, and the address refers to an entire 16 byte block of memory (called a paragraph). In the above example, the excluded address range starts at the lower boundary of the first paragraph listed (i.e., d0000) and ends at the upper boundary second paragraph listed (i.e., d3fff). Check the documentation for the specific syntax required to exclude a range from use by your memory manager. Then, load your config.sys file into a text editor and make the necessary modifications to the file.
9. Install network software. Install the appropriate network driver(s) for the card using the parameters you wrote down. See the guide called Packet Drivers for IBM PCs and Clones for more information on installing network drivers. Then install one or several TCP/IP applications and test your total configuration.
10. C'est finis? If it all works, congratulations, you're done. If it doesn't--sigh--review all error messages and start troubleshooting.
1. Hardware Interrupt (IRQ, Interrupt ReQuest) - IRQs are used by devices installed in the PC to get the attention of the processor by literally interrupting the current process. In most cases, it is not possible or desirable for two or more installed devices to use the same IRQ, even if the devices are not used at the same time. Interrupt conflicts are frequently the cause of malfunctioning Ethernet cards. When assigning an IRQ to an Ethernet card, you must take into consideration both the type of PC (8086/88 bus vs. 80286+) and the IRQs of other devices installed in the computer. Table A-1 below shows IRQ usage on a 8086/88 machine (PC) and on a 80286 machine (AT) or higher.
| PC/XT (8086/88) | IRQ # | AT and above (80286+) |
|---|---|---|
| timer | 0 | timer |
| keyboard | 1 | keyboard |
| frequently available | 2 | frequently available (actually redirected to IRQ 9) |
| COM2 (available if no COM2) | 3 | COM2 (available if no COM2) |
| COM1 | 4 | COM1 |
| hard disk controller | 5 | LPT2 (available if no LPT2) |
| floppy disk controller | 6 | floppy disk controller |
| LPT1 | 7 | LPT1 |
| Not Applicable | 8 | real-time clock |
| Not Applicable | 9 | used for devices assigned to IRQ 2 |
| Not Applicable | 10 | frequently available |
| Not Applicable | 11 | frequently available |
| Not Applicable | 12 | PS/2 mouse |
| Not Applicable | 13 | math co-processor |
| Not Applicable | 14 | hard disk controler |
| Not Applicable | 15 | frequently available |
Note that no device in a PC/XT class machine may be configured to use an IRQ higher than 7. Thus even if an Ethernet card can be set to use IRQ 10, 11, or 15, such settings can only be used in an 80286 machine or higher. Note also that while Table A-1 shows the commonly used interrupts, there may be devices in your PC configured to use an IRQ that is labeled "frequently available" in the table. Common interrupt-driven devices include SCSI adapters, CD ROM drives, mice, internal modems, memory expansion cards with COM and/or LPT ports, optical scanners, some EGA or VGA adapters.
By looking at the existing integrated devices and ports along with adapter cards, try to determine which hardware interrupts are already in use. Look for:




2. Base I/O Address - An address that the processor can use to communicate directly with the adapter board. The I/O address assigned to the Ethernet card must not be used by any other device installed in the PC. Typically the I/O address for the card is assigned to an unused port somewhere within the range 0x200 and 0x3ff. Common choices are 0x240, 0x280, 0x2a0, 0x2c0, 0x300, and 0x340. Note: SMC MicroChannel cards use I/O addresses outside of this range.
3. DMA channel - Direct Memory Access channels allow for direct, high-speed communication between the Ethernet card and RAM. Two devices can share the same DMA channel as long as they are not used simultaneously. Not all Ethernet card brands and models use DMA channels. Table A-2 on the next page shows DMA channel usage on a 8086/88 machine (PC) and on a 80286 machine (AT) or higher.
| PC/XT (8086/88) | DMA Channel # | AT and above (80286+) |
|---|---|---|
| refresh dynamic RAM | 0 | frequently available (16 bit only) |
| frequently available | 1 | frequently available (8 bit only) |
| floppy disk controller | 2 | floppy disk controller |
| hard disk controller | 3 | frequently available (8 bit only) |
| Not Applicable | 4 | cascade of 0-3 to microprocessor |
| Not Applicable | 5 | frequently available (16 bit only) |
| Not Applicable | 6 | frequently available (16 bit only) |
| Not Applicable | 7 | frequently available (16 bit only) |
4. Base Address for Shared Memory - Most Ethernet cards have from 8K to 32K of on-board RAM for buffering incoming and outgoing data. Typically this memory does not have a fixed address and can be assigned to an address space somewhere within the 640K to 1MB range. The RAM address range assigned to the card must not be used by any other device installed in the computer. Table A-3 on the next page shows the address space between 640K and 1 Megabyte in 8K increments and identifies common usage for various address blocks.
Although it appears that very little of the High Memory address space is available for the on-board RAM on the Ethernet card, the table should not be taken too literally. The C0000-CFFFF range is commonly available on 80286 machines or higher with 8-bit video cards. The 64K window from D0000-DFFFF is often used by expanded memory managers, but LIM EMS can be disabled or the window can be moved to another location. Part of this range (D0000-DFFFF) is commonly used by Ethernet cards. Also, the E0000-EFFFF range is available on most PC clones, as well as IBM brand machines with memory management software that knows how to free up infrequently used portions of the IBM BIOS.
| Memory Range | Devices Commonly Assigned to This Range | ||
|---|---|---|---|
| A0000-A1FFF | VGA Video Memory | Blank | EGA Video Memory |
| A2000-A3FFF | |||
| A4000-A5FFF | |||
| A6000-A7FFF | |||
| A8000-A9FFF | |||
| AA000-ABFFF | |||
| AC000-ADFFF | |||
| AE000-AFFFF | |||
| B0000-B1FFF | MDA Video | ||
| B2000-B3FFF | |||
| B4000-B5FFF | |||
| B6000-B7FFF | |||
| B8000-B9FFF | CGA Video | ||
| BA000-BBFFF | |||
| BC000-BDFFF | |||
| BE000-BFFFF | |||
| C0000-C1FFF | 16 bit VGA BIOS ROM | Same as below | 16 bit EGA BIOS ROM |
| C2000-C3FFF | |||
| C4000-C5FFF | |||
| C6000-C7FFF | |||
| C8000-C9FFF | XT Floppy Controller | Part of this range is frequently used for shared RAM on an Ethernet card | |
| CA000-CBFFF | |||
| CC000-CDFFF | |||
| CE000-CFFFF | |||
| D0000-D1FFF | Optional EMS Page Frame | ||
| D2000-D3FFF | |||
| D4000-D5FFF | |||
| D6000-D7FFF | |||
| D8000-D9FFF | |||
| DA000-DBFFF | |||
| DC000-DDFFF | |||
| DE000-DFFFF | |||
| E0000-E1FFF | IBM ROM BIOS | ||
| E2000-E3FFF | |||
| E4000-E5FFF | |||
| E6000-E7FFF | |||
| E8000-E9FFF | |||
| EA000-EBFFF | |||
| EC000-EDFFF | |||
| EE000-EFFFF | |||
| F0000-F1FFF | PC Clone ROM BIOS | ||
| F2000-F3FFF | |||
| F4000-F5FFF | |||
| F6000-F7FFF | |||
| F8000-F9FFF | |||
| FA000-FBFFF | |||
| FC000-FDFFF | |||
| FE000-FFFFF | |||
| Memory Range Hexadecimal | Memeory Range Decimal | Commonly Assigned Device | ||
|---|---|---|---|---|
| 00000-0FFFF | 0- 63 KB | Conventional DOS Memory | ||
| 10000-1FFFF | 64-127 KB | |||
| 20000-2FFFF | 128-191 KB | |||
| 30000-3FFFF | 192-255 KB | |||
| 40000-4FFFF | 256-319 KB | |||
| 50000-5FFFF | 320-383 KB | |||
| 60000-6FFFF | 384-447 KB | |||
| 70000-7FFFF | 448-511 KB | |||
| 80000-8AFFFF | 512-575 KB | |||
| 90000-9FFFF | 576-639 KB | |||
| A0000-AFFFF | 640K-703 KB | Upper Memory |
Video RAM | |
| B0000-BFFFF | 704-767 KB | |||
| C0000-CFFFF | 768-831 KB | VBIOS/Floppy | ||
| D0000-DFFFF | 832-895 KB | EMS Page Frame | ||
| E0000-EFFFF | 896 -959 KB | IBM BIOS | ||
| F0000-FFFFF | 960-1023 KB | IBM/Clone BIOS | ||
| 100000-10FFFFF | 1024-1087 KB | Extended Memory (XMS) | ||
| 110000-11FFFF | 1088-1151 KB | |||
| 120000-12FFFF | 1152-1215 KB | |||
| 130000-13FFFF | 1216-1279 KB | |||
| 140000-14FFFF | 1280- 1343 KB | |||
| 150000-15FFFF | 1344-1407 KB | |||
| 160000-16FFFF | 1408-1471 KB | |||
| 170000-17FFFF | 1472-1535 KB | |||
| 180000-18FFFF | 1536-1599 KB | |||
| 190000-19FFFF | 1600-1663 KB | |||
| 1A0000-1AFFFF | 1664-1727 KB | |||
| 1B0000-1BFFFF | 1728-1791 KB | |||
| 1C0000-1CFFFF | 1792-1855 KB | |||
| 1D0000-1DFFFF | 1856-1919 KB | |||
| 1E0000-1EFFFF | 1920- 1983 KB | |||
| 1F0000-1FFFFF | 1984-2047 KB | |||