未适配的PCIe卡无法在Web上显示在位问题分析
更新时间: 2026/06/02
在Gitcode上查看源码问题背景
- 单板类型:NA;
- 软件版本:NA;
- 涉及功能:PCIE卡适配;
- 触发条件:接入一张未适配过的PCIe卡。
- 业务表现:预期未适配的卡也能显示在位,但是信息为空;实际PCIE卡无法在web上显示在位。
问题复现步骤
当接入一张未适配过的PCIe卡时,即使BMC已经通过PMU接收到该设备的四元组信息(Vendor ID、Device ID、SubVendor ID、SubDevice ID),但Web界面仍无法显示该卡在位。
关键日志信息
查看日志,确认报错如下:
text
hwdiscovery ERROR: get component sr failed, error: Local file not found定位过程
从知识库信息可知:
BMC不会对未知设备进行“默认加载”,必须通过SR文件(即CSR配置文件)来定义设备的识别规则和属性。
CSR文件名由设备的四元组信息构成,格式为:<VendorID>_<DeviceID>_<SubVendorID>_<SubDeviceID>.sr,存放于 /opt/bmc/sr/ 路径下。
如果系统中没有匹配该四元组的SR文件,即使Connector在位、Presence=1,BMC也会打印类似日志:
text
hwdiscovery ERROR: get component sr failed, error: Local file not found问题原因
当前问题并非BMC配置错误,而是缺少必要的CSR适配文件。openUBMC系统设计上要求所有PCIe设备必须通过SR文件明确定义,才能被识别和管理。只要补充对应四元组的SR文件,并确保Connector配置正确,即可实现未适配PCIe卡在Web上的正常显示与管理。
解决方案
- 获取设备四元组(Vendor ID、Device ID、SubVendor ID、SubDevice ID)信息。
- 在vpd/vendor/OpenUBMC/目录下创建CSR配置文件。
- 确保Connector配置正确。
- 部署并验证
- 将SR文件集成到BMC镜像中,并升级固件。
- 重启后检查日志是否有“get component sr failed”错误。
- 查看Web界面【系统信息】→【其他】→【PCIe卡】是否出现该设备。