Is there a way to instruct an Ethernet adapter to use a certain driver? Or perhaps the way it works is to have a way to instruct a driver to support a specific adapter?
I have a system running a recently installed RHEL Server 7.3 OS (kernel 3.10.0-514.el7.x86_64), where the e1000e driver is not linked to an on-board I219-LM Ethernet adapter. This condition was found while investigating why the adapter is not working properly. The other Ethernet adapter, which works fine, is a PCI card attached to the MB.
# lspci | grep net 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-LM (rev 31) 06:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06)
lspci for the I219-LM device does not report a driver in use:
# lspci -v -s 00:1f.6 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-LM (rev 31) Subsystem: Intel Corporation Device 0000 Flags: fast devsel, IRQ 16 Memory at a1700000 (32-bit, non-prefetchable) [size=128K] Capabilities: [c8] Power Management version 3 Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [e0] PCI Advanced Features Kernel modules: e1000e
Conversely, the same command for the other adapter states that e1000e is being used by the device:
# lspci -v -s 06:00.0 06:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06) Subsystem: Intel Corporation PRO/1000 PT Server Adapter Flags: bus master, fast devsel, latency 0, IRQ 130 Memory at a1320000 (32-bit, non-prefetchable) [size=128K] Memory at a1300000 (32-bit, non-prefetchable) [size=128K] I/O ports at 4000 [disabled] [size=32] Expansion ROM at a1340000 [disabled] [size=128K] Capabilities: [c8] Power Management version 2 Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [e0] Express Endpoint, MSI 00 Capabilities:  Advanced Error Reporting Capabilities:  Device Serial Number [edited] Kernel driver in use: e1000e Kernel modules: e1000e
I have another system available, using the same OS and type of on-board (and properly functioning) I219-LM adapter, where I verified that, indeed, the driver should be linked to the device.
/sys/devices/pci0000:00/0000:00:1f.6 areas has shown a couple of missing things:
- In the
.../drivers/e1000efolder, there is a soft-link using the PCI address of the 82572EI adapter that points to the
/sys/devices/area, but none with the I219-LM adapter's one. In comparison, in the mentioned "control" system, there are links for all the adapters it has.
- In the
/sys/devices/pci0000:00/0000:00:1f.6area, there is no
driversoft-link. However, that soft-link is present in the corresponding folder for the other adapter (
../pci0000:00/0000:06:00.0), pointing to the
/sys/bus/pci/drivers/e1000epath as it should.
Let me know if more info is needed to help me on this.