yin
(kunlun_yinmengyu)
August 24, 2026, 2:38pm
1
// 此模板仅供参考,如果不适用可以修改
问题描述
在无SSD硬盘的环境,其中ThresholdSensor_SSDMaxTemp传感器中Reading读值关联CoolingConfig_1.SysAllSSDsMaxTemperature属性。然而在630更新thermal_mgmt组件仓后,将CoolingConfig_1中的一系列最大温度属性值获取不到时从0修改为了32768。如下图:(切割上传)
当前的taishanServer2.9.0_CSR版本为0.0.419,诸如ThresholdSensor_SSDMaxTemp传感器配置在各个挂耳文件中,目前查看最新的各个挂耳文件中传感器配置Readingstatus:“<=/CoolingConfig_1.SysAllSSDsMaxTemperature;<=/Scanner_PowerGood.Value |> expr(($2 == 0) ? 2 : ($1 == 0 ? 2 : 0))”。仍然为判断是否==0,导致在不存在对应硬盘时门限传感器的状态为0而非2,正常状态。
想确认一下是否是依赖什么版本的更新,抑或是需要修改。
环境信息
操作系统:[如 Ubuntu 24.04]
软件版本: OpenUBMC2606
硬件配置:[如 CPU、内存等]
重现步骤
[第一步]
[第二步]
[第三步]
期望结果
[您希望实现什么]
实际结果
[实际发生了什么,包含错误信息]
尝试过的解决方案
[列出您已经尝试过的解决方案及结果]
分析结论
[详细总结您对此问题的分析结论]
答案内容由AI生成,仅供参考:
结论与建议
根据现有上下文,这并非单纯依赖某个版本自动解决的问题,而是需要同步修改 CSR/挂耳文件中的传感器配置 ,以适配新的默认异常值:
将 ReadingStatus 表达式中的判断条件由 $1 == 0 更新为 $1 == 32768(或改为判断“非有效温度值”的方式)。
同时确认 ThresholdSensor SSDMaxTemp 的读取源 SysAllSSDsMaxTemperature 在新版 thermal_mgmt 组件中的实际行为,确保与 CSR 配置保持一致。
建议同步更新对应的 PSR/CSR 文档及挂耳文件中的传感器定义。
知识库中提到,该传感器的配置由 PSR 文档定义,并记录在挂耳文件中,因此需要同步修订这些配置文件。至于是否依赖某个具体 CSR 版本(如 taishanServer2.9.0_CSR 0.0.419),现有信息未明确说明版本依赖关系,但可以确定的是:必须修改配置,使其适应 32768 这一新默认异常值 。
点击此处查看详细分析解答
根据您提供的信息及知识库中的相关资料,分析如下:
问题根因
您提到在 630 更新 thermal_mgmt 组件仓后,CoolingConfig_1 中的最大温度属性(如 SysAllSSDsMaxTemperature)在“获取不到值”时,默认值由 0 变更为 32768。
知识库中对 SysAllSSDsMaxTemperature 的描述支持这一变化:
SysAllSSDsMaxTemperature is defined with a base data type of Double and is associated with a default anomaly value of 32768 , which indicates an uninitialized or invalid state when no valid temperature data has been recorded.
也就是说,32768 是新的“无效/未初始化”异常值 ,用于替代原先的 0,表示无有效温度数据。
配置适配问题
当前各挂耳文件中 ThresholdSensor_SSDMaxTemp 传感器的 ReadingStatus 表达式仍为:
<=/CoolingConfig_1.SysAllSSDsMaxTemperature;<=/Scanner_PowerGood.Value |> expr(($2 == 0) ? 2 : ($1 == 0 ? 2 : 0))
该表达式依赖 $1 == 0 来判断“无 SSD 硬盘”的场景。在无 SSD 环境中:
旧版本:SysAllSSDsMaxTemperature 为 0,$1 == 0 成立,传感器状态返回预期值(2)。
新版本:SysAllSSDsMaxTemperature 变为 32768,$1 == 0 不再成立,导致传感器状态返回 0,与预期不符。
知识库中的相关案例也说明旧逻辑基于 0 判断:
查看 SSD MAX Temp 传感器配置,发现 SysAllSSDsMaxTemperature == 0 时,传感器不扫描,ReadingStatus=2。
结论与建议
根据现有上下文,这并非单纯依赖某个版本自动解决的问题,而是需要同步修改 CSR/挂耳文件中的传感器配置 ,以适配新的默认异常值:
将 ReadingStatus 表达式中的判断条件由 $1 == 0 更新为 $1 == 32768(或改为判断“非有效温度值”的方式)。
同时确认 ThresholdSensor SSDMaxTemp 的读取源 SysAllSSDsMaxTemperature 在新版 thermal_mgmt 组件中的实际行为,确保与 CSR 配置保持一致。
建议同步更新对应的 PSR/CSR 文档及挂耳文件中的传感器定义。
知识库中提到,该传感器的配置由 PSR 文档定义,并记录在挂耳文件中,因此需要同步修订这些配置文件。至于是否依赖某个具体 CSR 版本(如 taishanServer2.9.0_CSR 0.0.419),现有信息未明确说明版本依赖关系,但可以确定的是:必须修改配置,使其适应 32768 这一新默认异常值 。
BMCkiller
(songdianpeng)
August 25, 2026, 1:09am
3
可尝试将"ReadingStatus": “<=/CoolingConfig_1.SysAllSSDsMaxTemperature;<=/Scanner_PowerGood.Value |> expr(($2 == 0) ? 2 : ($1 == 0 ? 2 : 0))”,修改为"ReadingStatus": “<=/CoolingConfig_1.SysAllSSDsMaxTemperature;<=/Scanner_PowerGood.Value |> expr(($2 == 0) ? 2 : ($1 == 32768 ? 2 : 0))”,
yin
(kunlun_yinmengyu)
August 25, 2026, 1:09pm
4
这样修改是可以的 不过由于该内容配置在挂耳文件中,不通机型的挂耳文件目前应该都有这个问题。咱们这里会整体进行修改嘛?
BMCkiller
(songdianpeng)
September 15, 2026, 6:47am
7
已修改,考虑兼容性等影响,新的方案为将"ReadingStatus": “<=/CoolingConfig_1.SysAllSSDsMaxTemperature;<=/Scanner_PowerGood.Value |> expr(($2 == 0) ? 2 : ($1 == 0 ? 2 : 0))”,修改为 “ReadingStatus”: “<=/CoolingConfig_1.SysAllSSDsMaxTemperature;<=/Scanner_PowerGood.Value |> expr(($2 == 0) ? 2 : (( $1 == 0 || $1 == 32768) ? 2 : 0))”,
yin
(kunlun_yinmengyu)
September 15, 2026, 6:55am
8
你好 这个咱们这边后面更新CSR修改是嘛,涉及到的都会修改吧
BMCkiller
(songdianpeng)
September 18, 2026, 1:31am
9
是的,可提供日志以进一步确认相关CSR是否已修改或将修改