Paul Gortmaker (
Mon, 6 Jan 1997 22:44:36 +1000 (EST)

> I noticed that there is not support for pci ne2000 cards in 2.0.0. Is
> there work being done on this? Or does anybody know how to support this
> card?

There is support for PCI ne2000 cards in v2.0.x but it is limited to
the RealTek cards. To use Winbond or Compex PCI clones with v2.0 you
need to do one of the following, whichever is easiest for you.

1) Supply an ether=0,0xNNNN,eth0 argument to LILO at boot and then
ensure that it is detected as a ne2000 and *not* an ne1000.
(If it is detected as an ne1000 then use (2) or (3) or (4) below,
or make the following change to ne.c

- if (pci_irq_line)
+ if (pci_irq_line || ioaddr >= 0x400)
wordlength = 2; /* Catch broken cards mentioned above. */

Of course replace 0xNNNN with your I/O address obtained from doing
a "cat /proc/pci" -- common ones are 0x6000 and 0xffe0.

2) Get a patch that adds the Winbond ID to the v2.0 ne driver, avail. at:
Detection will then be automatic, and no "ether=" boot arg. is required.
This should work on all kernels between v2.0.22 and v2.0.27 inclusive.

3) Copy the files ne.c pci.c and pci.h from a v2.1.15 (or greater)
kernel into your source tree. (This has essentially the same effect
as (2) above.) Don't use a kernel that is "too new" due to the
module changes in v2.1.19 or greater.

4) Edit ne.c and change the realtek IDs to the ones for the card you
have (get them from "cat /proc/pci") i.e. for Winbond cards, do:

/* Currently only Realtek are making PCI ne2k clones. */
- if (pcibios_find_device (PCI_VENDOR_ID_REALTEK,
- PCI_DEVICE_ID_REALTEK_8029, pci_index,
+ if (pcibios_find_device (0x1050, 0x940, pci_index,
&pci_bus, &pci_device_fn) != 0)

This will also make detection automatic, but you will still get the
harmless "Unknown PCI device..." messages.

That should help you get it working.