openubmc是否支持mctp over smbus进行带外管理?

【0257Y438】BCM957416A4160C网卡经确认只支持MCTP over SMBus,不支持MCTP over PCIE,
那当前openUbmc是否支持MCTP over SMBus协议,如果未支持是否有支持计划或者开发指导。

1、openUBMC当前已支持 MCTP over SMBus 协议;
2、网卡部分的适配需要在network_adapter组件进行 SMBus 报文的封装和解析,具体可以参考指导:
https://gitcode.com/openUBMC/network_adapter/pull/87

当前mctp over smbus在standby场景下是否可通。

软件实现和场景没直接关系吧?只要standby下i2c还通就行

据了解,Bios不启动,mctp不通,路由在OS侧,endpoint创建不起来。目前没有在standby下BMC切成主给网卡分配eid的机制,可能无法获取信息。

smbus不走imu那边,smbus的机制是BMC直接给对端分配eid,因为链路是BMC直连对端设备的

2 个赞

在代码中如何获取网卡的endpoint呢,看代码中是调用mctp_lib的函数获取mctp over pcie端点,mctp over smbus情况下应该调用哪个函数去获取endpoint呢

SMBUS直接CSR配置,就可以把对应的i2c器件关联起来了

1、支持mctp over pcie的网卡,会通过 Full PCIe MCTP Endpoint Discovery流程获取主机即IMU分配的eid,具体协议可参考DSP0238
2、走mctp over smbus的网卡,eid需要配置在CSR里面,具体对象参考Endpoint,属性是TargetEid

你好,想问下在sr中添加了endpoint对象后,怎么确定它是否成功上树?除了在sr文件中添加endpoint对象之外,其他代码文件还有需要修改的地方吗?

1、查询是否上树可以直接查mctpd的资源树即可;
2、是否还需要改其他地方:还应该新增BMC的配置,

"MctpBinding_1": {
    "BmcSMBusEid": 8,
    "BmcSMBusPhyAddr": 16
}

不好意思,这个MctpBinding_1是放在哪里,和Endpoint_1放同一个sr文件里吗?还是放root.sr中?

是的,就配置网卡CSR里面即可


introspect查看MctpBinding_1对象是有成功添加的,但是查看tree是还是没有Endpoint

app.log用grep -e smbus -e mctp过滤下,看下日志报错




搜索到这些,第三张图里的两个文件找不到,看不了具体内容。

/dev/mem这个文件的权限影响大吗,Endpoint没上树和这个有联系吗?

那个看着是日志下载的时候的报错,应该和那个没关系。没有其他的,有关mctp或smbus的日志了?


你好,是要这个吗,在telnet下查找的。文件路径是/var/log/app.log,截图是搜索smbus和mctp找到的相关内容。

怎么看着是没上电,没有OS power on的打印

是上电状态的,前面发出来的相关内容都是基于米尔Hi3093开发板测试获取的。白色那张截图是基于app.log搜索smbus和mctp的结果,OS power on相关打印的完整内容是什么,您方便发下我搜索下吗