Edg*_*rez 5 drivers rhel ethernet
有没有办法指示以太网适配器使用某个驱动程序?或者它的工作方式是有一种方法来指示驱动程序支持特定的适配器?
我有一个系统运行最近安装的 RHEL Server 7.3 操作系统(内核 3.10.0-514.el7.x86_64),其中 e1000e 驱动程序未链接到板载 I219-LM 以太网适配器。在调查适配器工作不正常的原因时发现了这种情况。另一个工作正常的以太网适配器是连接到 MB 的 PCI 卡。
一个简单的lspci说:
# 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)
Run Code Online (Sandbox Code Playgroud)
lspciI219-LM 设备的详细信息不报告正在使用的驱动程序:
# 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
Run Code Online (Sandbox Code Playgroud)
相反,另一个适配器的相同命令表明设备正在使用 e1000e:
# 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
Run Code Online (Sandbox Code Playgroud)
我有另一个可用的系统,使用相同的操作系统和类型的板载(并且正常运行)I219-LM 适配器,我在其中验证了驱动程序确实应该链接到设备。
浏览/sys/bus/pci/drivers/e1000e和/sys/devices/pci0000:00/0000:00:1f.6区域显示了一些缺失的东西:
.../drivers/e1000e文件夹中,有一个软链接使用 82572EI 适配器的 PCI 地址指向该/sys/devices/区域,但没有与 I219-LM 适配器的一个。相比之下,在提到的“控制”系统中,它拥有的所有适配器都有链接。/sys/devices/pci0000:00/0000:00:1f.6区域中,没有driver软链接。但是,该软链接存在于另一个适配器 ( ../pci0000:00/0000:06:00.0)的相应文件夹中,指向/sys/bus/pci/drivers/e1000e它应该指向的路径。如果需要更多信息来帮助我,请告诉我。
谢谢你。
我想我在使用较新硬件的 RHEL7.9 中遇到了与此类似的情况。归根结底,红帽将新的 NIC 驱动程序反向移植到其驱动程序版本。因此,较新的硬件有时可能会领先于他们当时所支持的硬件。我知道您的 NIC 版本现在受 RHEL7 支持,因为我有一个使用该 NIC 的工作站并且一切正常。就我而言,新的戴尔精密塔式机具有 I219-LM NIC,需要 Red Hat 不会向后移植以支持 RHEL7 的驱动程序版本(现在在 RHEL8 中受支持)。我是 PXE 启动的,因此需要做一些额外的工作才能使该部分正常工作。
为了使 PXE 启动正常工作,我必须更新用于启动启动和安装我的映像的 initrd 映像,但由于这实际上并不在这个问题的范围内,所以我将跳过它。
您可以从英特尔网站e1000e 下载页面获取驱动程序,也可以使用 kmod 存储库(kmod e1000e 链接)。就我而言,我是从 Spacewalk 服务器通过 PXE 引导并安装软件包,因此我只是将 kmod-e1000e 软件包添加到我的存储库中,并在构建过程中安装了它。kmod-e1000e 软件包是更简单的选择,因为它不应在未来的内核升级中被覆盖。
TL;DR Red Hat 在驱动程序支持方面可能很糟糕,因此单独安装较新的驱动程序可以解决这个问题。
PS 如果需要的话,我很乐意写下如何使 PXE 启动工作。