添加多个风扇到风扇温度策略的风扇组,部分风扇仍不受风扇温度策略控制的问题分析
更新时间: 2026/06/02
在Gitcode上查看源码

问题背景

  • 单板类型:自研板;
  • 软件版本:openUBMC 25.03;
  • 涉及功能:风扇调速,风扇板;
  • 触发条件:适配了16个风扇到自定义的风扇策略的风扇组里面,查看风扇调速。
  • 业务表现:预期全部可正常调速;实际只有四个风扇可正常调速。

问题复现步骤

  1. 配置16个风扇;
  2. 配置对应的风扇调速策略,目标调速和温度区间调速;
  3. 变更温度值,查看风扇调速;

关键日志信息

查看fanIdxGroup里面有16个: 出了四个风扇ID正常外,其他风扇ID均为0xffff:

定位过程

  1. 从日志上看配置16个风扇的情况下,最终只生效了4个;
  2. 尝试适配5个风扇,查看风扇ID和调速策略生效状态,结果从日志上发现依然生效了4个风扇,另外一个风扇ID是0xffff且调速策略未生效;
  3. 确认风扇id适配是否存在问题,参考确认是否存在重复id,经过代码确认,风扇id和slot均正常适配;
  4. CoolingArea中在FanIdxGroup中增加风扇id;确保CSR中配置的风扇id正确,经代码排查均正常;
  5. 尝试使用vpd自带的7风扇sr文件(14100363_00000001050302035475.sr),然后CoolingArea中在FanIdxGroup中也增加了风扇id,还是log里面显示4个风扇的id;
  6. 排查硬件,确认环境上是双风扇板配置,需要确认双风扇板配置是否会影响到风扇ID识别和调速;

问题原因

环境为两个风扇板配置适配,此时需要在CoolingConfig对象中适配FanBoardNum值为2。

解决方案

两个风扇板配置适配,将CoolingConfig对象中适配FanBoardNum值为2即可。