RAID扣卡适配,完成了Controller对象的加载,但是RAID信息获取不到

问题描述

引用问题链接: RAID扣卡适配求助

引用回答里面的方案2,目前已经完成了Controller对象的加载,但是RAID信息还是获取不到,应该如何处理?

方案二:修改Controller加载逻辑(需代码变更)

修改建议点:

放宽before_add_object中对DeviceName的校验条件

当前强制要求为PCIe Card X,可改为支持RAID Card X

答案内容由AI生成,仅供参考:

总结

您已完成 Controller 对象加载(放宽校验),但 RAID 信息获取需依赖后续的链路建立、SML 注册和周期性更新任务。建议从 MCTP/I2C 通信状态SML 服务健康c_controller:start() 是否触发 三个方向重点排查。同时注意去掉 PCIeDevice 可能带来的其他组件影响,必要时模拟关键数据(如槽位号)以保证 storage 内部流程完整。

点击此处查看详细分析解答

根据您提供的信息,您已成功加载 Controller 对象(通过放宽 before_add_objectDeviceName 的校验),但后续 RAID 信息仍无法获取。结合知识库及文档内容,以下分析可能的原因及对应的处理建议。


可能原因与处理建议

1. PCIe 链路/拓扑信息缺失,导致 storage 组件无法触发信息更新

  • 背景:在标准流程中,pcie_device 组件需先识别 PCIe 设备(包括 RAID 卡),再调用 storage 模块。RAID 扣卡缺乏 BDF 上报,PCIeDevice 对象无法自动创建,你已通过修改加载逻辑绕过了该限制,但 storage 组件的部分初始化逻辑仍依赖 PCIe 拓扑信息(如槽位号)来标识控制器。
  • 文档引用
    • [文档块8] :pcie_device 识别到 RAID 卡 CSR 后,会调用 storage 模块获取 RAID 卡信息。
    • [文档块5] :环境会先加载 pcie 对象,再加载 controller 对象。
  • 建议
    • 检查 storage 组件的 bus_monitor_service 是否正常启动(日志应有 storage NOTICE: bus_monitor_service.lua)。
    • 如果去掉了 PCIeDevice 关联,需手动提供或模拟必要的槽位信息(如 ${Slot}),确保 Controller 对象的 DeviceName 能被 storage 正确索引。可参考文档中的方案:直接去掉 PCIeDevice 关联并将槽位号改为 ${Slot} 获取,但需确认 Slot 变量在环境中已定义。

2. MCTP/I2C 通信链路未正常建立

  • 背景:RAID 卡信息获取依赖带外管理通道。对于 MCTP 通道的 RAID 卡,须先确认 MCTP 链路已通,然后将控制器注册到 SML 库,最后才开始轮询信息。若链路未开或 SML 注册失败,则无法获取任何数据。
  • 文档引用
    • [文档块4]:使用 mctp 协议的 RAID 卡时,要先确认 mctp 链路已通,再将控制器在 mctp 中注册节点,然后注册到 sml 库,最后轮询。
    • [搜索结果1]:Controller_1 执行 add_controller_to_sml()smld lua service 挂死,导致 RAID 信息无法获取,大量字段为 N/A。
  • 建议
    • 检查 MCTP 通信状态(如通过 mctp 工具或日志确认目标地址可达)。
    • 检查 smld lua service 是否正常,若挂死需重启或排查死锁原因。
    • 确保在代码中正确调用了 sml.register_controller(ctrl_index) 并设置了相应的 I2C chip 或 MCTP 回调(参考文档块10)。

3. Controller 初始化后的更新任务未触发

  • 背景Controller 对象加载后,需手动或自动调用 c_controller:start() 以启动周期性更新任务(包括获取控制器信息、物理盘列表、逻辑盘列表等)。如果 start 没有被触发,则永远不会去拉取 RAID 信息。
  • 文档引用
    • [文档块8]:初始化完成后,开始更新 RAID 卡信息,调用 c_controller:start(),并启动一系列 start_update_task
    • [文档块5]:Controller 加载后进入 ctorinit,然后打印 controller init obj.Id = ...
  • 建议
    • 确认在代码中调用了 c_controller:start()(通常在 init 中或 CSR 加载完成后触发)。
    • 检查日志是否打印了 self:start_update_task() 等字样,若无则说明启动流程未完成。

4. PCIeDevice 对象去掉后的副作用

  • 背景:你已去掉 PCIeDevice 关联,这可能影响其他依赖该对象的组件(如 pcie_device、SR 配置加载等),导致 storage 组件无法正确获取设备位置或能力描述。
  • 文档引用
    • [文档块1/3] 中的主要疑问:PCIeDevice 对象整个去掉,会不会影响到哪些功能? 分析可能不够全面,因为 RAID 卡配置涉及 pcie_devicestorage 两个组件。
  • 建议
    • 检查 pcie_device 组件是否仍有相关告警或错误。如果去掉后没有其他依赖,可暂时忽略,但后续若需要获取 PCIe 槽位信息(例如热插拔、定位灯),可能需要补充模拟数据。
    • 建议在测试环境中对比保留 PCIeDevice 与去掉后的行为差异,确保仅 Controller 加载成功而其他组件无异常。

综合排查步骤

  1. 检查日志

    • 搜索 storage NOTICE:controller initstart_update_task 等关键日志,确认初始化流程是否按预期执行。
    • 搜索 smld 相关日志,确认 SML 服务是否正常,有无超时或挂死记录。
  2. 验证 MCTP/I2C 链路

    • 如果 RAID 扣卡使用 MCTP 通道,使用平台命令查看 MCTP 端点是否已注册(例如 mctp list)。
    • 如果是 I2C 通道,确认 hwproxyblockio 对象已正确绑定。
  3. 确认 SML 注册

    • 在代码中检查是否调用了 sml.register_controller(ctrl_index),且为 MCTP 通道设置了回调(sml.set_mctp_callback)。
    • 可尝试通过 SML 测试接口(如 sml.get_version)验证库是否就绪。
  4. 补充模拟 PCIe 信息

    • 如果确定去掉 PCIeDevice 是必要的,可以在 Controller 对象中手动设置 SlotIdDeviceName 属性,使 storage 内部依赖能正常解析。
  5. 参考社区类似问题

    • [搜索结果1] 中描述了双 RAID 卡场景下 smld lua service 挂死的问题,可参考其排查方法:检查 app.logframework.log 中与 add_controller_to_sml 相关的调用链。

总结

您已完成 Controller 对象加载(放宽校验),但 RAID 信息获取需依赖后续的链路建立、SML 注册和周期性更新任务。建议从 MCTP/I2C 通信状态SML 服务健康c_controller:start() 是否触发 三个方向重点排查。同时注意去掉 PCIeDevice 可能带来的其他组件影响,必要时模拟关键数据(如槽位号)以保证 storage 内部流程完整。

sr信息
{

    "FormatVersion": "3.00",

    "DataVersion": "3.00",

    "Unit": {

        "Type": "RAIDCard",

        "Name": "RAIDCard_1"

    },

    "ManagementTopology": {

        "Anchor": {

            "Buses": [

                "I2cMux_Chan"

            ]

        },

        "I2cMux_Chan": {

            "Chips": [

                "Chip_RaidChip",

                "Pca9555_Raid",

                "Eeprom_RAIDCard"

            ]

        }

    },

    "Objects": {

        "Chip_RaidChip": {

            "Address": 2,

            "AddrWidth": 1,

            "OffsetWidth": 0,

            "WriteTmout": 100,

            "ReadTmout": 100,

            "HealthStatus": 0

        },

        "Pca9555_Raid": {

            "Address": 64,

            "AddrWidth": 1,

            "OffsetWidth": 1,

            "WriteTmout": 100,

            "ReadTmout": 100,

            "HealthStatus": 0

        },

        "Accessor_PcbID": {

            "Chip": "#/Pca9555_Raid",

            "Offset": 1,

            "Size": 1,

            "Mask": 7,

            "Type": 0,

            "Value": 0

        },

        "Accessor_WP": {

            "Chip": "#/Pca9555_Raid",

            "Offset": 1,

            "Size": 1,

            "Mask": 8,

            "Type": 0,

            "Value": 0

        },

        "Eeprom_RAIDCard": {

            "Address": 174,

            "AddrWidth": 1,

            "OffsetWidth": 2,

            "WriteTmout": 100,

            "ReadTmout": 100,

            "HealthStatus": 0,

            "RwBlockSize": 32

        },

        "FruData_RaidCard": {

            "FruId": 1,

            "FruDev": "#/Eeprom_RAIDCard",

            "EepromWp": "#/Accessor_WP.Value",

            "BoardPartNumber": "N/A",

            "BoardSerialNumber": "N/A",

            "StorageType": "EepromV2"

        },

        "Fru_RaidCard": {

            "PcbId": "#/Accessor_PcbID.Value",

            "FruId": 1,

            "FruName": "XC370C-M-8i 4G",

            "ConnectorGroupId": "${GroupId}",

            "BoardId": 255,

            "UniqueId": "N/A",

            "PcbVersion": ".A",

            "PowerState": 1,

            "Health": 0,

            "EepStatus": "<=/Eeprom_RAIDCard.HealthStatus",

            "Type": 8,

            "FruDataId": "#/FruData_RaidCard"

        },

       

        "PCIeDevice_1": {

            "DeviceName": "Raid Card $ (XC370C-M-8i 4G)",

            "FunctionClass": 1,

            "Position": "",

            "DiagnosticFault": 0,

            "PredictiveFault": 0,

            "FaultByBios": 0,

            "BandwidthReduction": 0,

            "LinkSpeedReduced": 0,

            "CorrectableError": 0,

            "UncorrectableError": 0,

            "FatalError": 0,

            "Container": "${Container}",

            "GroupPosition": "RAID Card${Slot}",

            "DeviceType": 8,

            "PCIeDeviceType": "SingleFunction",

            "SlotType": "OEM",

            "FunctionProtocol": "PCIe",

            "FunctionType": "Physical"

        },

        "Controller_1": {

            "Name": "XC370C-M-8i 4G",

            "TypeId": 14,

            "DeviceName": "Raid Card ${Slot} (XC370C-M-8i 4G)",

            "Position": "RAID Card${Slot}",

            "OOBSupport": 1,

            "SystemId": 0,

            "Segment": 0,

            "SocketId": 0,

            "DevBus": 0,

            "DevDevice": 0,

            "DevFunction": 0,

            "FaultCodeByBios": 0,

            "SlotId": "${Slot}",

            "RefChip": "#/Chip_RaidChip",

            "CtrlOption1": 2267195299,

            "CtrlOption2": 98183,

            "CtrlOption3": 32575,

            "BatteryPresence": 255,

            "BatteryFault": 0,

            "BatteryHealth": "<=/Component_Battery.Health",

            "FaultCode": 0,

            "Health": "<=/Component_RAID.Health",

            "SerialNumber": "",

            "CommunicationLoss": 0,

            "TemperatureAbnormal": 0,

            "TemperatureCelsius": 0,

            "BOMNumber": "0302Y206",

            "Model": "SAS3908",

            "ChipManufacturer": "BROADCOM"

        },

        "SASPhy_1": {

            "@Parent": "Controller_1",

            "PhyId": 1,

            "InvalidDwordCount": 0,

            "LossDwordSyncCount": 0,

            "PhyResetProblemCount": 0,

            "RunningDisparityErrorCount": 0

        },

        "SASPhy_2": {

            "@Parent": "Controller_1",

            "PhyId": 2,

            "InvalidDwordCount": 0,

            "LossDwordSyncCount": 0,

            "PhyResetProblemCount": 0,

            "RunningDisparityErrorCount": 0

        },

        "SASPhy_3": {

            "@Parent": "Controller_1",

            "PhyId": 3,

            "InvalidDwordCount": 0,

            "LossDwordSyncCount": 0,

            "PhyResetProblemCount": 0,

            "RunningDisparityErrorCount": 0

        },

        "SASPhy_4": {

            "@Parent": "Controller_1",

            "PhyId": 4,

            "InvalidDwordCount": 0,

            "LossDwordSyncCount": 0,

            "PhyResetProblemCount": 0,

            "RunningDisparityErrorCount": 0

        },

        "SASPhy_5": {

            "@Parent": "Controller_1",

            "PhyId": 5,

            "InvalidDwordCount": 0,

            "LossDwordSyncCount": 0,

            "PhyResetProblemCount": 0,

            "RunningDisparityErrorCount": 0

        },

        "SASPhy_6": {

            "@Parent": "Controller_1",

            "PhyId": 6,

            "InvalidDwordCount": 0,

            "LossDwordSyncCount": 0,

            "PhyResetProblemCount": 0,

            "RunningDisparityErrorCount": 0

        },

        "SASPhy_7": {

            "@Parent": "Controller_1",

            "PhyId": 7,

            "InvalidDwordCount": 0,

            "LossDwordSyncCount": 0,

            "PhyResetProblemCount": 0,

            "RunningDisparityErrorCount": 0

        },

        "SASPhy_8": {

            "@Parent": "Controller_1",

            "PhyId": 8,

            "InvalidDwordCount": 0,

            "LossDwordSyncCount": 0,

            "PhyResetProblemCount": 0,

            "RunningDisparityErrorCount": 0

        },

        "Battery_1": {

            "@Parent": "Controller_1",

            "RefControllerDeviceName": "<=/Controller_1.DeviceName",

            "RefControllerSlotId": "<=/Controller_1.SlotId",

            "RefControllerTypeId": "<=/Controller_1.TypeId",

            "TemperatureCelsius": 0

        },

        "ThresholdSensor_PCIeBBUTemp": {

            "AssertMask": 128,

            "DeassertMask": 28800,

            "ReadingMask": 2056,

            "Linearization": 0,

            "M": 100,

            "RBExp": 224,

            "UpperNoncritical": 60,

            "PositiveHysteresis": 2,

            "NegativeHysteresis": 2,

            "OwnerId": 32,

            "OwnerLun": 0,

            "EntityId": "<=/Entity_RaidCard.Id",

            "EntityInstance": "<=/Entity_RaidCard.Instance",

            "Initialization": 127,

            "Capabilities": 104,

            "SensorType": 1,

            "ReadingType": 1,

            "SensorName": "<=/Controller_1.SlotId |> string.format('PCIe%s BBU Temp', $1)",

            "Unit": 0,

            "BaseUnit": 1,

            "ModifierUnit": 0,

            "Analog": 1,

            "NominalReading": 20,

            "NormalMaximum": 0,

            "NormalMinimum": 0,

            "MaximumReading": 255,

            "MinimumReading": 0,

            "Reading": "<=/Battery_1.TemperatureCelsius",

            "ReadingStatus": "<=/Battery_1.TemperatureCelsius |> expr($1 == 32767 ? 1 : ($1 == 255 ? 2 : ($1 == 0 ? 3 : 0)))"

        },

        "CoolingRequirement_1_10": {

            "RequirementId": "${Slot} |> expr((10 << 8) | $1)",

            "MonitoringStatus": "<=/Controller_1.TemperatureAbnormal",

            "MonitoringValue": "<=/Controller_1.TemperatureCelsius |> expr($1 >= 255 ? 30 : $1)",

            "FailedValue": 80,

            "TargetTemperatureCelsius": 90,

            "MaxAllowedTemperatureCelsius": 102,

            "TargetTemperatureRangeCelsius": [],

            "ThresholdValue": [],

            "AlarmSpeed": [],

            "SensorName": "#/ThresholdSensor_RaidCardTemp.SensorName"

        },

        "CoolingRequirement_1_64": {

            "RequirementId": "${Slot} |> expr((64 << 8) | $1)",

            "MonitoringStatus": "<=/Battery_1.TemperatureCelsius;<=/Controller_1.BatteryPresence |> expr($2 == 255 ? 0 : ($1 == 32767 ? 1 : 0))",

            "MonitoringValue": "<=/Battery_1.TemperatureCelsius |> expr($1 >= 255 ? 30 : $1)",

            "FailedValue": 80,

            "TargetTemperatureCelsius": 49,

            "MaxAllowedTemperatureCelsius": 55,

            "TargetTemperatureRangeCelsius": [],

            "ThresholdValue": [],

            "AlarmSpeed": [],

            "SensorName": "#/ThresholdSensor_PCIeBBUTemp.SensorName"

        },

        "Event_BatteryFault": {

            "EventKeyId": "PCIeRAIDCard.PCIeCardBBUFault",

            "Condition": 1,

            "LedFaultCode": "q$$",

            "Reading": "<=/Controller_1.BatteryFault",

            "OperatorId": 5,

            "Enabled": true,

            "DescArg2": "#/Controller_1.SlotId",

            "DescArg3": "#/Component_RAID.Name",

            "Component": "#/Component_Battery"

        },

        "Event_PcieBBURemove": {

            "EventKeyId": "PCIeCard.PCIeCardBBUNotPresent",

            "Condition": 0,

            "Reading": "<=/Controller_1.BatteryPresence",

            "@Default": {

                "Reading": 255

            },

            "OperatorId": 8,

            "Enabled": true,

            "DescArg2": "#/Controller_1.SlotId",

            "DescArg3": "#/Component_RAID.Name",

            "Component": "#/Component_Battery"

        },

        "Event_PcieBBUInstall": {

            "EventKeyId": "PCIeCard.PCIeCardBBUPresent",

            "Condition": 1,

            "Reading": "<=/Controller_1.BatteryPresence",

            "@Default": {

                "Reading": 255

            },

            "OperatorId": 7,

            "Enabled": true,

            "DescArg2": "#/Controller_1.SlotId",

            "DescArg3": "#/Component_RAID.Name",

            "Component": "#/Component_Battery"

        },

        "Event_BBUOverTemp": {

            "EventKeyId": "PCIeCard.BBUOverTemp",

            "Condition": 1,

            "Reading": "<=/Battery_1.TemperatureCelsius;<=/ThresholdSensor_PCIeBBUTemp.UpperNoncritical |> expr((($1 > $2) && ($1 <= 255)) ? 1 : 0)",

            "OperatorId": 5,

            "Enabled": true,

            "DescArg1": "#/Controller_1.SlotId",

            "DescArg2": "#/Battery_1.TemperatureCelsius",

            "DescArg3": "#/ThresholdSensor_PCIeBBUTemp.UpperNoncritical",

            "Component": "#/Component_Battery"

        },

        "Event_BBUTempReadFail": {

            "EventKeyId": "PCIeCard.BBUTempReadFail",

            "Condition": 32767,

            "Reading": "<=/Battery_1.TemperatureCelsius",

            "OperatorId": 5,

            "Enabled": true,

            "DescArg1": "#/Controller_1.SlotId",

            "Component": "#/Component_Battery"

        },

        "Event_PcieCardReplaceMntr": {

            "EventKeyId": "PcieCard.PcieCardReplace",

            "Condition": 1,

            "Reading": "<=/Component_RAID.ReplaceFlag",

            "OperatorId": 5,

            "Enabled": true,

            "AdditionalInfo": "1",

            "DescArg1": "#/Component_RAID.Name",

            "DescArg2": "#/Component_RAID.PreviousSN",

            "DescArg3": "#/Component_RAID.SerialNumber",

            "Component": "#/Component_RAID"

        },

        "ThresholdSensor_RaidCardTemp": {

            "AssertMask": 128,

            "DeassertMask": 28800,

            "ReadingMask": 2056,

            "Linearization": 0,

            "M": 100,

            "RBExp": 224,

            "UpperNoncritical": 105,

            "PositiveHysteresis": 2,

            "NegativeHysteresis": 2,

            "OwnerId": 32,

            "OwnerLun": 0,

            "EntityId": "<=/Entity_RaidCard.Id",

            "EntityInstance": "<=/Entity_RaidCard.Instance",

            "Initialization": 127,

            "Capabilities": 104,

            "SensorType": 1,

            "ReadingType": 1,

            "SensorName": "<=/Controller_1.SlotId |> string.format('RAID%s Temp',$1)",

            "Unit": 128,

            "BaseUnit": 1,

            "ModifierUnit": 0,

            "Analog": 1,

            "NominalReading": 25,

            "NormalMaximum": 0,

            "NormalMinimum": 0,

            "MaximumReading": 127,

            "MinimumReading": 128,

            "Reading": "<=/Controller_1.TemperatureCelsius",

            "ReadingStatus": "<=/Controller_1.TemperatureCelsius |> expr($1 == 32767 ? 1 : ($1 == 255 ? 2 : ($1 == 0 ? 3 : 0)))"

        },

        "Event_OverTemp": {

            "EventKeyId": "PCIeCard.PCIeCardOverTemp",

            "Condition": "<=/ThresholdSensor_RaidCardTemp.UpperNoncritical",

            "Hysteresis": "<=/ThresholdSensor_RaidCardTemp.PositiveHysteresis",

            "Reading": "<=/Controller_1.TemperatureCelsius |> expr(($1 >= 255) ? 30 : $1)",

            "@Default": {

                "Condition": 105

            },

            "OperatorId": 4,

            "Enabled": true,

            "Component": "#/Component_RAID",

            "AdditionalInfo": "2",

            "DescArg2": "#/Component_RAID.Name",

            "DescArg4": "#/Event_OverTemp.Reading |> string.format('%s', $1)",

            "DescArg5": "#/ThresholdSensor_RaidCardTemp.UpperNoncritical"

        },

        "Event_TempFail": {

            "EventKeyId": "PcieCard.PCIeCardTempFail",

            "Condition": 1,

            "Reading": "<=/Controller_1.TemperatureAbnormal",

            "OperatorId": 5,

            "Enabled": true,

            "Component": "#/Component_RAID",

            "AdditionalInfo": "2",

            "DescArg2": "#/Component_RAID.Name"

        },

        "Scanner_Eeprom_RAIDCard": {

            "Chip": "#/Eeprom_RAIDCard",

            "Size": 1,

            "Offset": 0,

            "Mask": 255,

            "Period": 1000,

            "Type": 0,

            "Debounce": "None"

        },

        "Event_EepromReadFault": {

            "Reading": "<=/Scanner_Eeprom_RAIDCard.Status",

            "Condition": 1,

            "OperatorId": 5,

            "Enabled": true,

            "DescArg2": "#/Controller_1.SlotId",

            "DescArg3": "#/Component_RAID.Name",

            "Component": "#/Component_RAID",

            "EventKeyId": "PCIeCard.EEPROMFault",

            "LedFaultCode": "q$$"

        },

        "Component_RAID": {

            "FruId": 255,

            "Instance": "<=/Controller_1.SlotId",

            "Type": 8,

            "Name": "<=/Controller_1.DeviceName",

            "Presence": 1,

            "Health": 0,

            "PowerState": 1,

            "SerialNumber": "<=/Controller_1.SerialNumber"

        },

        "Component_Battery": {

            "FruId": 255,

            "Instance": "<=/Controller_1.SlotId",

            "Type": 8,

            "Name": "Raid Card BBU",

            "Presence": 1,

            "Health": 0,

            "PowerState": 1

        },

        "Entity_RaidCard": {

            "Id": 11,

            "Instance": 96,

            "Name": "<=/Controller_1.SlotId |> string.format('Raid Card%s',$1)",

            "Presence": 1,

            "PowerState": 1

        }

    }

}

2026-06-24 11:18:47.495137 storage NOTICE: controller_object.lua(722): Controller_0, RefChip.Path:/bmc/kepler/Chip/Complex/Chip_RaidChip_01010E

2026-06-24 11:18:47.496050 storage NOTICE: controller_object.lua(332): ctrl0 add_controller_to_link_topo successfully

2026-06-24 11:18:57.480860 oms NOTICE: task_mgmt.lua(312): Create task[Id: 1005053103, StartTime: 2026-06-24T11:18:57+08:00, Progress: 0, State: New] successfully

2026-06-24 11:18:57.576088 oms NOTICE: task_mgmt.lua(443): Update task[Id: 1005053103, StartTime: 2026-06-24T11:18:57+08:00, Progress: 0, State: Running] successfully

2026-06-24 11:18:57.676702 oms NOTICE: task_mgmt.lua(443): Update task[Id: 1005053103, StartTime: 2026-06-24T11:18:57+08:00, Progress: 10, State: Running] successfully

2026-06-24 11:18:59.090040 chassis NOTICE: init.lua(79): register to bus for class, error name: kepler.class.ClassNotDefined

2026-06-24 11:18:59.788097 cooling ERROR: cooling_dump.lua(31): Open file cooling failed

2026-06-24 11:18:59.930372 bmc_time WARNING: init.lua(1129): Requestor Skynet message queue scheduling delay is 612 ms (threshold: 500 ms), service_name=bmc.kepler.bmc_time, path=/bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101, interface=bmc.kepler.Chip.BlockIO, method_name=Read

2026-06-24 11:19:00.002874 devmon NOTICE: device_topo.cpp(630): Start dump topology to topology.txt

2026-06-24 11:19:00.013165 devmon NOTICE: device_topo.cpp(658): dump topology to topology.txt successfully

2026-06-24 11:19:00.141000 bmc_soc NOTICE: uart_data.lua(998): start collecting all com logs

2026-06-24 11:19:00.772185 oms NOTICE: task_mgmt.lua(443): Update task[Id: 1005053103, StartTime: 2026-06-24T11:18:57+08:00, Progress: 20, State: Running] successfully

2026-06-24 11:19:00.844461 bios NOTICE: log_collector.lua(97): [bios]start to dump bios log

2026-06-24 11:19:00.844728 bios NOTICE: log_collector.lua(72): [bios]start collect bios info

2026-06-24 11:19:01.220167 bmc_soc NOTICE: uart_data.lua(1033): all com logs have been compressed


注册SML只走到了这一步 336行的日志未打印

你这是基于那个分支呢

基于主干分支的代码,但是本身openUBMC就不支持Raid扣卡

那你是2512呢,还是2603呢,你这个我在25412遇到过

2512分支

2512的lib包不完整,你可以看看我之前发过的一个帖子,你这个有加吗

是这个帖子吗 25.12社区版本,博通9560 16i raid卡信息获取异常
你这个是Raid标卡吧,我这个是Raid扣卡,没办法BDF上报,好像本身社区就不支持Raid扣卡

那就sig会议上去请教吧

补充一些关键日志 app.log

2026-06-26 12:40:53.321536 storage ERROR: controller_object.lua(863): [RAID_DEBUG+register_controller_to_sml] Controller 1 sml.register_controller pcall result - ok: false, ret: kepler.hwproxy.RequestTimeout: table: 0x229aacf6d478
2026-06-26 12:40:53.322353 storage ERROR: controller_object.lua(867): [RAID_DEBUG+register_controller_to_sml] Controller 1 sml.register_controller THROW EXCEPTION: kepler.hwproxy.RequestTimeout: table: 0x229aacf6d478
----------------------------------------------------------------------------
2026-06-26 12:32:58.313882 frudata ERROR: frudata_service.lua(79): read eeprom data failed(10), sleep 10s. fru_id = 10, ret :BMC.Error.Unknow: ./opt/bmc/libmc/lualib/mc/context.lua:203: ./opt/bmc/libmc/lualib/sd_bus/object.lua:317: ./opt/bmc/apps/hwproxy/lualib/hwproxy_objects/app_bus.lua:104: ./opt/bmc/apps/hwproxy/lualib/hw_utils/hw_wait_access.lua:101: chip: Eeprom_RAID_0101, bus: I2c_6, write failed: i2c.lua:120: response error, i2c write fail, ret: 5, input:{"drv_write_delay":0,"mask":4294967295,"len":3,"buffer":"46 52 55 ","has_error":false,"addrWidth":1,"addr":174,"name":"Eeprom_RAID_0101","is_trace":false,"offset":0,"rw_type":0,"requestor":"bmc.kepler.frudata","type":1,"offsetWidth":2}

chips_access_statistic.csv的打印

I2c_6,Chip_RaidChip_01010E,0,10236,0,0,278,36.747442110932,“2026-06-26 12:42:38.462788 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c write fail, ret: 5, input:{”“offsetWidth”“:0,”“addrWidth”“:1,”“addr”“:2,”“has_error”“:false,”“is_trace”“:false,”“offset”“:0,”“rw_type”“:0,”“type”“:1,”“mask”“:4294967295,”“drv_write_delay”“:0,”“requestor”“:”“bmc.kepler.hwproxy”“,”“bus_type”“:0,”“len”“:4,”“name”“:”“Chip_RaidChip_01010E”“,”“buffer”“:”"00 00 0B 00 “”}

2026-06-26 12:42:38.451598 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c write fail, ret: 5, input:{““offsetWidth””:0,““addrWidth””:1,““addr””:2,““has_error””:false,““type””:1,““offset””:0,““rw_type””:0,““is_trace””:false,““name””:““Chip_RaidChip_01010E””,““drv_write_delay””:0,““requestor””:““bmc.kepler.hwproxy””,““bus_type””:0,““len””:4,““mask””:4294967295,““buffer””:""00 00 0B 00 “”}

2026-06-26 12:42:38.440290 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c write fail, ret: 5, input:{““offsetWidth””:0,““addrWidth””:1,““addr””:2,““has_error””:false,““is_trace””:false,““offset””:0,““rw_type””:0,““type””:1,““mask””:4294967295,““drv_write_delay””:0,““requestor””:““bmc.kepler.hwproxy””,““bus_type””:0,““len””:4,““name””:““Chip_RaidChip_01010E””,““buffer””:""00 00 0B 00 “”}

2026-06-26 12:42:38.429147 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c write fail, ret: 5, input:{““offsetWidth””:0,““addrWidth””:1,““addr””:2,““has_error””:false,““type””:1,““offset””:0,““rw_type””:0,““is_trace””:false,““name””:““Chip_RaidChip_01010E””,““drv_write_delay””:0,““requestor””:““bmc.kepler.hwproxy””,““bus_type””:0,““len””:4,““mask””:4294967295,““buffer””:""00 00 0B 00 “”}

2026-06-26 12:42:38.417832 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c write fail, ret: 5, input:{““offsetWidth””:0,““addrWidth””:1,““addr””:2,““has_error””:false,““is_trace””:false,““offset””:0,““rw_type””:0,““type””:1,““mask””:4294967295,““drv_write_delay””:0,““requestor””:““bmc.kepler.hwproxy””,““bus_type””:0,““len””:4,““name””:““Chip_RaidChip_01010E””,““buffer””:""00 00 0B 00 “”}

2026-06-26 12:42:38.406837 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c write fail, ret: 5, input:{““offsetWidth””:0,““addrWidth””:1,““addr””:2,““has_error””:false,““type””:1,““offset””:0,““rw_type””:0,““is_trace””:false,““name””:““Chip_RaidChip_01010E””,““drv_write_delay””:0,““requestor””:““bmc.kepler.hwproxy””,““bus_type””:0,““len””:4,““mask””:4294967295,““buffer””:""00 00 0B 00 “”}

2026-06-26 12:42:38.395802 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c write fail, ret: 5, input:{““offsetWidth””:0,““addrWidth””:1,““addr””:2,““has_error””:false,““is_trace””:false,““offset””:0,““rw_type””:0,““type””:1,““mask””:4294967295,““drv_write_delay””:0,““requestor””:““bmc.kepler.hwproxy””,““bus_type””:0,““len””:4,““name””:““Chip_RaidChip_01010E””,““buffer””:""00 00 0B 00 “”}

2026-06-26 12:42:38.384799 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c write fail, ret: 5, input:{““offsetWidth””:0,““addrWidth””:1,““addr””:2,““has_error””:false,““type””:1,““offset””:0,““rw_type””:0,““is_trace””:false,““name””:““Chip_RaidChip_01010E””,““drv_write_delay””:0,““requestor””:““bmc.kepler.hwproxy””,““bus_type””:0,““len””:4,““mask””:4294967295,““buffer””:""00 00 0B 00 “”}

2026-06-26 12:42:38.363866 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c write fail, ret: 5, input:{““offsetWidth””:0,““addrWidth””:1,““addr””:2,““has_error””:false,““is_trace””:false,““offset””:0,““rw_type””:0,““type””:1,““mask””:4294967295,““drv_write_delay””:0,““requestor””:““bmc.kepler.hwproxy””,““bus_type””:0,““len””:4,““name””:““Chip_RaidChip_01010E””,““buffer””:""00 00 0B 00 “”}

2026-06-26 12:42:38.352859 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c write fail, ret: 5, input:{““offsetWidth””:0,““addrWidth””:1,““addr””:2,““has_error””:false,““type””:1,““offset””:0,““rw_type””:0,““is_trace””:false,““name””:““Chip_RaidChip_01010E””,““drv_write_delay””:0,““requestor””:““bmc.kepler.hwproxy””,““bus_type””:0,““len””:4,““mask””:4294967295,““buffer””:"“00 00 0B 00 “”}”

I2c_6,VChip_I2c_6,0,0,0,0,305,0,

I2c_6,Eeprom_3_12_0101,0,0,0,0,305,0,

I2c_3,Eeprom_PsuChip2_0101,13,0,1554,126,305,5.5366603440382,“2026-06-26 12:42:35.879868 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{”“requestor”“:”“bmc.kepler.web_backend”“,”“mask”“:4294967295,”“offset”“:246,”“type”“:1,”“offsetWidth”“:1,”“has_error”“:false,”“addr”“:186,”“name”“:”“Eeprom_PsuChip2_0101"”,““is_trace””:false,““addrWidth””:1,““rw_type””:1,““len””:3}

2026-06-26 12:42:35.650090 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.web_backend””,““mask””:4294967295,““offset””:127,““type””:1,““offsetWidth””:1,““has_error””:false,““addr””:186,““name””:““Eeprom_PsuChip2_0101"”,”“is_trace”“:false,”“addrWidth”“:1,”“rw_type”“:1,”“len”":2}

2026-06-26 12:42:22.860721 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““type””:1,““offset””:246,““mask””:4294967295,““offsetWidth””:1,““has_error””:false,““addr””:186,““name””:““Eeprom_PsuChip2_0101"”,”“is_trace”“:false,”“len”“:3,”“rw_type”“:1,”“addrWidth”":1}

2026-06-26 12:42:19.929857 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““mask””:4294967295,““offset””:246,““type””:1,““offsetWidth””:1,““has_error””:false,““addr””:186,““name””:““Eeprom_PsuChip2_0101"”,”“is_trace”“:false,”“addrWidth”“:1,”“rw_type”“:1,”“len”":3}

2026-06-26 12:42:19.219912 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““type””:1,““offset””:127,““mask””:4294967295,““offsetWidth””:1,““has_error””:false,““addr””:186,““name””:““Eeprom_PsuChip2_0101"”,”“is_trace”“:false,”“len”“:2,”“rw_type”“:1,”“addrWidth”":1}

2026-06-26 12:42:16.872860 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““mask””:4294967295,““offset””:246,““type””:1,““offsetWidth””:1,““has_error””:false,““addr””:186,““name””:““Eeprom_PsuChip2_0101"”,”“is_trace”“:false,”“addrWidth”“:1,”“rw_type”“:1,”“len”":3}

2026-06-26 12:42:16.550035 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““type””:1,““offset””:127,““mask””:4294967295,““offsetWidth””:1,““has_error””:false,““addr””:186,““name””:““Eeprom_PsuChip2_0101"”,”“is_trace”“:false,”“len”“:2,”“rw_type”“:1,”“addrWidth”":1}

2026-06-26 12:42:13.750063 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““has_error””:false,““offset””:127,““type””:1,““offsetWidth””:1,““addrWidth””:1,““addr””:186,““name””:““Eeprom_PsuChip2_0101"”,”“is_trace”“:false,”“len”“:2,”“rw_type”“:1,”“mask”":4294967295}

2026-06-26 12:42:11.570406 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““addrWidth””:1,““offset””:246,““type””:1,““offsetWidth””:1,““has_error””:false,““addr””:186,““name””:““Eeprom_PsuChip2_0101"”,”“is_trace”“:false,”“mask”“:4294967295,”“rw_type”“:1,”“len”":3}

2026-06-26 12:42:11.280268 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““has_error””:false,““offset””:127,““type””:1,““offsetWidth””:1,““addrWidth””:1,““addr””:186,““name””:““Eeprom_PsuChip2_0101"”,”“is_trace”“:false,”“len”“:2,”“rw_type”“:1,”“mask”“:4294967295}”

I2c_3,Eeprom_PsuChip1_0101,13,0,1555,131,305,5.5562822944601,“2026-06-26 12:42:22.960273 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{”“requestor”“:”“bmc.kepler.power_mgmt”“,”“addrWidth”“:1,”“offset”“:246,”“type”“:1,”“offsetWidth”“:1,”“has_error”“:false,”“addr”“:184,”“name”“:”“Eeprom_PsuChip1_0101"”,““is_trace””:false,““mask””:4294967295,““rw_type””:1,““len””:3}

2026-06-26 12:42:22.410761 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““mask””:4294967295,““offset””:127,““type””:1,““offsetWidth””:1,““has_error””:false,““addr””:184,““name””:““Eeprom_PsuChip1_0101"”,”“is_trace”“:false,”“addrWidth”“:1,”“rw_type”“:1,”“len”":2}

2026-06-26 12:42:20.139857 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““addrWidth””:1,““offset””:246,““type””:1,““offsetWidth””:1,““has_error””:false,““addr””:184,““name””:““Eeprom_PsuChip1_0101"”,”“is_trace”“:false,”“mask”“:4294967295,”“rw_type”“:1,”“len”":3}

2026-06-26 12:42:19.680213 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““addrWidth””:1,““offset””:127,““type””:1,““offsetWidth””:1,““has_error””:false,““addr””:184,““name””:““Eeprom_PsuChip1_0101"”,”“is_trace”“:false,”“mask”“:4294967295,”“rw_type”“:1,”“len”":2}

2026-06-26 12:42:17.161248 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““has_error””:false,““offset””:246,““type””:1,““offsetWidth””:1,““addrWidth””:1,““addr””:184,““name””:““Eeprom_PsuChip1_0101"”,”“is_trace”“:false,”“len”“:3,”“rw_type”“:1,”“mask”":4294967295}

2026-06-26 12:42:16.619886 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““has_error””:false,““offset””:127,““type””:1,““offsetWidth””:1,““addrWidth””:1,““addr””:184,““name””:““Eeprom_PsuChip1_0101"”,”“is_trace”“:false,”“len”“:2,”“rw_type”“:1,”“mask”":4294967295}

2026-06-26 12:42:14.510376 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““addrWidth””:1,““offset””:246,““type””:1,““offsetWidth””:1,““has_error””:false,““addr””:184,““name””:““Eeprom_PsuChip1_0101"”,”“is_trace”“:false,”“mask”“:4294967295,”“rw_type”“:1,”“len”":3}

2026-06-26 12:42:14.230103 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““type””:1,““offset””:127,““mask””:4294967295,““offsetWidth””:1,““has_error””:false,““addr””:184,““name””:““Eeprom_PsuChip1_0101"”,”“is_trace”“:false,”“len”“:2,”“rw_type”“:1,”“addrWidth”":1}

2026-06-26 12:42:11.849839 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““type””:1,““offset””:246,““mask””:4294967295,““offsetWidth””:1,““has_error””:false,““addr””:184,““name””:““Eeprom_PsuChip1_0101"”,”“is_trace”“:false,”“len”“:3,”“rw_type”“:1,”“addrWidth”":1}

2026-06-26 12:42:11.620306 error: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 11, input:{““requestor””:““bmc.kepler.power_mgmt””,““has_error””:false,““offset””:127,““type””:1,““offsetWidth””:1,““addrWidth””:1,““addr””:184,““name””:““Eeprom_PsuChip1_0101"”,”“is_trace”“:false,”“len”“:2,”“rw_type”“:1,”“mask”“:4294967295}”

I2c_3,VChip_I2c_3,0,0,0,0,305,0,

Hisport_6,Eeprom_3_13_010101,0,0,0,0,299,0,