YMQMKK
(wuzhou-xiaokaili)
2025 年9 月 23 日 05:29
1
目前如果接入一张没有适配过的PCIE卡,但是可以接收到pmu返回的四元组信息,bmc不会默认加载一张默认的卡。请问这个是bmc配置问题还是什么问题。以下是我们的配置
"Connector_PCIE_4": {
"Bom": "14140130",
"Slot": 5,
"Position": 5,
"Presence": 0,
"Id": "",
"Buses": [
"I2cMux_9548Chan51"
],
"SystemId": "${SystemId}",
"ManagerId": "${ManagerId}",
"ChassisId": "${ChassisId}",
"SilkText": "PCIeSlot${Slot}",
"IdentifyMode": 2,
"Container": "Component_Switch",
"Type": "PCIe"
},
什么叫默认的卡,你提供的信息太少了,先搜索一下/var/log/framework.log看看有没有get component sr failed的报错。如果你没有Bom_id_auxid.sr,肯定是无法加载的
参考:板卡适配指南 | openUBMC ,你这问题看到我有点迷惑,不适配还想在web显示在位
YMQMKK
(wuzhou-xiaokaili)
2025 年9 月 23 日 06:23
3
抱歉,没有描述清晰。我的意思是 在位可以通过pmu是否返回四元组信息来判断。所以如果pmu返回的四元组信息在bmc中没有对应的sr文件,尽管bmc没有做适配,是否也可以 类似重新指向一个默认的sr文件,将其加载起来到web上。
感觉这种需求没有太大意义,就算能显示在位,其他信息大多空白,作用不大
1 个赞
zybwh
(张雨博)
2025 年9 月 23 日 06:38
5
可以是可以,修改一下pcie_device的代码就可以做到
zybwh
(张雨博)
2025 年9 月 23 日 07:48
7
1 个赞
可以参考这个issue GitCode - 全球开发者的开源社区,开源代码托管平台
查不到内置的sr文件就加载一个默认的
1 个赞
答案内容由AI生成,仅供参考:
问题分析:未适配的PCIe卡无法在Web上显示在位
当接入一张未适配过的PCIe卡 时,即使BMC已经通过PMU接收到该设备的四元组信息(Vendor ID、Device ID、SubVendor ID、SubDevice ID),但Web界面仍无法显示该卡在位,这通常不是BMC本身的“默认加载”功能缺失问题,而是适配流程未完成 所导致。
根据您提供的Connector_PCIE_4配置,该Connector已正确配置了槽位、I2C总线、动态变量(如${SystemId})等信息,且IdentifyMode=2表示为静态识别模式。然而,仅配置Connector不足以让系统识别并展示一张新类型的PCIe卡。必须结合CSR(Component Specific Record)配置文件 才能完成完整加载。
原因定位:缺少CSR配置文件
从知识库信息可知:
BMC不会对未知设备进行“默认加载”,必须通过SR文件 (即CSR配置文件)来定义设备的识别规则和属性。
CSR文件名由设备的四元组信息构成,格式为:<VendorID>_<DeviceID>_<SubVendorID>_<SubDeviceID>.sr,存放于 /opt/bmc/sr/ 路径下。
如果系统中没有匹配该四元组的SR文件,即使Connector在位、Presence=1,BMC也会打印类似日志:
hwdiscovery ERROR: get component sr failed, error: Local file not found
这正是您遇到的情况。
示例:社区中有用户反馈博通网卡BCM957414A4142CC因缺少14e416d7_14e41402.sr文件而导致无法加载(见Search Result #7 )。
解决方案:创建并部署CSR配置文件
要使未适配的PCIe卡在Web上正常显示,需执行以下步骤:
获取设备四元组信息
通过BIOS或BMC日志确认设备上报的四元组(Vendor ID、Device ID、SubVendor ID、SubDevice ID)。
确保这些值与实际硬件一致。
创建CSR配置文件
在 vpd/vendor/<厂商>/ 目录下创建对应的.sr文件,例如:
vpd/vendor/OpenUBMC/14e416d7_14e41402.sr
文件内容应包含基本设备信息,至少包括:
{
"PCIeCard_1": {
"Name": "Unknown PCIe Card",
"Model": "Generic PCIe Device",
"Manufacturer": "Unknown",
"PartNumber": "N/A",
"SerialNumber": "<=/FruData.BoardSerialNumber>",
"VendorID": "14e4",
"DeviceID": "16d7",
"SubVendorID": "14e4",
"SubDeviceID": "1402"
}
}
可参考已有适配文档(如《网卡配置指南_1377.json》)完善更多属性。
确保Connector配置正确
您当前的Connector_PCIE_4配置基本正确,但需注意:
Id 字段应留空或由系统自动填充,不应手动设置。
Presence 应由硬件信号或探测逻辑动态更新,若固定为0则不会触发识别。
建议将 IdentifyMode 设置为 2(静态识别)以配合SR文件加载。
部署并验证
将SR文件集成到BMC镜像中,并升级固件。
重启后检查日志是否有“get component sr failed”错误。
查看Web界面【系统信息】→【其他】→【PCIe卡】是否出现该设备。
总结
当前问题并非BMC配置错误 ,而是缺少必要的CSR适配文件 。openUBMC系统设计上要求所有PCIe设备必须通过SR文件明确定义,才能被识别和管理。只要补充对应四元组的SR文件,并确保Connector配置正确,即可实现未适配PCIe卡在Web上的正常显示与管理。