1230基线版本
网卡fru信息显示异常
答案内容由AI生成,仅供参考:
该现象的根本原因是:虽然MCX623436AN-CDAB网卡被系统识别并分配了FRU ID 9,但由于FRU数据无法从目标设备读取或未正确注册,导致ipmitool fru print操作失败。
主要方向应聚焦于:
Component与FruData;frudata服务是否能正常访问该设备的EEPROM;
建议最终解决方案:升级至支持更完善的openUBMC版本,并确保为该网卡配置专用SR文件,明确绑定
FruId=9,并验证EEPROM可读性。
用户反馈在使用1230基线版本的系统中,MCX623436AN-CDAB型号网卡在通过IPMI工具(ipmitool)读取FRU信息时出现异常。
具体表现为:
ipmitool fru | grep -i cdab 可识别设备ID为9。ipmitool fru print 9 时报错:“Device not present (Destination unavailable)”。根据知识库内容,FRU(Field Replaceable Unit,现场可替换单元)的元数据通常存储在EEPROM中,并通过BMC(Baseboard Management Controller)的frudata服务进行统一管理。其核心组件为:
frudata服务:负责统一管理所有FRU设备的元数据,提供IPMI接口支持。FruId属性:每个FRU设备的唯一标识符(U8类型),用于定位具体硬件单元。ipmitool fru命令:通过IPMI协议与BMC通信,读取FRU数据区内容。{"entity": "frudata", "type": "category", "description": "frudata是BMC环境中用于处理FRU数据的核心子系统,支持读写电子标签并提供统一IPMI接口。"}
当出现Device not present错误时,通常表示BMC无法通过IPMI接口访问该FRU设备。
从用户提供的信息来看:
ipmitool fru输出中列出了ID 9)。这与知识图谱中的以下记录一致:
"dump_get_fruinfo failed"表示frudata在尝试获取FRU信息时失败。
同时,知识库指出:
“L Frudata Intf C是处理FRU数据读取的接口模块,当读取失败时会返回错误码211。”
此类错误常见于EEPROM读取失败、I²C通信异常或设备未正确初始化。
| 潜在原因 | 依据 |
|---|---|
| FRU EEPROM未正确加载或数据损坏 | MCX623436AN-CDAB为Mellanox ConnectX-6 Dx网卡,其FRU信息依赖I²C对板载EEPROM操作,若BMC未能成功访问,将导致读取失败。 |
| FruId配置异常或映射错误 | FruId需唯一标识设备。若CSR配置中未正确绑定Component与FruData对象,或FruId=255(默认值)未被正确替换,可能导致逻辑识别不全。 |
| IPMI通信路径异常或frudata服务异常 | BMC内部frudata服务未能正常响应请求,或目标设备未注册到IPMI FRU Inventory中。 |
| 固件版本兼容性问题(1230基线) | 特定基线版本可能存在对某些OEM网卡(如Mellanox)的FRU支持缺陷,尤其在非华为原生设计的模块上。 |
补充说明:文档中提到板载网卡常采用“BOM+ID”命名规则并由CSR动态加载,若SR文件未适配MCX623436AN-CDAB,则无法生成有效FruData。
# 查看PCIe设备枚举情况
lspci -vvv | grep -A 5 -B 5 "MCX623436AN"
# 验证BDF(Bus/Device/Function)信息是否与PcieAddrInfo匹配
检查OpenUBMC环境中是否存在正确的 PcieAddrInfo 对象和对应 Component 配置。
参考知识库:
“iBMA上报的数据无法正确匹配:检查PcieAddrInfo对象配置是否和硬件信息一致,可在OS下用
lspci命令查看。”
# 登录BMC后台,检查frudata是否能获取该设备信息
ipmcget -d fru -v 9
如果此命令也失败,则表明BMC层未完成加载。
也可以尝试使用D-Bus工具直接查询:
busctl call org.openbmc.FruData /org/openbmc/FruData org.openbmc.FruData getFruInfo byte 9
注:
frudata服务是openUBMC/iBMC中FRU管理的核心,依赖于ipmitool进行标准访问。
确认是否为MCX623436AN-CDAB配置了正确的SR(System Resource)文件。
{
"Component_NetworkAdapter": {
"FruId": "Fru_SEU.FruId", // 或明确设为9
"Instance": "01",
"Type": 3,
"Name": "MCX623436AN-CDAB"
}
}
应确保:
FruId与实际FRU设备ID(9)一致;IdentifyMode设置正确(建议设为2,基于BDF发现);FruData_Fru9对象存在且路径正确。参考开发文档:
“板载网卡及普通NIC网卡,一般采用‘BOM+ID’组成对应网卡的文件名,在网卡连接的组件SR中配置网卡的连接器。”
该网卡FRU信息通常位于I²C总线地址0xA0的EEPROM中。
# 在BMC端检查I²C设备是否存在
i2cdetect -y <bus_number>
# 尝试读取前几个字节
i2cget -f -y <bus> 0x50 0x00
若无法读取,可能由于:
确认是否为已知问题
manifest.yml中的OEM支持列表。更新至支持更好的版本
联系技术支持
system log, fru list, ipmcget -l)mdbctl lsprop FruData_Fru9 输出结果discuss.openubmc.cn该现象的根本原因是:虽然MCX623436AN-CDAB网卡被系统识别并分配了FRU ID 9,但由于FRU数据无法从目标设备读取或未正确注册,导致ipmitool fru print操作失败。
主要方向应聚焦于:
Component与FruData;frudata服务是否能正常访问该设备的EEPROM;
建议最终解决方案:升级至支持更完善的openUBMC版本,并确保为该网卡配置专用SR文件,明确绑定
FruId=9,并验证EEPROM可读性。
参考资料:
请问下 CX6网卡支持eeprom访问fru吗
看上面eeprom的Address配置方式,确定这个Address的值是和slot编号有关的吗?
请问下问题有解决吗