Files
dell-fans-controller-docker/CHANGES.md
lkddi 4f2042cbb4 修复温度和风扇转速读取问题
- 修复温度读取功能,使用正确的正则表达式从IPMI传感器输出中提取温度值
- 通过实验校准确定20%设置对应4800 RPM,实现准确的RPM到百分比转换
- 修改sensor()方法使用ipmitool sdr命令获取更准确的传感器数据
- 添加重试机制和错误处理
- 优化风扇控制逻辑,增加模式切换和状态跟踪
2025-12-02 17:47:51 +08:00

1.1 KiB
Raw Blame History

修复日志

问题1温度读取不准确

  • 问题之前的代码无法正确解析IPMI传感器输出中的温度值
  • 解决方案
    • 修改了sensor()方法,使用ipmitool sdr命令获取更准确的传感器数据
    • 更新了temperature()方法,使用正则表达式正确提取温度值
  • 结果:现在能够准确读取所有温度传感器数据

问题2风扇转速读取不准确

  • 问题IPMI原始命令无法返回设置的风扇占空比值
  • 解决方案
    • 通过校准实验确定了RPM与百分比的转换关系20%设置对应4800 RPM
    • 实现了基于RPM的百分比估算算法
    • 添加了适当的四舍五入逻辑以匹配典型的5%步进
  • 结果:现在能够准确估算当前风扇转速百分比

技术细节

  • Dell服务器的IPMI系统在手动风扇模式下可通过ipmitool sdr命令获取准确的RPM值
  • 风扇转速百分比通过公式计算:(current_rpm / theoretical_max_rpm) * 100
  • 理论最大RPM基于校准数据4800 RPM * (100/20) = 24000 RPM