3

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.

A simple lspci says:

# 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)

Verbose 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: [100] Advanced Error Reporting
    Capabilities: [140] 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.

Browsing the /sys/bus/pci/drivers/e1000e and /sys/devices/pci0000:00/0000:00:1f.6 areas has shown a couple of missing things:

  1. In the .../drivers/e1000e folder, 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.
  2. In the /sys/devices/pci0000:00/0000:00:1f.6 area, there is no driver soft-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/e1000e path as it should.

Let me know if more info is needed to help me on this.

Thank you.

  • Was the same procedure used to install the OS on both of these hosts? – thrig Jun 2 '17 at 23:13
  • Yes, in both cases the OS was installed from a DVD – Edgar Ramirez Jun 6 '17 at 21:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.