背景:我们基于330 UBMC开发的版本(基于330未产生告警),将全部开发功能反合到630后,出现电源通信故障告警,告警如下:(问题环境机器只插入一个电源)

初步定位:
事件源:是由14191046_PSU_0_soft.sr中Event_PowerSupplyGetFail产生
触发条件:OnePower_0.CommunicationStatus由0变为1
原因:是由psu.lua中的psu_manager:prop_listening_register()通过 self:listen()将CommunicationStatus由0改为1
日志打印:

其他补充:
诉求:
- 请问self.listen实现逻辑是怎么样的,依据什么将CommunicationStatus属性值改变?
- 630相对与330,这块做了哪些改动?
lishuol
(李硕来)
2
power_mgmt代码里有函数把这些属性做驼峰转换,函数见psu:fetch_property,CommunicationStatus属性的话你就在代码里搜communication_status,你们是不是没配置设备树,没设备树的话会走到通用的PsuSlot.lua和pmbus.lua里,通用的里面我记得校验通信状态的时候会尝试获取电源风扇转速,你们可能就是因为电源不支持获取风扇转速所以这个属性被置1了
你好,目前看是走到通用流程中去了,问题机器的电源是华为,之前验过能设置电源风扇转速,我理解是电源应该能获取风扇转速
lishuol
(李硕来)
4
那你们就加打印看吧,是哪个命令字读不通导致连接状态被置位了
你好,请问这个设备树是630新增的代码逻辑吗?
背景:我们自研一款板子,链路上:华为扩展板 → 我们自研板子 → PSU
- 因为我们330上并没有在/include/device_tree/adapters下增加设备树,并没有这个告警
- 刚刚我们基于630上加了设备树后,告警就消了