NE2500 and Linux Setup Details

Setup Details:

  1. Install Linux--when prompted for the network configuration select a surrogate card (I suggest a the NE2000) and put in your own values for IO, IRQ values.  Also configure your TCP/IP setup (e.g. your IP Address, gateway, dns, etc)  If you do this correctly then when you activate your new network card things should work instantly.

  2. Login as root--you can figure this out.

  3. Run "pnpdump > isapnp.conf"--The program pnpdump probes all the ISA Plug 'n play cards on your system and produces output suitable for a configuration file.  By redirecting the output to the file you can then edit it and select the values you wish to use.  (see: Example isapnp.conf for details)

  4. Edit the file and set the config parameters--Use your editor and make sure that all the lines that setup specific resources are uncommented and values that do not conflict with other devices in your system are used.  In particular the I/O base address must be either 0x300, 0x320, 0x340 or 0x360 in order for the Lance modules to properly probe and detect the card.

  5. Copy or append the file to /etc/isapnp.conf--this file is used by Redhat installations of linux to automatically initialize Plug 'n Pray device at boot time.  If your system isn't setup in this manner then you need to modify your rc.d scripts so that your PNP devices will be properly configured each time you boot.

  1. Run "isapnp /etc/isapnp.conf" to initialize the card--Since we don't want to reboot right now, just run this command.  You should get output similar to:


"Board 1 has Identity 59 46 5e ea 29 00 19 99 34:  MDY1900 Serial No 1180625449 [checksum 59]"

  1. Run "modprobe lance.o io=0x0360" with the appropriate io address to insert the kernel module--The lance modules needs the additional parameter io=0x???? where you fill in the address that you set the card to.  Output should be similar to:


"eth0: PCnet/ISA+ 79C961 at 0x360, 00 80 29 ea 5e 46 assigned IRQ 15, assigned DMA 7.  lance.c:v1.14 2/3/1998"

  1. Examine the output it produces and record the IRQ and DMA values--In many circumstances the IRQ and DMA values that you gave in the config file will not correspond to where the driver ends up putting them (I'm pretty sure this is a problem with the cards not reseting corretly after initialization and hence ignoring the IRQ and DMA values that you gave)

  2. Run "rmmod lance" to remove the module--Just clear it out so we can proceed

  3. Modify the /etc/isapnp.conf file to match the IRQ and DMA values from the lance driver--i.e. let the card have it's way and just make sure that other devices don't claim these resources.

  4. Rerun "isapnp /etc/isapnp.conf" to reconfigure the card--From what I can tell this is just done "on principle" since the card seems to ignore certain things we tell it.

  5. Edit /etc/conf.modules to represent the correct values--this is the file that Redhat uses when it goes to load a kernel module.  It should have lines similar to:


alias eth0 lance

options lance io=0x360

  1. Run "/etc/rc.d/init.d/network restart" to restart all the network devices--this should insert the lance module, and bring up the eth0 device.

  2. Check your network configuration with "ifconfig"--If all has gone well you will see:


eth0  Link encap:Ethernet  HWaddr 00:80:29:EA:5E:46
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:81106 errors:0 dropped:0 overruns:0 frame:34
          TX packets:73971 errors:0 dropped:0 overruns:0 carrier:0
          collisions:17
          Interrupt:15 Base address:0x360 DMA chan:7

At this point try pinging a host......and if that works then telnet around a bit...if you

These Instructions are based on work with the following motherboard:

Intel Performance AU      Soyo 5EHM            Amptron 9000 series   
Abit BX6 Rev 2.0              PC/Chips M571