9500-8iraid卡获取控制器信息的命令执行失败问题分析
更新时间: 2026/05/27
在Gitcode上查看源码

问题背景

  • 单板类型:NA;
  • 软件版本:NA;
  • 涉及功能:ipmi命令,raid存储管理;
  • 触发条件:使用ipmi命令获取9500-8iraid卡的控制器信息。
  • 业务表现:预期使用ipmi命令获取9500-8iraid卡的控制器信息成功返回控制器信息;实际使用ipmi命令获取9500-8iraid卡的控制器信息返回错误码0xff。

问题复现步骤

  1. 使用ipmi命令获取9500-8iraid卡的控制器信息,报错。

    text
    ipmitool raw 0x30 0x93 0xDB 0x07 0x00 0x3d 0x00 0x03 0x00 0xff 0xff 0x00 0x00 0xf0

关键日志信息

查看日志,确认报错如下:

定位过程

  1. 从代码中看,是解包cm.STRIP_SIZE_TABLE[rsp.MinStripSizeBytes]时出错:rsp.MinStripSizeBytes为255,而STRIP_SIZE_TABLE中没有key值为255。
  2. 加了响应信息打印:
  3. MinStripSizeBytes的table中没有255这一项key值,解析不到正确的value值,尝试临时加了255的key,解包成功,ipmi命令成功显示:

问题原因

MinStripSizeBytes的table中没有255这一项key值,解析不到正确的value值。

解决方案

添加MinStripSizeBytes的值为255时的解析。

PR链接

MinStripSizeBytes,MaxStripSizeBytes条带大小异常值错误,导致ipmi命令解析失败