添加多个风扇到风扇温度策略的风扇组,部分风扇仍不受风扇温度策略控制的问题分析
更新时间: 2026/06/02
在Gitcode上查看源码问题背景
- 单板类型:自研板;
- 软件版本:openUBMC 25.03;
- 涉及功能:风扇调速,风扇板;
- 触发条件:适配了16个风扇到自定义的风扇策略的风扇组里面,查看风扇调速。
- 业务表现:预期全部可正常调速;实际只有四个风扇可正常调速。
问题复现步骤
- 配置16个风扇;
- 配置对应的风扇调速策略,目标调速和温度区间调速;
- 变更温度值,查看风扇调速;
关键日志信息
查看fanIdxGroup里面有16个: 出了四个风扇ID正常外,其他风扇ID均为0xffff:
定位过程
- 从日志上看配置16个风扇的情况下,最终只生效了4个;
- 尝试适配5个风扇,查看风扇ID和调速策略生效状态,结果从日志上发现依然生效了4个风扇,另外一个风扇ID是0xffff且调速策略未生效;
- 确认风扇id适配是否存在问题,参考确认是否存在重复id,经过代码确认,风扇id和slot均正常适配;
- CoolingArea中在FanIdxGroup中增加风扇id;确保CSR中配置的风扇id正确,经代码排查均正常;
- 尝试使用vpd自带的7风扇sr文件(14100363_00000001050302035475.sr),然后CoolingArea中在FanIdxGroup中也增加了风扇id,还是log里面显示4个风扇的id;
- 排查硬件,确认环境上是双风扇板配置,需要确认双风扇板配置是否会影响到风扇ID识别和调速;
问题原因
环境为两个风扇板配置适配,此时需要在CoolingConfig对象中适配FanBoardNum值为2。
解决方案
两个风扇板配置适配,将CoolingConfig对象中适配FanBoardNum值为2即可。