找回密码
 加入我们
搜索
      
查看: 10070|回复: 32

[网络] x520丢失SR-IOV

[复制链接]
发表于 2023-7-14 18:50 | 显示全部楼层 |阅读模式
本帖最后由 21PENNY 于 2023-7-19 17:32 编辑

捡了一张联想x520,刚开始在12600k+z690上测试VFs完全正常,三天后插到5900x+x570平台,ARI capability和SR-IOV capability都丢失了,自然无法创建VFs了;再把这张x520插回12600k+z690,依然没有ARI capability和SR-IOV capability。
用Intel BootUtil刷了BootIMG.FLB依然没有用。
求教有没有哪位朋友遇到过类似问题。

把后面的解决方法置顶了,网卡遇到类似问题的朋友可以参考下。
 楼主| 发表于 2023-7-19 17:15 | 显示全部楼层
在ubuntu 18.04中通过使用eeupdate64e在linux上把HP 560SFP+(也就是HP的x520 da2)的eeprom刷到这张联想x520-da2上解决了此问题(ethtool -i看是从0x800004e0刷到了0x800006fc),我不知道我做了什么让eeprom不太正常,但是这种勉强算掉固件的事其实也算是比较常见了。

eeupdate64e下载链接,shell下的efi和DOS下的exe比较容易找到,这里不列出了
https://platinasystems.com/downloads/tools/

(1)在解决问题的过程中,回顾了一下E810对PASID capability的支持是靠eeprom(定义网卡的PCI/PCIe配置空间、MAC地址等信息)而不是ddp package(网卡的片上OS)。
补充:我看外网论坛有人说现代网卡的固件是驱动自己去加载的,对8125和AX200是成立的,对x520、x540这种显然不成立(当然这些卡确实也很老了),对x710和E810只能算部分成立。

(2)以及dell售后问答中对于i350支持SR-IOV的解释提到SR-IOV capability应该是靠eeprom定义的;又看了下ixgbe的驱动,发现只是会向eeprom的mailbox里写了点东西,其它都是从eeprom里读东西。那么接下来就是开始想办法刷固件。

(3)这里首先走到了一个坑里,搜intel x520 firmware update或82599es firmware update,给出的工具主要是BootUtil和BootIMG.FLG,看名字都感觉不太对,搜lenovo x520 firmware update,联想官网给出的工具也是这个,这实际上是用来更新option rom的,网卡的UEFI、Legacy、PXE、WOL等功能。

(4)继续搜能找到dell的工具,但是它是集成工具,没有提供单独的eeprom文件。

(5)这时想的是再买一个网卡回来用eeupdate64e或ethtool把eeprom给dump出来(intel网卡驱动的eeprom_ops写的很完整),然后在黄鱼买了一张HP 560SPF+,网卡已经寄出的时候,搜了下这张卡的eeprom,结果居然信息非常丰富,链接如下:

https://support.hpe.com/connect/ ... =driversAndSoftware

windows和linux的版本都有,点进去之后可以找到许多网卡不同版本的固件,包含eeprom,nvm,OROM
https://support.hpe.com/connect/ ... 47a804bedb30a1d4135

把联想x520-da2的eeprom dump出来比对一下,除了制造商信息的字符串之外,差别有,但不是很大,不考虑尾的checksum部分,肯定有哪里是决定了ARI和SR-IOV capability的。

这里接下来有两个思路:
(1)用ethtool -E把不同的部分都改成和HP_562i_LOM_82599_2P_SFP_4.25_0.54_800006FC相一致

(2)做好当前EEPROM的备份(建议用eeupdate64e备份成EEP格式),把HP_562i_LOM_82599_2P_SFP_4.25_0.54_800006FC刷进去

直接用(2)
                  sudo ./eeupdate64e -nic=1 -d HP_562i_LOM_82599_2P_SFP_4.25_0.54_800006FC.txt
                  sudo ./eeupdate64e -nic=2 -d HP_562i_LOM_82599_2P_SFP_4.25_0.54_800006FC.txt
(HP提供的固件rpm包,解压出来之后找到这个带有82599的txt文件,这个就是EEP格式文件,EEP格式是明文字符串,不是raw的二进制bin,其实刷一个也可以,两个port是共用的eeprom)。

重启,在dmesg中能看到VFs分配资源,在lspci -s xx:xx.x -vvvv中看到ARI和SR-IOV capability,在/sys/bus/pci/devices/xxxx:xx:xx.x/中能创建vf就成功了(PVE Web UI中能创建)。
发表于 2023-7-14 19:35 | 显示全部楼层
我的x520在AIO主机里esxi6.7下就没成功开启过SR-IOV
发表于 2023-7-15 10:03 | 显示全部楼层
rdlrdlrdl321 发表于 2023-7-14 19:35
我的x520在AIO主机里esxi6.7下就没成功开启过SR-IOV

我在esxi7、esxi8下面也都没有成功过,都是提示需要重启,但反复重启,也还是出现这个提示。按网上说的修改那个check参数也不起作用。是不是还需要cpu和主板支持才能开启sr-iov?
发表于 2023-7-15 10:07 | 显示全部楼层
雨季不再来 发表于 2023-7-15 10:03
我在esxi7、esxi8下面也都没有成功过,都是提示需要重启,但反复重启,也还是出现这个提示。按网上说的修 ...

BIOS里要开启SR-IOV CPU要支持VT-D BIOS里X520应该有设置选项,还要启用SR-IOV并且设置最大虚拟网卡数量,默认是1或者0,最后部分主板还要插在和CPU直通的PCIE插槽上才行,走南桥的不一定能成功,看主板兼容性
发表于 2023-7-15 16:02 | 显示全部楼层
本帖最后由 天道太酬勤 于 2023-7-15 16:05 编辑

除了网卡就没改过其他的了?不过我这边SR-IOV在Linux下表现很棒,在Windows下表现很差,都想换回VirtIO了,不知道有大佬指点一下没
发表于 2023-7-15 17:50 | 显示全部楼层
fyc858 发表于 2023-7-15 10:07
BIOS里要开启SR-IOV CPU要支持VT-D BIOS里X520应该有设置选项,还要启用SR-IOV并且设置最大虚拟网卡数量 ...

cpu支持vt-d,bios里面没有sr-iov
选项,网卡插在显卡插槽的。
 楼主| 发表于 2023-7-18 10:11 | 显示全部楼层
天道太酬勤 发表于 2023-7-15 16:02
除了网卡就没改过其他的了?不过我这边SR-IOV在Linux下表现很棒,在Windows下表现很差,都想换回VirtIO了, ...

是的,仅仅换了个平台,SR-IOV和ARI在PCIe配置空间里就消失了,周末在外网论坛搜到一个情况,他的x520 port1对应PF的SR-IOV完全正常,port2对应的PF也是SR-IOV消失了,两个port的eeprom完全一致。
发表于 2023-7-18 10:14 | 显示全部楼层
雨季不再来 发表于 2023-7-15 17:50
cpu支持vt-d,bios里面没有sr-iov
选项,网卡插在显卡插槽的。

你哪家的主板?
发表于 2023-7-18 10:16 | 显示全部楼层

屏蔽家的B560M ELITE
发表于 2023-7-18 10:24 | 显示全部楼层

屏蔽家那没事了,sriov就别想了。
安心换个华硕,华擎啥的
发表于 2023-7-18 10:39 | 显示全部楼层
直通和sr-iov 有什么区别啊 我用的是直通
发表于 2023-7-18 10:41 | 显示全部楼层
LambdaDelta 发表于 2023-7-18 10:24
屏蔽家那没事了,sriov就别想了。
安心换个华硕,华擎啥的

哦,这样啊,明白了。
 楼主| 发表于 2023-7-18 10:52 | 显示全部楼层
wun_008 发表于 2023-7-18 10:39
直通和sr-iov 有什么区别啊 我用的是直通

直通是整个port透传到虚拟机,SR-IOV是硬件层面把port切分成若干份(主要是靠网卡内的vSwitch),这样一个port的带宽就能被若干台虚拟机共享,效率比虚拟 or 半虚拟网卡高。
发表于 2023-7-18 14:13 | 显示全部楼层
21PENNY 发表于 2023-7-18 10:52
直通是整个port透传到虚拟机,SR-IOV是硬件层面把port切分成若干份(主要是靠网卡内的vSwitch),这样一 ...

原来如此 切成好多虚拟网卡吧
发表于 2023-7-18 15:28 | 显示全部楼层
ESXi SR-IOV License 要Enterprise Plus吧?
发表于 2023-7-18 16:00 | 显示全部楼层
fyc858 发表于 2023-7-15 10:07
BIOS里要开启SR-IOV CPU要支持VT-D BIOS里X520应该有设置选项,还要启用SR-IOV并且设置最大虚拟网卡数量 ...

我就是插在南桥上的PCIE插槽,怎么搞都不成功,BIOS里也看不到SR-IOV的选项。
发表于 2023-9-14 02:08 | 显示全部楼层
本帖最后由 shahiyuan 于 2023-9-14 02:10 编辑
21PENNY 发表于 2023-7-19 17:15
在ubuntu 18.04中通过使用eeupdate64e在linux上把HP 560SFP+(也就是HP的x520 da2)的eeprom刷到这张联想x5 ...


联想的是公版卡?
刷完指示灯颜色正常吗?理论上刷完有点小问题,公版卡颜色是绿色,hpe的是橘色,有概率不开机都会亮灯。
发表于 2023-9-14 02:20 | 显示全部楼层
天道太酬勤 发表于 2023-7-15 16:02
除了网卡就没改过其他的了?不过我这边SR-IOV在Linux下表现很棒,在Windows下表现很差,都想换回VirtIO了, ...

用Intel Bootutil刷一下官方最新BootIMG.FLB试试。在官网下载固件包,都在里面。
x520这些卡最早有12年的,卖家一般不更新固件的,好多都是出厂时的,建议可以刷一下。
有条件有一定动手能力的顺便找到相应的eeprom升级一下,应该能解决问题。
 楼主| 发表于 2023-9-15 01:33 | 显示全部楼层
本帖最后由 21PENNY 于 2023-9-15 01:38 编辑
shahiyuan 发表于 2023-9-14 02:20
用Intel Bootutil刷一下官方最新BootIMG.FLB试试。在官网下载固件包,都在里面。
x520这些卡最早有12年的 ...


BootIMG是刷OPROM并且可以切换oprom的启动方式
 楼主| 发表于 2023-9-15 01:37 | 显示全部楼层
shahiyuan 发表于 2023-9-14 02:08
联想的是公版卡?
刷完指示灯颜色正常吗?理论上刷完有点小问题,公版卡颜色是绿色,hpe的是橘色,有概率 ...

联想的PCB不是公版,惠普和intel公版基本一致;我用的时候刷完没有任何问题,HPE的固件多一个温度上报,联想刷上之后这个温度上一直是0,其它功能一切正常。
发表于 2023-9-15 02:49 | 显示全部楼层
21PENNY 发表于 2023-9-15 01:33
BootIMG是刷OPROM并且可以切换oprom的启动方式


我理解bootimg是固件,而eeprom类似主板的bios
bootutil在升级时输入命令就可以改变网卡的启动模式,PXE在启动时很烦,我改成了UEFI启动,清爽
我手中大把品牌X520的eeprom.eep,还有部分x710的
发表于 2023-9-15 02:53 | 显示全部楼层
21PENNY 发表于 2023-9-15 01:37
联想的PCB不是公版,惠普和intel公版基本一致;我用的时候刷完没有任何问题,HPE的固件多一个温度上报, ...

惠普和intel公版的eep相差蛮大,dell和hp的版型看起来和公版差不多,但是eep不通用,会有小问题。而且他们各自在eep里面设置了品牌检验代码
 楼主| 发表于 2023-9-15 10:14 | 显示全部楼层
本帖最后由 21PENNY 于 2023-9-15 10:22 编辑
shahiyuan 发表于 2023-9-15 02:49
我理解bootimg是固件,而eeprom类似主板的bios
bootutil在升级时输入命令就可以改变网卡的启动模式,PXE ...


我以前也是这样理解的,后来我觉得OPROM就是OPROM只是跟PCIe设备的boot过程有关,只是固件的一部分,而eeprom可以确定网卡的PCIe capability,是固件中最重要的部分。https://www.intel.com/content/da ... oducts/bootutil.txt
后来的x710和E810又增加了ddp package跑一个片上OS能够支持更加复杂的功能,同时又给eeprom增加了NVM Update Tool接口可以开关某些capability(比如E810的pasid capability)以及配置某些功能。
 楼主| 发表于 2023-9-15 10:21 | 显示全部楼层
本帖最后由 21PENNY 于 2023-9-15 10:24 编辑
shahiyuan 发表于 2023-9-15 02:53
惠普和intel公版的eep相差蛮大,dell和hp的版型看起来和公版差不多,但是eep不通用,会有小问题。而且他 ...


你说的有道理,看来我是运气好,恰好惠普的固件在联想上也可以使用(这一个多月每天都SR-IOV的iperf3和iperf测试,目前没有什么问题)。

可以看配置空间的Vital Product Data这一栏:

  1. 2d:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
  2.         Subsystem: Hewlett-Packard Company Ethernet 10Gb 2-port 562i Adapter
  3.         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
  4.         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
  5.         Latency: 0, Cache Line Size: 64 bytes
  6.         Interrupt: pin A routed to IRQ 80
  7.         IOMMU group: 26
  8.         Region 0: Memory at fcb00000 (32-bit, non-prefetchable) [size=1M]
  9.         Region 2: I/O ports at f020 [size=32]
  10.         Region 3: Memory at fcd04000 (32-bit, non-prefetchable) [size=16K]
  11.         Expansion ROM at fcc80000 [disabled] [size=512K]
  12.         Capabilities: [40] Power Management version 3
  13.                 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
  14.                 Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
  15.         Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
  16.                 Address: 0000000000000000  Data: 0000
  17.                 Masking: 00000000  Pending: 00000000
  18.         Capabilities: [70] MSI-X: Enable+ Count=64 Masked-
  19.                 Vector table: BAR=3 offset=00000000
  20.                 PBA: BAR=3 offset=00002000
  21.         Capabilities: [a0] Express (v2) Endpoint, MSI 00
  22.                 DevCap:        MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
  23.                         ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
  24.                 DevCtl:        CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+
  25.                         RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
  26.                         MaxPayload 512 bytes, MaxReadReq 512 bytes
  27.                 DevSta:        CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr+ TransPend-
  28.                 LnkCap:        Port #0, Speed 5GT/s, Width x8, ASPM L0s, Exit Latency L0s unlimited
  29.                         ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
  30.                 LnkCtl:        ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
  31.                         ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
  32.                 LnkSta:        Speed 5GT/s (ok), Width x8 (ok)
  33.                         TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
  34.                 DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
  35.                          10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
  36.                          EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
  37.                          FRS- TPHComp- ExtTPHComp-
  38.                          AtomicOpsCap: 32bit- 64bit- 128bitCAS-
  39.                 DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
  40.                          AtomicOpsCtl: ReqEn-
  41.                 LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
  42.                          Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
  43.                          Compliance De-emphasis: -6dB
  44.                 LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
  45.                          EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
  46.                          Retimer- 2Retimers- CrosslinkRes: unsupported
  47.         Capabilities: [e0] Vital Product Data
  48.                 Product Name: HP Ethernet 10Gb 2-port 562i Adapter
  49.                 Read-only fields:
  50.                         [PN] Part number: N/A
  51.                         [EC] Engineering changes: N/A
  52.                         [SN] Serial number: N/A
  53.                         [V0] Vendor specific: 11W/8W PCIeG2x8 2p 10Gb SFP+ Intel 82599
  54.                         [RV] Reserved: checksum good, 0 byte(s) reserved
  55.                 Read/write fields:
  56.                         [V1] Vendor specific: 3.8.04
  57.                         [V3] Vendor specific: 2.8.20
  58.                         [V6] Vendor specific: 2.3.06
  59.                         [YA] Asset tag: N/A
  60.                         [YB] System specific: xxxxxxxxxxxxxxxx
  61.                         [YC] System specific: xxxxxxxxxxxxxxxx
  62.                 End
  63.         Capabilities: [100 v1] Advanced Error Reporting
  64.                 UESta:        DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
  65.                 UEMsk:        DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
  66.                 UESvrt:        DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
  67.                 CESta:        RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
  68.                 CEMsk:        RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
  69.                 AERCap:        First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
  70.                         MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
  71.                 HeaderLog: 00000000 00000000 00000000 00000000
  72.         Capabilities: [140 v1] Device Serial Number 00-e0-ec-ff-ff-36-9f-44
  73.         Capabilities: [150 v1] Alternative Routing-ID Interpretation (ARI)
  74.                 ARICap:        MFVC- ACS-, Next Function: 1
  75.                 ARICtl:        MFVC- ACS-, Function Group: 0
  76.         Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
  77.                 IOVCap:        Migration-, Interrupt Message Number: 000
  78.                 IOVCtl:        Enable- Migration- Interrupt- MSE- ARIHierarchy-
  79.                 IOVSta:        Migration-
  80.                 Initial VFs: 64, Total VFs: 64, Number of VFs: 0, Function Dependency Link: 00
  81.                 VF offset: 384, stride: 2, Device ID: 10ed
  82.                 Supported Page Size: 00000553, System Page Size: 00000001
  83.                 Region 0: Memory at 00000000e2400000 (64-bit, prefetchable)
  84.                 Region 3: Memory at 00000000e2300000 (64-bit, prefetchable)
  85.                 VF Migration: offset: 00000000, BIR: 0
  86.         Kernel driver in use: ixgbe
  87.         Kernel modules: ixgbe
复制代码


我用的联想x520是长这个样子:https://gw.alicdn.com/imgextra/i ... 2.jpg_Q75.jpg_.webp

我还有一张惠普的x520(560SFP+),目前和联想这张固件版本一致,温度上报正常。
发表于 2023-9-15 12:10 | 显示全部楼层
本帖最后由 shahiyuan 于 2023-9-15 12:21 编辑

21PENNY 发表于 2023-9-15 10:21
你说的有道理,看来我是运气好,恰好惠普的固件在联想上也可以使用(这一个多月每天都SR-IOV的iperf3和ip ...

哈哈哈哈,这卡我也收藏了一张,晚点备份一下eeprom,发给你
Lenovo 82599es eep点我
 楼主| 发表于 2023-9-15 13:55 | 显示全部楼层
shahiyuan 发表于 2023-9-15 12:10
哈哈哈哈,这卡我也收藏了一张,晚点备份一下eeprom,发给你
[url=https://www.123pan.com/s/KX9KVv-okVr. ...

哈哈,非常感谢
发表于 2023-9-15 22:53 | 显示全部楼层
本帖最后由 summerq 于 2023-9-15 22:57 编辑

保持关注,我也有此卡
发表于 2023-9-15 23:57 | 显示全部楼层
顺道请教下
MCX4121A-ACAT在ESXI下为啥就8个VF... 我记得spec里有127个
发表于 2023-9-16 15:05 | 显示全部楼层
inSeek 发表于 2023-9-15 23:57
顺道请教下
MCX4121A-ACAT在ESXI下为啥就8个VF... 我记得spec里有127个

vf 数量是手动设置的
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-4-28 03:53 , Processed in 0.015136 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表