ocy
(wuzhou-ouchangyun)
2025 年6 月 24 日 11:47
1
问题背景
需要适配卡型:
3152,8204
相关组件所用版本:
storage:1.70.35
iBMA: 2.16.0
问题描述:
1.使用mctp协议的3152,8204都出现无法显示详细信息,os下lspci能够查询到
2.组件storage根据测试结果,9560-8i在tag 1.80以下版本能够正常显示全部信息,1.80以上显示都存在问题
排查过程:
1.根据raid卡适配指导 帖子使用busctl --user introspect bmc.kepler.mctpd /bmc/kepler/Systems/1/Mctp/MctpBinding .BmcEid和.BmcPhyAddr均为0
2.通过代码跟踪storage组件mctp_service.lua日志打印提示卡在了[Storage] Get BMC Mctp info failed,但是mctp_lib.get_mctp_pcie_binding部分涉及闭源包。
function mctp_service:prepare()
log:notice('mctp_service:prepare')
if not self.os_state then
log:notice('not self.os_state')
return
end
local obj = mctp_lib.get_mctp_pcie_binding(self.bus)
if not obj then
log:notice('[Storage] Get BMC Mctp info failed')
return
end
-- 将BMC的mctp信息传递给C库的线程
sml.mctp_infos.set_bmc_mctp_info(obj.BmcEid, obj.BmcPhyAddr)
self.mctp_state = true
log:notice('[Storage] mctp prepare finished. bmc_eid = %s bmc_phy = %s state = %s',
obj.BmcEid, obj.BmcPhyAddr, self.mctp_state)
end
期望
接下来的排查思路,能够成功适配3152,8204
步骤1.首先查看一下web页面:
系统管理–系统信息–其他–PCIe卡下面有没有目标Raid卡的信息
步骤2.如果有看下面的日志是否打印; 如果没有看步骤5
步骤3:如果步骤2的日志正常打印,那么要看一下raid卡的加载流程是否走完
具体关注这几个日志是否都有打印:
步骤5:
在/var/log/app.log里面搜索一下目标raid的SR名称,看是否有加载的日志,预期要有。
如果没有,要在环境:/opt/bmc/sr路径下搜索看是否包含目标Raid卡的SR文件,预期要有。
如果路径没有可能是因为集成配置时候没有带上该SR。
nathanael
(nathanael yu)
2025 年6 月 28 日 02:33
3
如果排查SR没问题,可以排查下raid卡的oob开关是否打开,这张卡默认oob应该是关闭的
ocy
(wuzhou-ouchangyun)
2025 年6 月 28 日 11:02
4
其他中能够识别出该卡
查看日志在/var/log/app.log中并没有步骤2的打印,根据步骤5,在app.log中执行cat /var/log/app.log|grep ‘19005028f_1cc40101’ 并没有回显,不满足预期
但是在/opt/bmc/sr中是能够查看到14140130_9005028f_1cc40101.sr文件
其内容与vpd中的vendor/PMC-Sierra/Raid/14140130_9005028f_1cc40101.sr文件进行对比内容是一致的,同时通过一键收集日志进行查看14140130_9005028f_1cc40101.sr文件有如下内容,请问这种情况接下来应该怎么做呢?
ocy
(wuzhou-ouchangyun)
2025 年6 月 28 日 11:11
5
如下图raid卡的固件版本和oob设置应该能满足带外管理功能了吧?
ocy
(wuzhou-ouchangyun)
2025 年6 月 30 日 11:01
7
十分感谢,定位出问题了,是卡在下面代码处,设备BDF出现问题,在sr手动写死该配置,即可正常显示
if self.DevBus == 0 and self.DevDevice == 0 and self.DevFunction == 0 then
1 个赞
ocy
(wuzhou-ouchangyun)
2025 年7 月 8 日 02:48
8
现在我们在另外一个机型,将3152-8i的卡插在交换板上,参考其他机器能够正常显示的情况,已经通过写死
“DevBus”: 15,
“DevDevice”: 0,
“DevFunction”: 0
os下查看
/var/log/app.log中 storage|mctp 相关日志
根据增加的注释打印,发现是卡在了该处,在后面则没有相关信息
对比其他机型的日志,发现是缺少了mctpd闭源包后面的回复,那么接下来要怎么排查呢?
ocy
(wuzhou-ouchangyun)
2025 年7 月 8 日 13:03
9
还想请问一个问题,arcconf该工具是怎么通过命令arconf list 返回slot号的?异常的机器中,插在0,2,4插槽中,回复显示的都是8
ocy
(wuzhou-ouchangyun)
2025 年7 月 17 日 02:06
11
补充,bios已经返回正常的bdf号后,继续定位日志,发现mctpd能够添加switch芯片的eid,但是3152该卡的eid还是没有正常添加
重启OS,发现mctpd其实是有发出 TargetPhyAddr=131 (请求?) 131为3152-8i所在槽位的bdf号
你说的TargetPhyAddr=131 请求实际是Storage向mctp发起的注册请求,代表软件层识别到此raid卡,但mctp并未在路由中查找到131(从图中mctp_routing_table: del日志可以看到只有13 17 138),可能的原因:
此raid不支持mctp
IMU与该raid卡未建链或建链失败
请按此进行排查
ocy
(wuzhou-ouchangyun)
2025 年7 月 23 日 03:57
13
1.3152-8i卡已确定支持mctp,在其他机型上已经验证(较大差异为其他机型无switch板),有详细信息
2.IMU与该raid卡未建链或建链失败,倾向于未建链,但是IMU这个部分具体要怎么排查,方便说明一下吗?IMU部分没有详细资料,联系bios,IMU为二进制,目前无法进行更多排查
ocy
(wuzhou-ouchangyun)
2025 年7 月 24 日 01:12
15
PAE协助排查后,发现是switch板固件屏蔽mctp导致