I know there are two physical network interfaces in our server (haven't seen it live, but person from datacenter confirmed two ethernet sockets). Problem is, I can only see one via ifconfig -a.
At first, here's what lspci reported:
# lspci -vv|grep -i ethernet 00:19.0 Ethernet controller: Intel Corporation Unknown device 10bd (rev 02) 03:02.0 Ethernet controller: Intel Corporation 82541GI/PI Gigabit Ethernet
After running
# update-pciids
it nows looks like
# lspci -vv|grep -i ethernet 00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network Connection (rev 02) 03:02.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)
dmidecode output:
# dmidecode|grep -i ethernet Type: Ethernet Description: Intel 82541PI Ethernet Device Type: Ethernet Description: Intel 82566DM Ethernet Devic
I have downloaded latest e1000 driver from intel and compiled it against current kernel headers. Used driver version is e1000-8.0.13.
# uname -r 2.6.18-6-686
After connecting via serial cable and doing rmmod/modprobe for e1000, result is still the same. I have also tried same steps for e1000e-1.0.2.5 with same result.
After modprobe, dmesg doesn't show anything about eth1 being found.
There is a file /etc/udev/rules.d/z25_persistent-net.rules with following content:
... # PCI device 0x8086:0x1076 (e1000) SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:15:17:28:44:db", NAME="eth0"
and no entry for eth1. Maybe this file controls which eth devices are created after loading the driver? Problem is, I don't know the MAC of my missing interface, any way to find the MAC?
Thanks!
EDIT1:
Here's the contents of /sys/class/net directory
/sys/class/net# ls eth0 lo sit0
I had a look at /lib/udev/write_net_rules which is a tool generating /etc/udev/rules.d/z25_persistent-net.rules file. This tool uses entries in /sys/class/net, so it now seems unlikely that changing z25_persistent-net.rules would be of any help.
EDIT2:
from e1000e README
.... This driver supports kernel versions 2.4.x and 2.6.x. This driver includes support for Itanium(R)2-based systems. .... - The following adapters do not support Jumbo Frames: Intel(R) 82562V 10/100 Network Connection Intel(R) 82566DM Gigabit Network Connection Intel(R) 82566DC Gigabit Network Connection Intel(R) 82566MM Gigabit Network Connection Intel(R) 82566MC Gigabit Network Connection Intel(R) 82562GT 10/100 Network Connection Intel(R) 82562G 10/100 Network Connection Intel(r) 82566DC-2 Gigabit Network Connection Intel(R) 82562V-2 10/100 Network Connection Intel(R) 82562G-2 10/100 Network Connection Intel(R) 82562GT-2 10/100 Network Connection Intel(R) 82583V Gigabit Network Connection Intel(R) 82578DC Gigabit Network Connection
can someone confirm (with sources) that I really need to upgrade my kernel in order for this to work?
try getting more recent kernel - maybe etch-n-half or even upgrade to lenny.
That udev line merely ensures eth0 is always the same device (the 'persistent' part); as your nic is invisible, so is your MAC, both to you and the OS. Adding eth1 there will not create it for you. I agree with pQd, below: try a more recent kernel.
You need the e1000e driver for this card, apparently. Its PCI ID appears in the
modinfo e1000e
output :alias: pci:v00008086d000010BDsvsdbcsci*
It's available from 2.6.24 or better apparently.
You should be able to use
lspci -k
, which would show which kernel module would be used for each device.If updating the OS is not much of an option, you could put a newer OS on the hardware, and run the older OS as a virtual machine. This is a useful way of supporting older operating systems on newer hardware. (and in some commercial Linux offerings, this is reflected in the lifecycle)