Subject: Re: Intel 82562EX and Intel 82540EI
To: None <selvany@cat.co.za>
From: Havard Eidnes <he@netbsd.org>
List: netbsd-users
Date: 10/20/2003 10:42:57
> I have checked the kernel config file and the wm driver is
> enabled.  You mentioned that there just may be a simple change
> that needs to be made.  Can you please elaborate on this.

It may seem that I didn't read carefully enough the first time around.
Your motherboard can apparently be equipped with two different LAN
controllers, one being 82562EX and one being 82540EI.  The former is a
10/100 LAN controller, the latter a 10/100/1000 controller.

What I managed to glean from

  http://www.yourvote.com/pci/pciread.asp?venid=3D0x8086

is that you probably have the 10/100 part (PCI product code 0x1051);
by physical inspection of the motherboard you should be able to
confirm that the LAN controller chip has 82562 printed on it.

The 82562 family of chips is driven by the fxp driver, and that driver
already supports other variants of the 82562 chip, but not this one
which appears to just have a different packaging compared to the
others in the same family.  The 82540 would be the wm driver.

So, here is how you could go about adding support for for the 82562
variant you have:

1) Modify sys/dev/pci/pcidevs to contain an entry for the chip, e.g.

   product INTEL PRO_100_VM_7	0x1051	PRO/100 VM Network Controller

   (I'm not sure the name is completely right, but that doesn't matter
   here.)

2) run "make -f Makefile.pcidevs" in sys/dev/pci/.  This will
   regenerate pcidevs.h and pcidevs_data.h.

3) Modify sys/dev/pci/if_fxp_pci.c so that fxp_pci_products
   contains an entry for the controller.  I.e. add

   { PCI_PRODUCT_INTEL_PRO_100_VM_7,
     "Intel PRO/100 VM Network Controller" },

   to the existing array.     =


4) Add PCI_PRODUCT_INTEL_PRO_100_VM_7 to the case statement in
   fxp_pci_attach, just below PCI_PRODUCT_INTEL_PRO_100_VM_6.

Compile a new kernel and boot with it, and pray that the above works.
If it does, I'd like to see the "dmesg" output, please, including any
phy found.

The above is of course provided without any guarantee of any sort; if
it fries your controller, "tough!" ;-)

Regards,

- H=E5vard