NE2000 ISA clone FAQ
Dealing with ISA Plug n Play cards and your sanity. In the beginning ....
Plug and Play (PNP)
After the jumper, but before PCI there was PNP. When it was new it was a disaster. It hasn't gotten much better. It was just another weak attempt to emulate the simplicity of MAC hardware.
ISA cards have two modes, Jumpered and Jumperless.
Jumpered
- YOU must physically move a jumper on the card to change configuration
Jumperless'
- A Dos program is used to write the config to a flash memory on the board itself. This emulates a jumpered device. In this mode a device is usually NOT in PNP mode. There ARE jumperless cards that are NOT PNP! I will try to limit myself to non-mutants.
There were also EISA cards but they were an ugly solution for an ugly problem, hopefully you won't run into one.
The ISA Board config problem.
- There are two kinds of basic ISA boards. The ISA boards with jumpers and those without. A board with jumpers is pretty straightforward. Read the ISA board (If you can), and place the jumpers. If the board is especially cheap, the jumpers will not have any marks or writing near them. Your next step would be to Google the ISA board by the chipset number.
Ethernet chips come from a small number of manufacturers. Those FABS sell or license the chips to other companies. The NE2000 was originally made for Novell Ethernet, (NE). The 2000 was used most likely because it was so "futuristic". The NE2000 spec became one of the most used network specs.
The ISA Ethernet board comes in a number of manufacturers chips. Most smaller manufacturers buy chips from a large chip house and rebrand them as their own. If you look at the small number of ethernet drivers that Linux distributions come with, you will notice there are not many drivers as there are ethernet cards. These many drivers cover many different network chips. Here is a list of the most commonly found NE200 chips.
Common NE2000 Chips |
|
Chip |
Linux Driver |
* Realtek 8019 |
ne |
* Realtek 8029 |
ne |
* Anthem/Novell NE2000 |
ne2 |
* SMC EZ |
ne |
* DAVICOM DM9008F |
ne |
* WINBOND W89C904AXF |
ne |
* WINBOND W89C904F |
ne |
* WINBOND W89C905F |
ne |
* WINBOND W89C906F |
ne |
* WINBOND W89C906F |
ne |
* UMC UM9003AF |
ne |
* UMC UM9007 |
ne |
* UMC UM9008 |
ne |
* AT/LANTIC (Allied Tellisys) |
ne2k |
Tips
"Don't use addresses 0x300 or 0x320 for NE2000 type cards." [Ethernet Howto] Most ISA modules accept parameters like io=0x340 and irq=12 on the insmod command line. It is REQUIRED or at least STRONGLY ADVISED that you supply these parameters to avoid probing for the card. Unlike PCI and EISA devices, there is no real safe way to do auto-probing for most ISA devices, and so it should be avoided when using drivers as modules. [Ethernet Howto]
Probem: ISA Plug and Play NE2000 (such as RealTek 8019) is not detected. Reason: The original NE2000 specification (and hence the linux NE2000 driver) does not have support for Plug and Play.
Solution: Use the DOS configuration disk that came with the card to disable PnP, and to set the card to a specified I/O address and IRQ. Add a line to /etc/conf.modules like options ne io=0xNNN where 0xNNN is the hex I/O address you set the card to. (This assumes you are using a modular driver; if not then use an ether=0,0xNNN,eth0 argument at boot). You may also have to enter the BIOS/CMOS setup and mark the IRQ as Legacy-ISA instead of PnP
There are two major pieces of information needed for configuring the ISA PnP card.
- 1. IRQ. The Interrupt Request. A number between 2 and fifteen.
'IRQ' |
'function' |
0 |
System timer |
1 |
Keyboard |
2 |
Programmable IRQ |
3 |
Comm port |
4 |
Comm port |
5 |
sound card |
6 |
floppy Controller |
7 |
Printer Port |
8 |
CMOS Real Time Clock |
9 |
PNP |
10 |
PNP your name here |
11 |
PNP Video |
12 |
PS/2 Mouse |
13 |
Math Co-Processor |
14 |
hard disk |
15 |
hard disk |
Interrupts 3 and 4 are for serial ports. Five is for a second printer port or a sound card. IRQ 6 is used for the Floppy drive controller. IRQ 7 is sometimes used for sound cards but most often used for the first parallel, (printer) port. IRQ 8 is for the Real Time Clock, Don't mess with this one.
IRQ 9 is a mutant interrupt, unlike any other. IRQ 9 IS IRQ 2 in disguise. I don't think there is a network card alive today that will allow you to use IRQ2, but 9 is OK almost always. Now we come to my favorite of all interrupts. Number TEN. My favorite ethernet IRQ. UMMMM TEN it makes me warm all over. Like Pizza.
- 2. The ADDRESS. The I/O address is the place where your ISA board has been told to live either by a jumper or by a configuration program. The address is a memory address where the driver will be loaded
- 3. FIRST Turn OFF Plug and Play in BIOS. Did you turn off PNP in BIOS? Are you sure?
- 4. Configure you Ethernet card using the DOS program that came with it. Give it a common address like 0X280, 0X320, 0X340. and a common Interrupt like 9, 10 or 11.
---
Things you should have learned in school, (had you been paying attention).
- 1. PORT SENSING Newer Ethernet cards will sense the active port Twisted Pair, Co-AX. Older cards must be jumpered or tweaked with the setup software.
- 2. Connectors.
Your ISA eternet card may have up to THREE different connectors.
- a 10base5 Distance 500 meters Connector DB15 Male.
- b 10 base 5. not used for much anymore. But the 5 stands for 500 meters, which is how long the wire can be to the next ethernet port. It looks like a "GAME" connector. But Not.
- c 10baseT Distance 100 meters. Connector: RJ45 (Oversized phone plug)
- c 10base2 distance 200 meters. Connector: BNC Barrel tubular shaft protruding from your ethernet card
Credits and links:
http://www.plasma-online.de/english/identify/serial/pnp_id_pnp.html
The ISA PNP FAQ http://www.roestock.demon.co.uk/isapnptools/
NE2000 Clone Configuration programs http://www.corbina.ru/~gasya/homelan/drivers/ne2000.htm
Linux Ethercard Status, Diagnostic and Setup Utilities http://www.scyld.com/diag/index.html