For some time Intel has been marketing these “Bypass” Ethernet cards which have a different PCI Device ID which means that the official Intel open-source (Linux, FreeBSD etc) drivers don’t recognise these cards, and I came to find one in the 2nd hard market.
A Intel Driver patch and recompile is req’d to give your Linux (Debian “Squeeze” in my case & as listed below) the ability to load the “e1000e” driver for these cards.
The process was:
1) Download the latest official Intel PRO 1000 Drivers from Sourceforge, currently
2) Find the PCI Device ID information from the installed (but unrecognised) Intel PRO 1000 PCIe card, which in my case was found with the lspci command, being:
Ethernet controller : Intel Corporation 82571EB PRO/1000 AT Quad Port Bypass Adapter [8086:10a0] (rev 06)
Subsystem: Intel Corporation 82571EB PRO/1000 AT Quad Port Bypass Adapter [8086:10a0]
It’s the “[8086:10a0]” text there that provides you with the information you need to load this device into the Driver code.
3) Add a #define to the ‘hw.h’ file in the src directory within the downloaded Driver distribution. The value that’s relevent here is the “10A0” from the card’s Device ID found above via lspci output.
tar xzf e1000e-2.1.4.tar.gz
cp -p hw.h hw.h-ORIG
echo "#define E1000_DEV_ID_82571EB_QUAD_COPPER 0x10A0" >>hw.h
# or add that #define line after the initial definition of E1000_DEV_ID_82571EB_QUAD_COPPER
4) Then make and install the driver, which in Debian 6 / “Squeeze” needs the following ‘make’ command:
make CFLAGS_EXTRA=-DDISABLE_PM install
With the above done, the new driver is installed to /lib/modules/[your-kernel-version]/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
and loaded with “modprobe e1000e” and the new ethernet devices can be seen with “ifconfig -a” and the output in /var/log/messages