我使用的是 CentOS7 7.5.1804。我有一个基于 Intel 82599 的 10gig SFP+ 卡。当我尝试 SFP 时,我得到:
failed to load because an unsupported SFP+ or QSFP module type was detected.
我尝试了在网上找到的所有内容[1],包括添加到内核选项:
ixgbe.allow_unsupported_sfp=1
我也尝试过
modprobe ixgbe allow_unsupported_sfp=1
事实上,当我执行 modinfo -p ixgbe 后,我得到了:
[root@codd-b01 ~]# modprobe ixgbe
[root@codd-b01 ~]# modinfo -p ixgbe
max_vfs:Maximum number of virtual functions to allocate per physical function - default is zero and maximum value is 63 (uint)
allow_unsupported_sfp:Allow unsupported and untested SFP+ modules on 82599-based adapters (uint)
debug:Debug level (0=none,...,16=all) (int)
[root@codd-b01 ~]#
下面您可以看到所有步骤,包括显示在我卸载并重新加载模块后 Linux 不会允许 SFP。
[root@codd-b01 ~]# dmesg | grep SFP
[ 8.981009] ixgbe 0000:5f:00.0: failed to load because an unsupported SFP+ or QSFP module type was detected.
[ 8.994928] ixgbe 0000:5f:00.1: failed to load because an unsupported SFP+ or QSFP module type was detected.
[root@codd-b01 ~]# modprobe -r ixgbe
[root@codd-b01 ~]# modprobe ixgbe
[root@codd-b01 ~]# modinfo -p ixgbe
max_vfs:Maximum number of virtual functions to allocate per physical function - default is zero and maximum value is 63 (uint)
allow_unsupported_sfp:Allow unsupported and untested SFP+ modules on 82599-based adapters (uint)
debug:Debug level (0=none,...,16=all) (int)
[root@codd-b01 ~]# dmesg | grep SFP
[ 8.981009] ixgbe 0000:5f:00.0: failed to load because an unsupported SFP+ or QSFP module type was detected.
[ 8.994928] ixgbe 0000:5f:00.1: failed to load because an unsupported SFP+ or QSFP module type was detected.
[ 6324.524966] ixgbe 0000:5f:00.0: failed to load because an unsupported SFP+ or QSFP module type was detected.
[ 6324.538955] ixgbe 0000:5f:00.1: failed to load because an unsupported SFP+ or QSFP module type was detected.
[root@codd-b01 ~]#
我发现最好的是 [2],但我没有 RHEL 订阅。
答案1
事实证明,光学电缆(我使用的是 DAC)一侧的固件存在一些奇怪的问题。如果调换一下就可以了。
答案2
您的 SFP+ 模块是什么品牌? Intel NIC 应该能够识别 Intel 的收发器。如果您使用在 EEPROM 中编程英特尔代码的第三方模块,那应该没问题。
您是否考虑过 DAC 电缆?它是两端带有 SFP+ 连接器的直接连接电缆。如果您在 Intel 网卡中使用 DAC 电缆,它不会像收发器那样读取 EEPROM。