SAS/SATA盘信息无法获取

现象:
在背板上接了两个sata盘,系统侧装了iBMA,但是BMC无法获取硬盘信息
image

当前定位:
host_agent收到了硬盘信息

14100665_00000001030302023936.sr中没有PcieAddrInfo_SAS对象,因此丝印文件中没有硬盘丝印

请问SAS/SATA盘是如何与iBMA信息进行对象匹配的,也是通过BDF么?要配置PcieAddrInfo_SAS对象么?

sas/sata盘更新是通过silktext来映射到对应的盘的。基本逻辑大概是:hostagent上面silktext=Disk2,那么就会跟硬盘的Name匹配,如果匹配上了,就会把相关数据更新到对应的Drive对象上。从你截图来看,hostagent上面,silktext是null,所以匹配不到Drive对象。

该问题可以联系对应项目支持,拉BMA和PCIE的人进行联合诊断,问题不大。

1、需要在硬盘背板配置PCIeAddrInfo,否则无法上报丝印;
2、SAS、SATA的丝印和PCIE的不一致,记得参考其他已经配置的硬盘背板适配。

1 个赞

配置了PcieAddrInfo_SAS之后,silkconfig.json中硬盘丝印正常生成,但host_agent的.SilkScreen字段依旧是null,还是无法获取硬盘信息。



可能是槽位号对不上,sr中配的
1.handler_pass_through_drive.lua function c_handler_drives:find_object(path, data) 注释return nil,前后加入多处日志定位,检查drive对象打印的丝印信息是什么


2.检查Drive对象的NodeId、RelativeSlot等属性,PcieAddrInfo_SAS对象的Location、SlotID、ControllerType、ContainerSlot等属性

sas控制器的类型对应ControllerType是2,ControlId是1
sata控制器的类型对应ControllerType是3,ControlId是2

之前都是sas控制器,PcieAddrInfo里配的ControllerType是2,试下配成2.

你好,请问该问题后面有解决吗,我这边也遇到一样的问题。

解决了 重点是要硬盘丝印信息正确,即PcieAddrInfo_SAS对象中的Bus、Device、Function、PortID这几个属性要配置正确

你好,我在其他硬盘背板的适配中也遇到了相似的问题,host_agent下.SilkScreen也是null,


这是silkconfig,json下的配置

这里是SR文件中部署的pcieaddrinfo对象

请问是否是因为slotid错误导致的问题呢?是的话应该如何使SR文件中的配置生效

①确保BDF信息配置正确:你可以在os查看硬盘的BDF:ll /sys/block,确保bdf和在pcieaddrinfo中配置的一致
②确保slotid和portid一一对应:portid在os下应该是可以获取的,但是我不知道怎样获取 :expressionless_face:,我的问题解决了只是因为我的portid刚好是从0-7而已。
在sata盘的pcieaddrinfo对象中,portID我理解为盘所在的物理位置,slotID与portID对应好之后便可以将硬盘信息与槽位号匹配。

PcieAddrInfo_SAS对象的portid属性,对应os下的physical id,请问如何在OS下查看一个硬盘的physical id?

bma获取带内的丝印信息:包含带内直通盘的BDF、PhyId信息。打开bma白名单,访问redfish接口redfish/v1/Sms/1/Systems/1/Storage/1/Drives查询bma提供的信息,硬盘URI路径最后一个数字就是PhyId。比如下面这个路径PhyId就是7

您好,麻烦帮忙看一下这个贴里的问题:我的BDF和phyid参考该贴配置的,但是host_agent还是没有silkscreen

sata盘信息获取问题 - 交流互助区 - openUBMC 论坛

请问适配一款板载的M.2 SATA/NVMe硬盘需要定义哪些对象?

一般配置PcieAddrInfo_SAS对象和Drive对象就可以了

开源仓有可以参考的吗

14100665_00000001030302023934.sr这个可以参考一下

多谢,我看下

添加了PcieAddrInfo和Drive对象,Drive的资源树对象没有更新iBMA收集的硬盘信息,WEB也只有SR配的固定信息

看下host_agent资源树下的sas盘信息,看.SilkScreen属性有没有值