bmc_soc
版本信息
| 项目 | 内容 |
|---|---|
| 组件版本 | 1.120.3 |
| 文档作者 | mkdlf |
| 最后更新 | 2026-05-09 |
1. 组件概述
1.1 组件简介
BMC SOC管理为BMC基本功能特性,主要提供BMC片上资源的管理和监控功能,包括UART串口管理、串口连接管理、NAND Flash健康管理、SOC状态监控、生产自检等功能。
1.2 解决什么问题
bmc_soc主要涉及与芯片相关的功能,包括串口管理、串口日志导出、efuse升级、温度信息、同步DIEID信息、电源事件、nandflash监控等功能。对于串口管理、串口日志导出、nandflash写保护、PCIe通道使能、Efuse升级等功能均通过调用soctrl组件来实现;对于获取BMC的自检结果、BMC核温、BMC复位原因、DIEID信息、nandflash信息(厂商、EMMC型号、寿命、写入量、擦写次数)等数据,通过调用libsoc_adapter库方法来实现。
1.3 核心功能
- UART串口管理
支持BMC多个UART串口的配置和管理,包括串口参数配置(波特率、数据位、校验位、停止位)和串口连接管理。支持串口数据的监听和日志记录功能。
- 串口连接管理
提供串口源和目的地的动态连接管理,支持串口连接的持久化策略(掉电保留/复位保留),支持面板串口SwitchCMD命令切换。
- NAND Flash健康管理
对BMC的NAND Flash存储介质进行健康度监控,包括寿命监控、擦写次数统计、坏块管理、写保护等功能,支持Flash健康度告警。
- SOC状态监控
监控SOC芯片的工作状态,包括温度监控、黑匣子功能、PCIe控制器使能、DDR自检结果、启动时间等关键指标。
1.4 关键术语表
| 术语 | 解释 |
|---|---|
| SOC | 系统级芯片(System on Chip) |
| NAND Flash | NAND闪存 |
| UART | 串口,全称为通用异步收发器(Universal Asynchronous Receiver/Transmitter) |
2. API 使用说明与示例
2.1 资源协作接口概览
2.1.1 SOC串口端口资源协作接口
资源协作接口:
path: /bmc/kepler/Managers/${ManagerId}/UartPorts/${Id}
interface: bmc.kepler.Managers.UartPort
properties
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| Id | U8 | ✓ | false | 端口ID | 0 |
| BusType | String | ✓ | false | 串口协议类型,取值如下: - Uart: Uart通用端口- UartOverHisport: 基于Hisport通道的Uart端口- UartOverEspi: 基于ESPI通道的Uart端口 | Uart |
| UartConnection | U8 | ✓ | - | UART连接编号 | - |
| PortConnection | U8 | ✓ | - | 端口连接编号 | - |
| BaudRate | U32 | ✗ | - | 波特率 | 115200 |
| DataBit | U8 | ✗ | - | 数据位 | 8 |
| ParityBit | U8 | ✗ | - | 校验位 | - |
| StopBit | U8 | ✗ | - | 停止位 | 1 |
| SerialSwitch | U8 | ✗ | - | 串口切换开关 | - |
methods
| 方法名 | 权限 | 描述 | 请求参数 | 响应参数 |
|---|---|---|---|---|
| Reset | BasicSetting | 打开启动Uart设备,并对设备进行参数设置等初始化 | 无 | 无 |
2.1.2 SOC串口数据配置资源协作接口
path:/bmc/kepler/Managers/${ManagerId}/UartData
interface: bmc.kepler.Managers.UartData
properties
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| Enabled | Boolean | ✗ | - | 设置SOL使能状态 | true |
| SystemLogSize | U32 | ✓ | - | 系统串口日志大小 | 2097152 |
| Id | U8 | ✓ | - | UART数据ID | - |
| SerialListenSwitchEnabled | Boolean | ✗ | - | 面板串口SwitchCMD命令使能 | false |
| UartIdforSerialListen | U8 | ✗ | - | 监听SwitchCMD命令的串口 | 0 |
methods
| 方法名 | 权限 | 描述 | 请求参数 | 响应参数 |
|---|---|---|---|---|
| Export | DiagnoseMgmt | 导出串口日志 | Type: String - 导出数据的类型,可选值:SYS COM/ALLFilePath: String - 导出数据的文件路径 | TaskId: U32 - 任务标识 |
2.1.3 SOC串口互联配置资源协作接口
path:/bmc/kepler/Managers/${ManagerId}/SerialManagement
interface: bmc.kepler.Managers.SerialManagement.Config
methods
| 方法名 | 权限 | 描述 | 请求参数 | 响应参数 |
|---|---|---|---|---|
| Reset | BasicSetting | 恢复串口管理配置 | 无 | 无 |
2.1.4 SOC串口互联关系资源协作接口
path:/bmc/kepler/Managers/${ManagerId}/SerialManagement/${Id}
interface: bmc.kepler.Managers.SerialManagement
properties
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| Id | U8 | ✓ | false | 串口链路的ID | 3 |
| Availability | U8 | ✓ | false | 串口链路的可用性 | 1 |
| CurrentConnectStatus | U8 | ✓ | - | 当前串口连接状态,0:未连接,1:已连接 | 0 |
| Source | String | ✓ | false | 链路关系源端 | PANEL COM |
| Destination | String | ✓ | false | 链路关系对端 | openUBMC COM |
| SrcSerial | U8 | ✓ | false | 源Uart或Port口,其中取值大于16是Port,否则是Uart | 18 |
| DestSerial | U8 | ✓ | false | 目的Uart或Port口,其中取值大于16是Port,否则是Uart | 2 |
| SourceId | U8 | ✗ | - | 源ID | - |
| DestinationId | U8 | ✗ | - | 目的ID | - |
| RetainedPolicy | U8 | ✗ | - | 串口的持久化方案,取值:0-掉电保留,1-复位保留 | - |
| ConnectStatus | U8 | ✗ | - | 掉电保留的串口连接状态 | - |
| ConnectStatusResetPer | U8 | ✗ | - | 复位保留的串口连接状态 | - |
| SystemId | U8 | ✓ | - | 复位后自动恢复的多host串口连接状态 | 0 |
| CPLDValue | U8 | ✓ | - | 切换串口方向寄存器的值 | 255 |
| ConnectMode | U8 | ✓ | - | 串口连接方式 | 0 |
| ListenSwitchCmdEnabled | Boolean | ✗ | - | 面板串口SwitchCMD命令使能 | false |
| ListenSwitchCmd | String | ✗ | - | 面板串口SwitchCMD命令 | - |
methods
| 方法名 | 权限 | 描述 | 请求参数 | 响应参数 |
|---|---|---|---|---|
| SetConnectStatus | BasicSetting | 设置串口链路状态 | NeedSaved: Boolean - 此次串口连接方向是否持久化 | 无 |
2.1.5 SOC Flash资源协作接口
path:/bmc/kepler/Managers/:ManagerId/NandFlash
interface: bmc.kepler.Managers.NandFlash
properties
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| Vendor | String | ✓ | - | nand厂商 | Hynix |
| WriteProtection | U8 | ✗ | false | Nand Flash写保护状态,写入与否:0(允许)/1(禁止) | 0 |
| LifeTime | U8 | ✓ | - | 剩余寿命百分比,支持Nand Flash已用寿命超限严重告警 | 99 |
| LifeTimeThreshold | U8 | ✓ | - | 寿命阈值 | 10 |
| PreEOL | U8 | ✓ | - | (end of life)Nand Flash的PreEOL信息(通过平均预留块来反映设备寿命) | 1 |
| OverWrite | U8 | ✓ | - | 写入量是否超过门限,1:超过/0:未超过 | 0 |
| WriteThreshold | U8 | ✓ | false | Nand Flash写入量,单位GB | 12 |
| RWTestState | U8 | ✓ | - | 读写测试状态 | 0 |
| MaxEraseCount | S32 | ✓ | false | 最大擦除次数(非JPR型号海力士支持),不支持厂商置-1 | 3000 |
| RemainingEraseCount | S32 | ✓ | false | 剩余擦除次数(非JPR型号海力士支持),不支持厂商置-1 | 2917 |
| EraseCountPerDays | S32[] | ✓ | false | 最近15天每天擦除次数(非国产海力士支持),不支持或无数据为空 | [1, 0] |
| TotalWriteAmount | Double | ✓ | false | 开机至今总写入量,单位GB | 0.112 |
| TotalWriteAmountIn15Days | Double | ✓ | false | 最近15天总写入量,单位GB | 0.112 |
| WriteAmountPerDay | Double[] | ✓ | false | 最近15天每天写入量,无数据时为空,单位GB | [1, 0.112] |
| ReservedBlocks | S32 | ✓ | false | 剩余预留块(非JPR型号海力士支持),不支持厂商置-1 | 81 |
| RuntimeBadBlocks | S32 | ✓ | false | 坏块数量(非JPR型号海力士支持),不支持厂商置-1 | 0 |
| Id | U8 | ✓ | - | NAND Flash ID | - |
| WriteAmountOver800mOneDay | U8 | ✗ | - | 单日写入量超过800MB标志 | - |
| FlashRecoverPolicy | U8 | ✗ | - | 用于配置连续读写测试失败后是否支持自愈。取值,0:不采取动作;1:重启BMC | - |
| FlashRecovered | U8 | ✗ | - | 用于标记BMC是否重启修复过。取值,0:未重启修复过;1:重启修复过 | - |
methods
| 方法名 | 权限 | 描述 | 请求参数 | 响应参数 |
|---|---|---|---|---|
| ClearStatistics | BasicSetting | 清除写入量统计 | 无 | 无 |
2.1.6 SOC 资源协作接口
path:/bmc/kepler/Managers/:ManagerId/SOC
interface: bmc.kepler.Managers.SOC
properties
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| BlackBoxEnabled | Boolean | ✗ | - | 设置黑匣子使能开关状态,false(关闭)/true(打开) | false |
| PCIeControllerEnabled | Boolean | ✗ | - | 设置PCIe接口使能开关状态,false(关闭)/true(打开) | false |
| Temperature | U16 | ✓ | - | BMC核心温度 | 43 |
| TemperatureThreshold | U16 | ✓ | - | BMC核心温度告警阈值 | 105 |
| Name | String | ✓ | false | 芯片名字 | SocNameExample |
| Version | String | ✓ | false | 芯片版本,如V100 | 100 |
| Designator | String | ✓ | false | 芯片位置,如U82 | U82 |
| DIEID | String | ✓ | false | DIE(裸片)ID(标识) | 12345678 90ABCDEF |
| ResetType | U8 | ✓ | false | BMC复位原因,0 AC复位,2 软复位 | 2 |
| DDRSelfTestResult | U8 | ✓ | - | DDR自检结果,BMC启动检查一次,1 自检成功 0 自检失败 | 1 |
| DDRSingleBitECCStatistics | U32 | ✓ | false | DDR ECC错误检查,1小时例测一次单bit结果 | 0 |
| DDRMultiBitECCStatistics | U32 | ✓ | false | DDR ECC错误检查,1小时例测一次多bit结果 | 0 |
| StartupDuration | U16 | ✓ | false | BMC启动时间规格 | 160 |
| LastResetTime | String | ✓ | false | 表征BMC上一次重启时间 | 2025-10-10T07:39:59+00:00 |
| BootStatus | U8 | ✓ | true | 加载状态,1:表示BMC已启动;0为默认值,表示未完成启动 | - |
| BmcHardResetFlag | U8 | ✗ | - | BMC硬复位标志 | 0 |
| ProcessRestartFlag | U8 | ✗ | - | 进程重启标志 | 0 |
| CoreEnableTemp | U8[] | ✗ | - | 开核的温度,有3个值,分别代表开第一个,第二个,第三个从核开核的芯片温度 | - |
| CoreDisableTemp | U8 | ✗ | - | 高温关核温度 | - |
| CoreDisablePowerOffTime | U8 | ✗ | - | 下电关核的超时时间,为0表示下电不关核 | - |
| DCAEnable | U8 | ✗ | - | 动态开关核功能使能 1使能 0关闭 | - |
2.2 Reset
功能说明
打开启动UART设备, 并对设备进行参数设置等初始化。
| 属性 | 内容 |
|---|---|
| 接口名 | bmc.kepler.Managers.UartPort |
| 首发版本 | bmcsdk 25.12 |
| 废弃状态 | 正常可用 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| - | - | - | - | - |
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| 空 | 成功 | 正常执行完成 | 无 |
应用场景
打开启动UART设备, 并对设备进行参数设置等初始化。
调试示例
命令行调试
busctl --user call bmc.kepler.bmc_soc /bmc/kepler/Managers/1/UartPorts/Uart_0_01 bmc.kepler.Managers.UartPort Reset a{ss} 0
响应:02.3 Export
功能说明
导出串口日志。
| 属性 | 内容 |
|---|---|
| 接口名 | bmc.kepler.Managers.UartData |
| 首发版本 | bmcsdk 25.03 |
| 废弃状态 | 正常可用 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| Type | 输入 | String | 导出数据的类型 | “SYS COM”或“ALL” |
| FilePath | 输入 | String | 导出数据的文件路径 | String |
| TaskId | 输出 | U32 | 任务标识 | U32 |
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| 抛错Call failed: {"format":"Failed to operate because the current status does not support it.","registry_prefix":"BMC","name":"FeatureDisabledAndNotSupportOperation"} | 日志导出校验失败 | 未打开日志使能开关 | 打开日志使能开关 |
| 抛错Call failed: {"registry_prefix":"BMC","format":"The value %s of the property %s is invalid.","name":"InvalidValue","params":["SYS COMM","Type"]} | 入参Type校验失败 | 输入的参数Type值不合法 | Type值需为“SYS COM”或“ALL” |
| 抛错Call failed: {"registry_prefix":"BMC","format":"The value %s of the property %s does not contain the file name or does not exist in the tmp directory.","name":"InvalidPath","params":["******","Content"]} | 入参FilePath校验失败 | 输入的参数FilePath值不合法 | 输入有效的文件本地导出路径 |
| Call failed: {"format":"The transfer protocols specified in the image URI and in the action parameter do not match.","registry_prefix":"BMC","name":"FileTransferProtocolMismatch"} | 输入的参数FilePath值不合法 | 输入有效的文件远程导出路径 |
应用场景
导出串口日志,前提是日志使能开关打开。
调试示例
命令行调试
busctl --user call bmc.kepler.bmc_soc /bmc/kepler/Managers/1/UartData bmc.kepler.Managers.UartData Export a{ss}ss 0 'SYS COM' '/tmp/ee.txt'
响应:u 20880345222.4 Reset
功能说明
恢复串口管理配置。
| 属性 | 内容 |
|---|---|
| 接口名 | bmc.kepler.Managers.SerialManagement.Config |
| 首发版本 | bmcsdk 25.03 |
| 废弃状态 | 正常可用 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| - | - | - | - | - |
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| 空 | 成功 | 正常执行完成 | 无 |
应用场景
恢复串口管理配置。
调试示例
命令行调试
busctl --user call bmc.kepler.bmc_soc /bmc/kepler/Managers/1/SerialManagement bmc.kepler.Managers.SerialManagement.Config Reset a{ss} 0
响应:02.5 SetConnectStatus
功能说明
设置串口链路状态。
| 属性 | 内容 |
|---|---|
| 接口名 | bmc.kepler.Managers.SerialManagement |
| 首发版本 | bmcsdk 25.03 |
| 废弃状态 | 正常可用 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| NeedSaved | 输入 | Boolean | 此次串口连接方向是否持久化 | true或false |
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| 空 | 成功 | 正常执行完成 | 无 |
应用场景
设置串口链路状态。
调试示例
命令行调试
busctl --user call bmc.kepler.bmc_soc /bmc/kepler/Managers/1/SerialManagement/SerialManagement_5_00 bmc.kepler.Managers.SerialManagement SetConnectStatus a{ss}b 0 false
响应:无2.6 ClearStatistics
功能说明
清除写入量统计。
| 属性 | 内容 |
|---|---|
| 接口名 | bmc.kepler.Managers.NandFlash |
| 首发版本 | bmcsdk 25.03 |
| 废弃状态 | 正常可用 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| - | - | - | - | - |
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| 无抛错 | 设置成功 | 输入参数在合法的范围内 | 无 |
应用场景
清除写入量统计。
调试示例
命令行调试
busctl --user call bmc.kepler.bmc_soc /bmc/kepler/Managers/1/NandFlash bmc.kepler.Managers.NandFlash ClearStatistics a{ss} 0
响应:无2.7 SetDebugValue
功能说明
调试模式下设置参数。
| 属性 | 内容 |
|---|---|
| 接口名 | bmc.kepler.Debug.Managers.NandFlashMock |
| 首发版本 | bmcsdk 25.03 |
| 废弃状态 | 正常可用 |
参数说明
| 参数名 | 方向 | 类型 | 描述 | 取值范围 |
|---|---|---|---|---|
| LifeTime | 输入 | U8 | 调试模式下flash使用的寿命,百分比 | [0,100] |
| PreEOL | 输入 | U8 | 调试模式下预留块状态 | [1,3] |
| DelayTime | 输入 | U32 | 调试模式下计算使用寿命及使用块的间隔时间,单位秒 | U32 |
| TimeInterval | 输入 | U32 | 调试模式下写入量统计时间间隔,单位秒 | U32 |
| WriteThreshold | 输入 | U64 | 调试模式下写入量的阈值,单位字节 | U64 |
| ClearStatisticsInterval | 输入 | U32 | 调试模式下重置写入量的时间间隔,单位秒 | U32 |
返回值与异常
| 返回值 | 含义 | 触发条件 | 处理建议 |
|---|---|---|---|
| 抛错Call failed: {"registry_prefix":"BMC","format":"The value for the property %s is out of range.","name":"ValueOutOfRange","params":["PreEOL"]} | 输入参数PreEOL的值不在允许的范围 | 参数PreEOL的值小于1或大于3 | 控制输入参数PreEOL的值属于区间[1,3] |
| 无抛错 | 设置成功 | 输入参数在合法的范围内 | 无 |
应用场景
调试模式下设置参数。
调试示例
命令行调试
busctl --user call bmc.kepler.bmc_soc /bmc/kepler/Debug/Managers/1/NandFlashMock bmc.kepler.Debug.Managers.NandFlashMock SetDebugValue a{ss}yyuutu 0 50 2 60 30 10 60
响应:无3. 组件扩展案例
4 CSR配置介绍
4.1 SerialManagement 对象配置介绍
此对象用于配置串口链路连接管理,表名:t_serial_management。
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| Id | U8 | ✓ | false | 串口链路ID(主键) | - |
| Availability | - | ✓ | false | 串口链路的可用性 | - |
| Source | - | ✓ | false | 链路关系源端 | - |
| Destination | - | ✓ | false | 链路关系对端 | - |
| SrcSerial | - | ✓ | false | 源Uart或Port口,其中取值大于16是Port,否则是Uart | - |
| DestSerial | - | ✓ | false | 目的Uart或Port口,其中取值大于16是Port,否则是Uart | - |
| SourceId | U8 | ✗ | false | 源ID | - |
| DestinationId | U8 | ✗ | false | 目的ID | - |
| RetainedPolicy | U8 | ✗ | false | 串口的持久化方案,取值:0-掉电保留,1-复位保留 | - |
| ConnectStatus | U8 | ✗ | false | 掉电保留的串口连接状态 | - |
| ConnectStatusResetPer | U8 | ✗ | false | 复位保留的串口连接状态 | - |
| SystemId | U8 | ✓ | false | 复位后自动恢复的多host串口连接状态 | 0 |
| CPLDValue | U8 | ✓ | false | 切换串口方向寄存器的值 | 255 |
| ConnectMode | U8 | ✓ | false | 串口连接方式 | 0 |
| ListenSwitchCmdEnabled | Boolean | ✗ | false | 面板串口SwitchCMD命令使能 | false |
| ListenSwitchCmd | String | ✗ | false | 面板串口SwitchCMD命令 | - |
4.2 UartCircularLog对象配置介绍
此对象用于配置UART循环日志功能。
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| Id | U8 | ✓ | false | UART日志ID | - |
| LogDirection | U8 | ✗ | false | 日志方向 | - |
| RxSize | U8 | ✗ | false | 接收缓冲区大小 | - |
| TxSize | U8 | ✗ | false | 发送缓冲区大小 | - |
| IsSysCom | U8 | ✗ | false | 是否系统串口 | - |
| LogEnable | U8 | ✗ | false | 日志使能 | - |
| AutoCollect | U8 | ✗ | false | 自动收集 | - |
| LastOffset | U32 | ✗ | false | 上次偏移量 | - |
| SystemId | U8 | ✓ | false | 系统ID | 255 |
| LogFileName | String | ✗ | false | 日志文件名 | - |
4.3 NandInfo对象配置介绍
此对象用于配置NAND Flash的基本信息。
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| VID | U8 | ✓ | false | 厂商ID | - |
| Vendor | String | ✓ | false | 厂商名称 | - |
| LifeThreshold | U8 | ✓ | false | 寿命阈值 | - |
| WriteThreshold | U8 | ✓ | false | 写阈值 | - |
| DftLifeThreshold | U8 | ✓ | false | 默认寿命阈值 | - |
| ProductName | String | ✓ | false | 产品名称 | `` |
| MaxWriteTimes | S16 | ✓ | false | 最大写入次数 | -1 |
| LifeInfoOffset | U16 | ✓ | false | 寿命信息偏移量 | 269 |
4.4 BMCFileSystemCheck对象配置介绍
此对象用于配置BMC文件系统健康检查功能。
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| Id | U8 | ✓ | false | 文件系统检查ID | - |
| Enabled | U8 | ✗ | false | 文件系统健康检查使能,状态定义0:禁止;1:使能 | - |
| MountType | U8 | ✗ | false | 数据分区挂载方式,0:Read-Write;1:Read-Only | - |
4.5 SerialSwitchAction对象配置介绍
此对象用于配置串口切换动作的寄存器关联。
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| SerialSwitchAccessor | U8 | ✓ | false | 串口切换关联第一级寄存器, CPLDValue对应的寄存器 | 255 |
| RemoteAccessor | U8 | ✓ | false | 串口切换关联第二级寄存器 | 255 |
4.6 McuLog对象配置介绍
此对象用于配置MCU日志相关参数。
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| SystemId | U8 | ✓ | false | 系统ID | - |
| ValidSlot | Boolean | ✓ | false | 有效Mcu片 | - |
| BoardLogChip | U8[] | ✓ | false | 板载日志芯片 | - |
| GetLenthCmd | U32 | ✗ | false | 读取flash长度命令 | - |
| SetStartPosCmd | U32 | ✗ | false | 设置读取flash起点命令 | - |
4.7 UartDynamicConfig对象配置介绍
此对象用于配置支持动态配置的串口参数。
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| SysComId | U8 | ✗ | false | 支持动态配置的输入端口Id, Uart:0~15,Port:16~31 | - |
| RawConfigData | U64 | ✗ | false | 从cpld获取到的原始串口配置数据 | 0 |
| BaudRate | U32 | ✗ | false | 从cpld获取到的串口波特率配置 | 115200 |
| DataBit | U8 | ✗ | false | 从cpld获取到的串口数据位长配置 | 8 |
| ParityBit | U8 | ✗ | false | 从cpld获取到的串口校验开关配置 | 78 |
| StopBit | U8 | ✗ | false | 从cpld获取到的串口停止位配置 | 1 |
| FlowControl | U8 | ✗ | false | 从cpld获取到的串口控制流配置 | 0 |
4.8 NandFlashRecord对象配置介绍
此对象用于记录NAND Flash的历史数据,表类型为PoweroffPer。
| 属性名 | 数据类型 | 只读 | emitsChangedSignal | 描述 | 示例值 |
|---|---|---|---|---|---|
| RecordId | U32 | ✓ | false | 记录ID(主键) | - |
| Time | U32 | ✓ | false | 该条数据记录时的时间戳 | - |
| WriteAmount | String | ✓ | false | nandflash写入量 | - |
| RemainingLife | U32 | ✓ | false | nandflash剩余寿命 | - |
| ReservedBlocks | S32 | ✓ | false | 剩余预留块 | - |
| BadBlocks | S32 | ✓ | false | 坏块数量 | - |
| EraseCount | S32 | ✓ | false | 擦除次数 | - |
5. 日志说明
5.1 一键日志收集
| 文件路径 | 内容说明 |
|---|---|
| dump_info/AppDump/bmc_soc/nandflash_info.txt | 记录NAND Flash信息,包括NAND Flash写入量、剩余寿命、剩余预留块、坏块历史数据记录等 |
5.2 关键日志信息
| 日志片段 | 日志级别 | 含义解读 | 建议处理动作 |
|---|---|---|---|
| download failed, the sol is disabled | ERROR | SOL未使能 | 确保SOL使能后再收集串口日志 |
| bmc_soc start failed, err: %s | ERROR | bmc_soc组件服务没起来 | 根据具体的报错信息定位失败原因 |
6. 问题定界指南
6.1 典型问题定界
| 现象描述 | 是否为本组件问题 | 判断依据 | 关键证据收集方法 |
|---|---|---|---|
6.2 调试方法
开启调试日志
busctl资源协作接口方法调试见文档第二章节
查看串口连接
ipmcget -d serialdir切换串口
ipmcset -d serialdir -v
Usage: ipmcset -d serialdir -v <option> [-s <systemid>]
Options are:
0 Serial switch from PANEL COM to SYS COM
1 Serial switch from SOL COM to SYS COM
2 Serial switch from SOL COM to BMC COM
3 Serial switch from PANEL COM to BMC COM
4 Serial switch from SOL COM to CARD COM1
5 Serial switch from SOL COM to CARD COM2
254 Serial switch from PANEL COM to CLOSE切换SOL
ipmcset -t sol -d ac -v
Usage: ipmcset -t sol -d activate -v <option> <mode> [-s <systemid>]
Options are:
1 SYS COM
2 BMC COM
4 CARD COM1
5 CARD COM2
Mode :
0 Shared mode
1 Private mode导出串口数据
/redfish/v1/Managers/:managerid/DiagnosticService/Actions/DiagnosticService.ExportSerialPortDataipmcget -d systemcom7. 常见问题解答
Q1:NAND Flash寿命监控告警
关键日志: NAND Flash寿命低于阈值时,系统会产生告警信息。
处理方法:
检查
NandInfo对象中的LifeThreshold配置查看
NandFlash资源协作接口的LifeTime和PreEOL属性关注
NandFlashRecord表中的历史数据记录
Q2:SOC温度过高
关键日志: SOC温度超过 TemperatureThreshold 阈值时触发告警。
处理方法:
检查SOC资源协作接口的
Temperature和TemperatureThreshold属性根据需要调整
CoreEnableTemp和CoreDisableTemp配置当温度过高时,SOC可能自动关闭部分核心以降低温度
Q3:串口连接状态异常
关键日志: 串口连接状态与预期不符时产生告警。
处理方法:
检查
SerialManagement资源协作接口的连接状态验证
RetainedPolicy配置(掉电保留/复位保留)检查
CPLDValue和ConnectMode配置是否正确
附录
附录A 参考资料
附录B 修订记录
| 版本 | 日期 | 修订人 | 修订内容 |
|---|---|---|---|
| v1.0 | 2026-05-09 | mkdlf | 修改文档格式,补充API、日志说明、常见问题解答 |