web端设置手动模式后显示操作失败;
通过命令ipmcset -d fanmode -v 1显示报错:
The request failed due to an internal service error. The service is still operational.
Request failed.
设置过程中app.log没有抓到什么明显报错,参考论坛其他帖子认为是coolingconfig对象加载失败导致的,该问题如何继续定位?有没有什么解决办法?
web端设置手动模式后显示操作失败;
通过命令ipmcset -d fanmode -v 1显示报错:
The request failed due to an internal service error. The service is still operational.
Request failed.
设置过程中app.log没有抓到什么明显报错,参考论坛其他帖子认为是coolingconfig对象加载失败导致的,该问题如何继续定位?有没有什么解决办法?
答案内容由AI生成,仅供参考:
SmartCoolingState 控制是否启用智能调速。"Disabled",某些系统将禁止切换至手动模式或忽略设置。"SmartCoolingState": "Enabled"
即便使用手动模式,保持智能模式开启有助于系统兼容性。# 设置为手动模式(mode=1),超时时间可选(单位:秒)
ipmcset -d fanmode -v 1 30
# 查看当前风扇信息
ipmget -d faninfo
参数说明:
-v 0: 自动模式-v 1: 手动模式-v 2: 混合模式timeout: 可选,超时后自动恢复自动模式| 步骤 | 操作 | 目标 |
|---|---|---|
| 1 | systemctl status cooling.service |
检查服务是否失败 |
| 2 | journalctl -u cooling |
查看具体失败原因 |
| 3 | 检查 CoolingConfig.json 是否存在/格式正确 |
排除配置文件问题 |
| 4 | systemctl status hica.service |
确认依赖服务存在 |
| 5 | 修复或重装 hica 组件 |
解决资源缺失问题 |
| 6 | 重启 hica 和 cooling 服务 |
恢复风扇管理功能 |
| 7 | 使用 ipmget -d faninfo 验证 |
确认模式设置成功 |
最终结论:该问题是
CoolingConfig配置对象加载失败 → 导致cooling.service启动失败 → 引发所有风扇控制命令失效 的典型表现。请优先修复配置文件和 hica 依赖服务。
根据您描述的问题,在 web 端或通过命令行 ipmcset -d fanmode -v 1 设置风扇手动模式时出现“内部服务错误”(internal service error),且初步怀疑是 CoolingConfig 对象加载失败所致。以下是基于上下文信息的系统化定位思路和可行解决方案。
错误现象:
ipmcset -d fanmode -v 1 → 返回:The request failed due to an internal service error. The service is still operational.
Request failed.
app.log 无明显报错。重要线索来自论坛讨论:
“CoolingConfig对象加载失败导致的”(来源:用户 WH11003,参考 ID:2)
系统服务状态关联性:
cooling.service 依赖 CoolingConfig 配置对象。CoolingConfig 加载失败 → cooling.service 启动失败 → 风扇控制功能不可用。知识图谱支持:
CoolingConfig 是现代 BMC 架构中核心的全局散热配置组件。cooling.service 失败的原因正是 CoolingConfig 加载失败。ipmcset -d fanmode 命令底层依赖 cooling.service 服务正常运行。CoolingConfig 加载失败
↓
cooling.service 启动失败(Result: resources)
↓
风扇控制模块(Cooling Mgmt)无法初始化
↓
ipmcset -d fanmode / Web 界面设置均报 “内部服务错误”
即:根本原因在于 CoolingConfig 对象未能正确加载,导致整个冷却管理系统不可用。
请按以下顺序进行排查:
systemctl status cooling.service
预期结果:
如果服务失败,会显示类似:
× cooling.service - cooling service
Active: failed (Result: resources) since ...
这是 CoolingConfig 加载失败的强信号。
查询配置对象路径(适用于 BMC Kepler 架构):
# 查看 CoolingConfig 存在性
ls /opt/bmc/configs/bmc.kepler.Systems.CoolingConfig.json
# 或检查 D-Bus 是否注册该对象(若有工具支持)
busctl list | grep CoolingConfig
提示:该文件若缺失、权限错误或格式非法,会导致加载失败。
从日志可见:
Failed to schedule restart job: Unit hica.service not found.
hica.service 是 cooling.service 的依赖项。若其未安装或名字不匹配,也会导致失败。
执行:
systemctl status hica.service
ls /etc/systemd/system/hica.service
若服务不存在,则需重新部署
hica组件(版本如hica/1.70.14@openubmc/stable)。
journalctl -u cooling.service --since "1 hour ago"
journalctl -b | grep -i "cooling\|config\|fail"
重点查找:
Failed to load CoolingConfigCoolingConfig: parse errorhica.service not foundCoolingConfig 配置文件定位文件:
/opt/bmc/configs/bmc.kepler.Systems.CoolingConfig.json
检查 JSON 格式是否合法:
python -m json.tool /opt/bmc/configs/bmc.kepler.Systems.CoolingConfig.json
确保关键字段存在且有效,例如:
{
"SmartCoolingState": "Enabled",
"InitLevelInStartup": 30,
"FanBoardNum": 2,
"ManualLevel": 0,
"TimeOut": 30
}
修改后重启服务:
systemctl restart hica.service
systemctl restart cooling.service
若 hica.service 不存在:
确认软件包是否存在:
grep hica /etc/package_info
示例输出:
hica/1.70.14@openubmc/stable#...
若缺失,请重新安装该组件包(通常为 .ipk 或 .rpm 包):
opkg install hica_1.70.14_*.ipk
# 或
rpm -ivh hica-1.70.14-*.rpm
启用并启动服务:
systemctl enable hica.service
systemctl start hica.service
尝试使用 ipmcset 查询当前模式,确认命令本身可用:
ipmget -d faninfo
如果此命令也失败,则说明整个 IPMI 子系统异常,需进一步检查 ipmi.service 或 ubmc_assistant 是否正常。
SmartCoolingState 控制是否启用智能调速。"Disabled",某些系统将禁止切换至手动模式或忽略设置。"SmartCoolingState": "Enabled"
即便使用手动模式,保持智能模式开启有助于系统兼容性。# 设置为手动模式(mode=1),超时时间可选(单位:秒)
ipmcset -d fanmode -v 1 30
# 查看当前风扇信息
ipmget -d faninfo
参数说明:
-v 0: 自动模式-v 1: 手动模式-v 2: 混合模式timeout: 可选,超时后自动恢复自动模式| 步骤 | 操作 | 目标 |
|---|---|---|
| 1 | systemctl status cooling.service |
检查服务是否失败 |
| 2 | journalctl -u cooling |
查看具体失败原因 |
| 3 | 检查 CoolingConfig.json 是否存在/格式正确 |
排除配置文件问题 |
| 4 | systemctl status hica.service |
确认依赖服务存在 |
| 5 | 修复或重装 hica 组件 |
解决资源缺失问题 |
| 6 | 重启 hica 和 cooling 服务 |
恢复风扇管理功能 |
| 7 | 使用 ipmget -d faninfo 验证 |
确认模式设置成功 |
CoolingConfig 是 v3 架构核心配置对象(知识图谱确认)CoolingConfig 加载失败是此类问题的常见根源。
最终结论:该问题是
CoolingConfig配置对象加载失败 → 导致cooling.service启动失败 → 引发所有风扇控制命令失效 的典型表现。请优先修复配置文件和 hica 依赖服务。
20260512-0631.tar.gz (5.0 MB)
这台机器是有两个风扇板,coolingconfig对象加载失败,发现是psr没正常加载导致的,现在psr加载之后仍然无法正常进行手动模式调速。
日志无法下载。
两个风扇板的话,CoolingConfig中的FanBoardNum是否正确配置
确认了加载的psr的FanBoardNum是2
目前发现问题现象变了,web端以及通过ipmcset 命令不会发生操作失败等报错,日志上会显示Set all fan level successfully,但实际上期望速率比以及占空比等信息并未发生改变;
通过smc命令字单独配置风扇pwm可以改变风扇占空比,无法改变期望速率比。
G620KV2_20260512-0800.tar.gz (5.2 MB)
通过SMC命令字能下发成功,那么排查确认CSR文件中的SMC命令字配置是否正确
请对应提供一下设置手动模式和手动模式对应转速的日志,以及对应时间已供定位。
SetPWMCmd这儿应该配置成0x18001100 对应的10进制402657536吧
这两天修复别的问题之后现象又改变了。
操作时间:2026/05/15 06:18 (UTC+00:00)
操作内容:web页面风扇设置手动模式、ipmcset -d fanmode -v 1 0、ipmcset -d fanlevel -v 20
现象:web显示操作失败;命令显示The request failed due to an internal service error. The service is still operational. Request failed.、Set fan(255) level(20) failed. Current Mode: Auto
之前这个问题的解决方式是重新加载了psr让coolingconfig加载出来,现在coolingconfig加载出来了仍然无法设置手动模式,smc仍可下发pwm。
日志已发需要审核。
0x18001100是查询所有风扇PWM吧
这里我的理解是设置所有风扇PWM,对应0x18001200
操作时间:2026/05/15 06:18 (UTC+00:00)
操作内容:web页面风扇设置手动模式、ipmcset -d fanmode -v 1 0、ipmcset -d fanlevel -v 20
现象:web显示操作失败;命令显示The request failed due to an internal service error. The service is still operational. Request failed.、Set fan(255) level(20) failed. Current Mode: Auto
G620KV2_20260515-0620.tar.gz (7.4 MB)
0x18001100 对应的10进制402657536用这个值试试
尝试了一下好像没有解决问题,现象和前面一致
另外单独用call Smc_FanBoard2SMC_010107 bmc.kepler.Chip.BlockIO Write 0 402657536 1 89命令
pwm也没有变化
在使用call Smc_FanBoard2SMC_010107 bmc.kepler.Chip.BlockIO Write 0 402657792 1 89后可以看到所有风扇的pwm都变成了89
我也观察到华为的风扇板csr配置这里就是402657792
那就得确认,下发使用的资源协作接口的插件是否使用的该对应SMC命令字
thermal_mgmt中对应风扇转速下发的接口加上对应日志确认,当前下发卡在哪一个步骤
问题应该源于psr,耳板自带psr不匹配,即使模拟加载正确的psr文件后,coolingconfig等对象被加载仍然不能正确设置手动模式;
解决了psr升级的问题后该问题也一同被解决
当前SR适配还是会存在一定的坑,比如风扇板个数,风扇id这些,可形成总结分享至社区