9500-16i storelibit库编译后获取不到控制器信息

问题描述

9500-16i HBA卡信息能够获取,但是获取很慢,我们看帖子说可以通过适配较新storlibit库解决,于是自行编译了07.3800.0200.0000版本storlibit库,替换掉原storelibit库后无法获取控制器信息;从日志看完成了 IT 控制器发现 ,目前在 SAS 设备枚举 阶段,没有 GetCtrlInfo 与 GetManufacturingPage0 等获取控制器信息相关调用
9500卡信息能够获取,但是获取很慢 - 交流互助区 - openUBMC 论坛

环境信息

  • 操作系统:ubuntu24.04 docker

  • 软件版本:OpenUBMC2512 SP2

  • 硬件配置:鲲鹏920B

期望结果

BMC能获取到9500-16i HBA卡控制器信息

实际结果

BMC能获取不到9500-16i HBA卡控制器信息

分析结论

从日志看完成了 IT 控制器发现 ,目前在 SAS 设备枚举 阶段,从更早日志看曾经执行了GetManufacturingPage0但是会报0x07错误;想求助一下适配过storelib库的同学应该怎么修改storelib库适配ipenUBMC

storelib_unf_rel_modifications.diff.txt (16.6 KB)

storelib_first5mb.txt (5 MB)

答案内容由AI生成,仅供参考:

五、结论与建议

  • 知识库中没有提供修改storelibit库源码的现成方案;
  • 建议优先对照openUBMC官方stable仓库中的storelibit版本(07.0700.0200.0600.B002)进行集成,确认是否有必要使用更高版本;
  • 若必须使用更高版本,请重点检查闭源协议库(如libmgmt_protocol)的加载情况以及manifest.yml中的编译选项;
  • 同时核对PcieAddrInfo_SAS中的配置,确保SAS设备枚举链路完整;
  • 若问题依旧,需要结合完整日志中的0x07错误码进一步分析,或咨询storelibit库的维护方获取适配指导。
点击此处查看详细分析解答

根据知识库现有资料,没有直接给出“如何修改storelibit库适配openUBMC”的详细步骤,但可以整理出与您问题相关的关键信息和排查方向,供您参考。

一、该卡已知问题与storelibit库的关系

文档《9500HBA卡web无法获取信息问题分析》中明确记载:

  • 9500HBA卡存在“信息获取很慢,会阻塞I2C”的问题;
  • 社区版本的openUBMC已经将该卡配置为不支持带外管理
  • 若要支持带外管理,需要使用最新的storelibit库

您的场景正是由于旧库获取慢而尝试自行编译新库(07.3800.0200.0000),但替换后反而无法获取控制器信息。该文档可作为问题背景的参考。

二、注意storelibit库的版本兼容性

在openUBMC release/stable版本清单中,storelibit的版本为:

storelibit/07.0700.0200.0600.B002@openUBMC.release/stable

而您自行编译的版本是07.3800.0200.0000,两者版本号跨度较大。知识库未记载该新版如何适配,因此不能排除高版本storelibit与当前openUBMC框架不兼容,导致:

  • 控制器发现虽然完成;
  • 但在SAS设备枚举阶段停滞;
  • 后续与控制器信息获取相关的调用(如GetCtrlInfoGetManufacturingPage0)未执行或执行失败。

三、类似问题的定位参考:协议库加载

在《博通9560 16i raid卡信息获取异常问题分析》中,出现了类似“控制器初始化失败(错误码4357)”的情况,分析结论为:

  • 与RAID卡SDK加载失败或缺失相关协议库有关;
  • 尝试在manifest.yml中给libmgmt_protocol组件添加编译选项来解决。

您的日志中曾执行GetManufacturingPage0但报0x07错误,这种错误模式与“协议库缺失或未正确加载”有相似之处。建议重点核查:

  • 新编译的storelibit库是否有配套的闭源协议库被正确加载;
  • manifest.yml中相关组件的编译选项是否完整。

四、检查SAS设备枚举相关配置

《SAS/SATA盘信息无法获取问题分析》指出:

  • PcieAddrInfo_SAS对象中的BusDeviceFunctionPortID属性配置不正确,会导致BMC无法正确上报丝印信息,进而影响SAS/SATA设备信息获取。
  • 在SAS设备枚举阶段,如果PcieAddrInfo_SAS相关属性(如ControllerTypeLocationSlotID等)不匹配,也可能导致设备识别或信息获取流程中断。

因此,在适配storelibit库的同时,也应同步检查SAS设备的地址和槽位配置是否正确。

五、结论与建议

  • 知识库中没有提供修改storelibit库源码的现成方案;
  • 建议优先对照openUBMC官方stable仓库中的storelibit版本(07.0700.0200.0600.B002)进行集成,确认是否有必要使用更高版本;
  • 若必须使用更高版本,请重点检查闭源协议库(如libmgmt_protocol)的加载情况以及manifest.yml中的编译选项;
  • 同时核对PcieAddrInfo_SAS中的配置,确保SAS设备枚举链路完整;
  • 若问题依旧,需要结合完整日志中的0x07错误码进一步分析,或咨询storelibit库的维护方获取适配指导。