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