AC测试偶现9560-16i Raid卡高温告警问题分析
更新时间: 2026/05/29
在Gitcode上查看源码问题背景
- 单板类型:自研板;
- 软件版本:OpenUBMC 25.09;
- 涉及功能:告警,AC,Raid卡,PCIE卡;
- 触发条件:9560-16i Raid卡在位,PCIE卡信息可正常读取,AC上下电。
- 业务表现:预期无异常告警;实际存在PCIeBBUTemp高温告警且传感器读值异常。
问题复现步骤
环境上配置9560-16i Raid卡;安装一张PCIE卡,AC重启。
关键日志信息
OS侧执行告警信息: app.log日志:
定位过程
查看关键日志app.log和sellist截图信息,确认告警的确产生,且reading读值显示为254,门限值为60。查看传感器配置代码如下:
传感器读值的具体来源为对象Battery_1的属性TemperatureCelsius,AC的过程中,TemperatureCelsius使用的默认值32766,传感器侧显示读值异常,导致AC过程中产生告警。而传感器出现254的读值从文档中心可确认,传感器reading值为U8类型,而Battery_1的属性TemperatureCelsius的类型为U32,在赋值阶段因为数据截断导致赋值并不是TemperatureCelsius的原始值。
问题原因
在AC过程中,传感器reading的值为对象Battery_1的属性TemperatureCelsius的原始值;告警时温度是254,因为赋值给Reading时两个属性类型不同,赋值过程中数据发生了截断,32766变成了254;
解决方案
对温度值大于255添加判断,对于大于255的温度值,直接赋值为20,对于小于255的温度值,则直接按照实际值赋值给传感器。具体代码修改截图如下: 按照代码修改方案修改后,重新出包升级,连续多次AC后,查看是否存在Rai卡的高温告警,不再告警,则修改完成。