代码仓
中
frudata
更新时间: 2026/11/11
在AtomGit上查看源码

frudata ​

版本信息 ​

项目内容
组件版本1.70.90
首发版本openUBMC 25.3.0
文档作者openUBMC
最后更新2026-11-05

1. 组件概述 ​

1.1 组件简介 ​

frudata 是 openUBMC 中负责电子标签(FRU / E-Label)管理的组件。电子标签是存储在 EEPROM、文件或 MCU 等存储介质中的设备身份信息,包含主板、Raid 卡、Riser 卡、硬盘背板等部件的序列号、部件号、产品名称、资产标签等数据。

frudata 组件在系统中的定位:

  • 对标准电子标签,直接由 frudata 组件将存储在 EEPROM 和文件中的数据按域(Area)和字段(Field)解析出来,并维护到资源协作接口资源树上;
  • 对非标准电子标签,由多样化硬件 APP 负责数据读写和解析,将数据发送给 frudata,由 frudata 统一对外提供电子标签的读写接口;
  • 统一承接北向(Web、CLI、Redfish)与 IPMI 的电子标签读写、清除、更新命令。

1.2 解决什么问题 ​

  • 电子标签统一管理:不同硬件(EEPROM、文件、MCU、天池规范、标准 FRU 规范)的电子标签存储格式不同,frudata 屏蔽了存储介质与格式差异,对外提供统一的读写接口;
  • 序列号/部件号追溯:为服务器各部件的资产追溯、SN 替换检测提供数据支撑;
  • 制造与维修效率:支持装备阶段(DFT)对 EEPROM 进行读写测试与电子标签定制化,提升产线与维修效率;
  • 系统信息呈现:为 Web、Redfish 提供系统产品名称、序列号等整机配置信息的查询能力。

1.3 核心功能 ​

  • 标准电子标签读写:支持天池规范(TianChi)、标准 FRU 规范(EepromV2)电子标签的读取、写入、清除、更新;
  • 非标电子标签管理:支持 File、MCU、MCUFan、CustomOffsetEeprom、只读标准 EEPROM(ROStdEeprom)、非标(NonStandard)等存储介质;
  • 资源协作接口:通过 MDB/D-Bus 资源树对外呈现 FruData、Fru、Component、Components 等对象;
  • IPMI 命令:支持 IPMI 电子标签读写、清除、更新,以及 PICMG 标准命令和大量 OEM 设备信息查询命令;
  • 部件管理:Component 对象管理部件信息(内存、硬盘、风扇等),支持 Health 同步与 SN 替换检测;
  • FruId 分配管理:自动为 Fru/FruData 对象分配 FruId,支持保留 FruId 配置;
  • 配置导入导出:支持电子标签定制化配置的导入、导出与校验。

1.4 关键术语表 ​

术语解释
E-Label / 电子标签存储在 EEPROM 等介质中的设备身份信息,包含序列号、部件号、产品名称等
FRUField Replaceable Unit,现场可替换单元,如主板、Raid 卡、Riser 卡、硬盘背板
FRU Data记录 FRU 信息的电子标签数据
Area电子标签的域,如 Chassis Info Area、Board Info Area、Product Info Area、System Info Area 等
Field域内的字段,如序列号、部件号、资产标签等
StorageType存储介质类型,如 TianChi、EepromV2、File、MCU 等
EEPROM电可擦可编程只读存储器,电子标签的主要存储介质
FruIdFRU 设备 ID,用于标识不同 FRU,1-63 自动分配,0 保留给挂耳

1.5 外部交互边界图 ​

1.6 IPMI命令 ​

  • 具体参数参考本组件配置文件ipmi.json
方法描述
ClearElabelData清除电子标签
WriteElabelData设置电子标签
ReadElabelData查询电子标签
UpdateElabelData更新电子标签
GetPicmgProperties获取PICMG属性
GetAddressInfo获取地址信息
ComputePowerProperties计算功率属性
GetFruidInfo获取FRU信息
IpmiWriteFrudata写入FRU数据
GetComponentInfo获取组件信息
IpmiDftCustom设置定制化配置(Customize Flag)
IpmiGetDftCustom查询DFT全局参数(Customize Flag)
FruControlCapabilitiesFRU控制能力
GetFruInventory获取FRU库存区域信息
GetFruidFromUid通过UID获取组件的Fruid
ReadFruData读取FRU数据
GetComponentPositionInfo获取部件位置信息
GetDevicePresence获取设备信息(在位状态)
GetDeviceHealth获取设备信息(健康状态)
GetDeviceBoardID获取设备信息(BoardID)
GetDeviceLocation获取设备信息(物理位置)
GetDeviceFunction获取设备信息(功能组或逻辑分组)
GetDeviceName获取设备信息(名称)
GetDeviceGroupID获取设备信息(设备所属组ID)
GetDeviceFruid获取设备信息(Device ID)
GetDeviceUniqueId获取设备信息(组件唯一标识)
GetGeneralDeviceManufacture获取设备信息(设备厂商名称)

1.7 配置介绍 ​

json
"Eeprom_EXU": {
  "OffsetWidth": 2,
  "AddrWidth": 1,
  "Address": 174,
  "WriteTmout": 100,
  "ReadTmout": 100,
  "RwBlockSize": 32,
  "WriteInterval": 20,
  "HealthStatus": 0
},
"Accessor_EXUWP": {
  "Chip": "#/Smc_ExpBoardSMC",
  "Size": 1,
  "Offset": 11776,
  "Mask": 255,
  "Type": 0,
  "Value": 0
},
"FruData_Expander": {
  "FruId": 1,
  "FruDev": "#/Eeprom_EXU",              -- 关联eeprom
  "EepromWp": "#/Accessor_EXUWP.Value",  -- 关联写保护寄存器
  "StorageType": "TianChi"               -- 存储介质类型
},
"Fru_Expander": {
  "PcbId": 1,                         -- 需要关联到硬件, 从硬件读取Id
  "PcbVersion": ".A",                 -- PCB版本
  "FruId": 1,
  "FruName": "ExpBoard{Slot}",
  "PowerState": 1,
  "Health": 0,
  "EepStatus": "<=/Eeprom_EXU.HealthStatus",
  "Type": 50,
  "FruDataId": "#/FruData_Expander",  -- EEPROM状态, 当此属性关联到Accessor时进行EEPROM的监控
  "ConnectorGroupId": "{GroupId}",    -- 关联Anchor的GroupId
  "BoardId": 65535,                   -- 非天池:组件单板BoardID
  "UniqueId": "00000001010302023922"  -- 天池:组件唯一标识,Vendor + ComponentID
}

1.8 组件 eeprom头定义 ​

整体偏移域域内偏移段段含义
0Eeprom Header0规范码天池规范校验码(只校验高4Byte: "0xA55A55A") eeprom header 域内偏移,预留8个字节,防篡改。
12SPEC Version天池规范版本,本次更新为0x02(此前为0x1)
13电子标签域偏移(Elable Address)电子标签的整体偏移,字长为2 Bytes
15OEM定制区域1 -- System Information BMC 使用OEM定制区域(产品定制化信息等)
17OEM定制区域2 -- 内部使用域(Internal Use Area Address) --硬件 MCU使用内部使用域的整体偏移,字长为2 Bytes
19产品子描述记录域偏移PSR(即产品自描述记录)域的整体偏移,字长为2 Bytes
...............
ElableElable0电子标签内容电子标签内容(长度2k)
...............
System InformationSystem0System域内容System域内容(定制化信息)

注意事项:

  1. fruid配置为1-63会自动分配fruid,默认可以配为1
  2. fruid为0保留给挂耳,配置64-255不会进行fruid分配
  3. Fru里面的FruDataId需要关联到对应的Frudata对象
  4. 天池规范的电子标签配置为TianChi,非天池的规范的标准电子标签配置为EepromV2
  5. 非标电子标签StorageType可以配为MCU等,不做限制

2. API 使用说明与示例 ​

2.1 SetProductAssetTag 设置产品资产标签 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.SetProductAssetTag                 method    a{ss}ys               -                      -

功能说明 ​

设置指定 FRU 的产品资产标签(AssetTag)。该接口将资产标签写入电子标签的 Product Info Area(area 3 / field 5),并同步更新资源协作接口对象属性。

属性内容
接口名bmc.kepler.FrudataService.Frudata
首发版本openUBMC 25.3.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
FruId输入y (U8)电子标签 ID0-255
AssetTag输入s (String)资产标签内容合法字符串

返回值与异常 ​

该方法无返回值,执行结果通过 D-Bus 异常(Error)上报:调用成功时无返回内容;执行失败时抛出如下异常。

异常类型含义触发条件处理建议
InternalError内部错误AssetTag 入参校验失败(含非法字符或超长,validate_byte(3,5))检查资产标签内容是否合法

说明:写入 EEPROM 失败时仅记录日志,不抛出异常,需通过日志确认写入结果。

应用场景 ​

  • Web 页面为服务器设置资产标签;
  • 维修或资产管理时更新资产标签。

限制条件 ​

  • 需要 BasicSetting 及以上权限;
  • 对只读或非标电子标签(NonStandard / ROStdEeprom)不支持写入。

调试示例 ​

bash
busctl --user call bmc.kepler.frudata /bmc/kepler/Systems/1/FruDatas/FruData_Fru0_010104 \
    bmc.kepler.FrudataService.Frudata SetProductAssetTag a{ss}ys 0 0 "ABCD-123456"

2.2 SetSysProductName 设置系统产品名称 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.SetSysProductName                  method    a{ss}ys               -                      -

功能说明 ​

设置指定 FRU 的系统产品名称(System Product Name)。该接口将产品名写入电子标签的 System Info Area,并同步更新资源协作接口对象属性。

属性内容
接口名bmc.kepler.FrudataService.Frudata
首发版本openUBMC 25.3.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
FruId输入y (U8)电子标签唯一标识FruId0-255
ProductName输入s (String)系统产品名称合法字符串

返回值与异常 ​

该方法无返回值,且不抛出 D-Bus 异常,异常情况仅记录日志,需通过日志确认执行结果。

异常情况含义触发条件处理建议
FruId 不为 0仅 FruId 为 0 的电子标签才有 System 域,其余直接返回FruId 非 0仅对 FruId=0 的电子标签设置产品名
ProductName 校验失败写入被跳过产品名含非法字符或超长(validate_byte(6,1))检查产品名内容是否合法

应用场景 ​

  • 设置整机系统产品名称,供 Web/Redfish 呈现。

限制条件 ​

  • 需要 BasicSetting 及以上权限;
  • 对只读或非标电子标签不支持写入。

调试示例 ​

bash
busctl --user call bmc.kepler.frudata /bmc/kepler/Systems/1/FruDatas/FruData_Fru0_010104 \
    bmc.kepler.FrudataService.Frudata SetSysProductName a{ss}ys 0 0 "TaiShan 200"

2.3 Update 更新非标电子标签 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.Update                             method    a{ss}asas             -                      -

功能说明 ​

用于非标电子标签(MCU、File 等存储类型)更新资源协作接口属性。调用方将属性名列表与属性值列表传入,frudata 将其写入非标电子标签的持久化区域并刷新资源树。

属性内容
接口名bmc.kepler.FrudataService.Frudata
首发版本openUBMC 25.3.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
PropertyName输入as (String[])电子标签属性名称数组合法属性名
Value输入as (String[])电子标签属性名称数组,与属性名一一对应合法字符串

返回值与异常 ​

该方法无返回值,执行结果通过 D-Bus 异常(Error)上报:调用成功时无返回内容;执行失败时抛出如下异常。

异常类型含义触发条件处理建议
InvalidObject入参无效property_name 或 value 为 nil检查入参是否为空
WrongArrayLength数组长度不匹配属性名列表与属性值列表长度不一致保证两个数组一一对应且长度一致

说明:单个属性值校验失败(含特殊字符)时仅跳过该属性,不抛出异常;写入 EEPROM 失败仅记录日志。

应用场景 ​

  • 硬件 APP 解析非标电子标签后将数据上报 frudata;
  • 外部进程批量更新非标电子标签属性。

限制条件 ​

  • 需要 BasicSetting 及以上权限;
  • 属性名列表与属性值列表长度需一致。

调试示例 ​

bash
busctl --user call bmc.kepler.frudata /bmc/kepler/Systems/1/FruDatas/FruData_MCU_1 \
    bmc.kepler.FrudataService.Frudata Update a{ss}asas 0 1 "ProductSerialNumber" 1 "SN1234567890"

2.4 GetComponentTypes 获取部件类型列表 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.GetComponentTypes                  method    a{ss}                 a(ys)                  -

功能说明 ​

获取当前资源树上存在的所有部件的类型列表,供 Web 页面按部件类型筛选系统事件。

属性内容
接口名bmc.kepler.Systems.Components
首发版本openUBMC 25.3.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
ComponentTypes输出a(ys)部件类型数组,每项为 {ComponentType, ComponentName}-

返回值与异常 ​

该方法返回部件类型数组(a(ys),每项为 {ComponentType, ComponentName}),正常执行不抛出异常;资源树上无可用部件时返回空数组。

返回值含义触发条件处理建议
a(ys)部件类型列表正常执行完成无
空数组无可用部件资源树上无部件对象或部件类型不在支持列表检查部件是否在位

应用场景 ​

  • Web 系统事件页面按部件类型筛选。

限制条件 ​

  • 需要 User 及以上权限。

调试示例 ​

bash
busctl --user call bmc.kepler.frudata /bmc/kepler/Systems/1/Components \
    bmc.kepler.Systems.Components GetComponentTypes a{ss} 0

响应:a(ys) 20 0 "CPU" 1 "Memory" 2 "Disk" 3 "PSU" 4 "Fan" 5 "Disk Backplane" 8 "PCIe Card" 13 "NIC" 18 "Chassis" 24 \
    "Fan Backplane" 26 "BMC" 36 "CPU Board" 40 "Cable" 41 "Port" 43 "PHY" 44 "System" 49 "Button" 93 "Expand Board" 196 "CLU" 193 "EXU"

2.5 UpdateHealth 更新部件健康状态 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.UpdateHealth                       method    a{ss}y                -                      -

功能说明 ​

更新指定 Component 对象的健康状态(Health),供 event 组件等外部模块上报部件健康变化。

属性内容
接口名bmc.kepler.Systems.Component
首发版本openUBMC 25.3.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
Health输入y (U8)健康状态0=Normal、1=Minor、2=Major、3=Critical

返回值与异常 ​

该方法无返回值,且不抛出 D-Bus 异常,异常情况仅记录日志。

异常情况含义触发条件处理建议
Health 值非法更新被忽略Health 不在 0-3(Normal/Minor/Major/Critical)范围内传入合法健康状态值
Health 未变化更新被跳过Health 与当前值相同无需处理

说明:SyncHealthEnabled 为 true 时,会异步将同名组件的健康状态同步为最差值。

应用场景 ​

  • event 组件上报部件告警时更新部件健康状态。

限制条件 ​

  • 需要 BasicSetting 及以上权限。

调试示例 ​

bash
busctl --user call bmc.kepler.frudata /bmc/kepler/Systems/1/Components/Component_1 \
    bmc.kepler.Systems.Component UpdateHealth a{ss}y 0 2

2.6 GetFruDataList 获取FruData列表 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.GetFruDataList                     method    a{ss}                 a(a{ss})               -

功能说明 ​

获取资源树上所有可访问的 FruData(电子标签)对象信息列表。该接口遍历 class_mgnt('FruData') 中全部 FruData 对象,按 FruId 去重后返回每个 FRU 的电子标签概要信息,供北向一次性拉取系统中所有电子标签数据。

属性内容
接口名bmc.kepler.Chassis.FruDatas
首发版本openUBMC 25.9.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
FruDataList输出a(a{ss})FruData 对象信息数组,每个元素为 {Items: a{ss}} 键值对字典-

返回的 Items 字典(key/value 均为字符串)包含以下字段:

字段描述
FruIdFRU 设备 ID(字符串形式)
FruNameFRU 名称
ChassisType、ChassisPartNumber、ChassisSerialNumber、ChassisCustomInfo机箱信息(类型、部件号、序列号、定制信息)
MfgDate生产日期
BoardManufacturer、BoardProductName、BoardSerialNumber、BoardPartNumber、BoardFRUFileID、BoardCustomInfo板卡信息(厂商、产品名、序列号、部件号、FRU 文件 ID、定制信息)
ManufacturerName、ProductName、ProductPartNumber、ProductVersion、ProductSerialNumber、AssetTag、ProductFRUFileID、ProductCustomInfo产品信息(厂商、产品名、部件号、版本、序列号、资产标签、FRU 文件 ID、定制信息)

返回值与异常 ​

该方法返回 FruData 列表(a(a{ss})),正常执行不抛出异常;无可用 FruData 时返回空数组。

返回值含义触发条件处理建议
a(a{ss})FruData 列表正常执行完成无
空数组无可用 FruData资源树上无 FruData 对象或对象均不可访问检查 CSR 配置与硬件在位状态

应用场景 ​

  • Web/CLI 页面一次性拉取系统中所有电子标签的概要信息,用于资产展示;
  • 系统部件管理页面获取各 FRU 的序列号、部件号、产品名称等基本信息;
  • DFT 装备阶段校验电子标签数据完整性。

限制条件 ​

  • 需要 User 及以上权限;
  • 仅返回 FruDevAccessAllowed 为 true(设备可访问)的 FruData 对象,硬件未就绪或对象未分发时对应数据不会出现在结果中;
  • 相同 FruId 只返回一次,且返回字段均为字符串类型。

调试示例 ​

bash
busctl --user call bmc.kepler.frudata /bmc/kepler/Chassis/1/FruDatas \
    bmc.kepler.Chassis.FruDatas GetFruDataList a{ss} 0

响应: a(a{ss}) 9 21 "BoardPartNumber" "" "BoardManufacturer" "aaaaaaaaaa" "ChassisCustomInfo" "" \
    "ChassisSerialNumber" "" "ChassisPartNumber" "" "ChassisType" "" "FruName" "BMC" "FruId" "0" \
    "BoardSerialNumber" "" "BoardProductName" "" "MfgDate" "1996/01/01 Mon 00:00:00" "ProductVersion" "" \
    "ProductSerialNumber" "" "ProductPartNumber" "" "ProductName" "DDG" "ProductFRUFileID" "1.0" \
    "ProductCustomInfo" "" "ManufacturerName" "Huawei" "AssetTag" "HUAWEI-123456" "BoardCustomInfo" "" \
    "BoardFRUFileID" "1.0"

3. 组件扩展案例 ​

3.1 扩展能力概述 ​

frudata 组件支持通过以下方式扩展:

  • 存储介质类型扩展:通过实现新的 StorageType 对象类,支持新的电子标签存储介质;
  • CSR 配置定制:通过 root.sr / platform.sr 中的 CSR 配置声明电子标签对象及关联关系,无需改代码即可适配新机型;
  • 定制化配置:支持通过 IPMI 定制化命令(IpmiDftCustom / IpmiGetDftCustom)设置定制化标志。

3.2 扩展点说明 ​

扩展点位置作用与触发时机
StorageType 对象类src/lualib/frudata_object/ 目录新增存储介质时,在 frudata_service.lua 的 new_frudata 中注册新的 StorageType
CSR 配置root.sr / platform.sr声明 Eeprom、FruData、Fru、Component 等对象,系统上电时由硬件自发现分发
IPMI 命令mds/ipmi.json + src/lualib/fru_ipmi.lua新增 OEM IPMI 命令时定义命令并在 fru_ipmi.lua 注册处理函数

4. 日志说明 ​

4.1 一键日志收集 ​

执行系统一键日志收集功能时,会自动收集 frudata 组件的运行日志,日志文件位于 /data/var/log/bmc/ 下:

文件路径内容说明
/data/var/log/bmc/frudata.logfrudata 组件运行日志,包含对象增删、电子标签读写、IPMI 处理等

4.2 关键日志信息 ​

日志片段日志级别含义解读建议处理动作
read eeprom data failed(%d), sleep 10sERROR读取 EEPROM 数据失败,将重试检查 EEPROM 硬件与 I2C 链路
write_fru_area_to_eep failedERROR写入 EEPROM 失败检查写保护寄存器状态与 I2C 链路
Input %s invalidWARN输入参数非法检查调用参数
Write fru%d standard data(RAW:%s)INFOIPMI 写标准 FRU 数据无需处理
fruid(%s) invalidWARNFruId 非法检查 FruId 是否在合法范围

5. 问题定界指南 ​

5.1 典型问题定界 ​

现象描述是否为本组件问题判断依据关键证据收集方法
电子标签读不出来是frudata 日志出现 read eeprom data failed收集 frudata.log 与 I2C 链路日志
电子标签写不进去是写入接口返回失败,写保护未解除收集写入日志与写保护寄存器状态
Web 页面部件类型筛选为空否可能为 Component 对象未分发或 Web 问题通过 busctl 查询 Components 对象是否存在
序列号显示异常是/否可能是电子标签数据本身异常或 SN 替换检测误判对比 EEPROM 原始数据与资源树属性

5.2 错误码速查表 ​

错误码含义可能原因排查建议
0xC1Invalid command命令非法检查命令格式
0xC9Parameter out of range参数超范围检查参数取值
0xCCInvalid data field请求数据字段非法检查请求数据
0xC7Request data length invalid请求数据长度非法检查请求长度
0xD3Destination unavailable目标不可用(对象未分发)检查对象是否在资源树上
0xD5Not supported in present state当前状态下不支持检查访问条件 FruDevAccessAllowed
0x80IPMI command cannot execute访问条件不满足(FruDevAccessAllowed=false)等待硬件就绪后重试

5.3 调试方法 ​

开启调试日志 ​

在非 Release 构建下,frudata 注册 FrudataDebug 命令 eraseeeprom(实现于 src/debug/lualib/erase_eeprom.lua),可用于擦除 EEPROM 区域以复现问题。

复现问题方法 ​

  1. 前置条件设置:构造包含电子标签的 CSR 配置;
  2. 操作步骤:系统上电后通过 IPMI 读写电子标签;
  3. 预期现象:读写成功且资源树属性同步更新。

6. 常见问题解答 ​

Q1:电子标签读取失败如何处理? ​

  • 问题描述:IPMI 读取电子标签返回失败
  • 一句话答案:检查 EEPROM 硬件链路与访问条件
  • 根因说明:EEPROM 未正常上电、I2C 链路异常或 FruDevAccessAllowed=false
  • 解决方案:确认硬件在位,等待访问条件满足后重试;查看 frudata.log 中 read eeprom data failed 日志
  • 规避方案:无
  • 适用版本:所有版本
  • 相关文档链接:无

Q2:电子标签写入失败如何处理? ​

  • 问题描述:IPMI 写入电子标签返回失败
  • 一句话答案:检查写保护寄存器是否解除
  • 根因说明:EEPROM 写保护未解除或写入校验失败
  • 解决方案:确认 EepromWp 写保护寄存器配置正确,检查写入日志
  • 规避方案:无
  • 适用版本:所有版本
  • 相关文档链接:无

Q3:FruId 是如何分配的? ​

  • 问题描述:不清楚 FruId 分配规则
  • 一句话答案:1-63 自动分配,0 保留给挂耳,64-255 不分配
  • 根因说明:FruId 分配遵守 MaxAutoAllocFruId(默认 63)与 ReservedFruIds 配置
  • 解决方案:按规则规划 FruId 配置
  • 规避方案:无
  • 适用版本:所有版本
  • 相关文档链接:无

Q4:什么是天池规范与非标电子标签? ​

  • 问题描述:StorageType 如何选择
  • 一句话答案:天池规范配 TianChi,标准 FRU 配 EepromV2,非标可配 MCU 等
  • 根因说明:不同存储介质格式不同
  • 解决方案:按硬件实际存储格式配置 StorageType
  • 规避方案:无
  • 适用版本:所有版本
  • 相关文档链接:无

Q5:SN 替换检测是如何触发的? ​

  • 问题描述:部件更换后序列号变化
  • 一句话答案:frudata 监测 SerialNumber 变化并更新 PreviousSN 与 ReplaceFlag
  • 根因说明:sn_replace.lua 的 check_replace_event 检测序列号变化
  • 解决方案:正常更换部件后,ReplaceFlag 会置位用于事件上报
  • 规避方案:无
  • 适用版本:所有版本
  • 相关文档链接:无

附录 ​

附录A 参考资料 ​

附录B 修订记录 ​

版本日期修订人修订内容
v1.02026-04-16openUBMC依据 docs_intro 模板完善 frudata 组件接口说明
v1.12026-11-05openUBMC完善 frudata 组件接口说明