新手,想在openubmc上新增搭建两张网卡(intel和mellanox),请问具体操作流程怎样?需要如何创建,配置,查看硬件信息?谢谢
答案内容由AI生成,仅供参考:
在openUBMC上新增Intel和Mellanox网卡的操作指南
作为新手,在openUBMC平台上适配Intel和Mellanox网卡需要遵循一套系统化的流程。该过程主要涉及代码适配、CSR配置以及验证等关键步骤,确保新硬件能够被正确识别并实现带外管理功能。
适配流程概览
在openUBMC中新增网卡的核心是通过network_adapter组件进行适配。对于Intel E810系列和Mellanox BF系列这类支持NCSI协议的智能网卡,您需要在network_adapter组件的src/lualib/hardware_config目录下创建对应的Lua配置文件。这些文件将定义如何通过标准或厂商特定的NCSI命令获取网卡信息,如温度、链路状态等。整个流程包括识别设备、编写适配代码、配置传感器和事件上报规则,并最终打包验证。
具体操作步骤
1. 创建与配置适配文件
首先,您需要为每张网卡创建独立的Lua配置文件。文件名应与网卡在NetworkAdapter对象中的Model属性保持一致。例如,为Intel E810网卡创建E810.lua,为Mellanox网卡创建相应的.lua文件。
在文件中,您需要定义properties表,其中包含各类传感器(如芯片温度、光模块温度)的读取逻辑。每个属性需指定使用的协议(如ncsi_standard、ncsi_mellanox)、读取方式(on_schedule表示周期性读取)、请求报文(request)及响应解析函数(response)。例如,Intel E810可通过标准NCSI OEM命令获取数据,而Mellanox网卡则使用其专有的ncsi_mellanox协议。
2. 配置硬件信息与事件上报
完成代码适配后,需要通过CSR(Component Self-description Record)文件定义网卡的硬件信息。这包括配置PCIeDevice对象以描述设备的基本属性(如设备类型、槽位类型),以及CoolingArea对象来定义风扇调速策略。同时,还需配置Event对象以定义告警和事件的上报规则,例如当温度超过阈值时触发告警。
所有CSR配置文件需在产品仓的profile.txt中声明,以便在构建固件时被打包进系统。BMC升级后,这些CSR文件将位于/opt/bmc/sr路径下。
3. 查看与验证硬件信息
配置完成后,您可以使用QEMU仿真环境进行初步验证。启动仿真BMC后,可以通过Web UI的“管理视图”查看新添加的网卡对象及其属性。此外,还可以通过D-Bus命令查询bmc.kepler.network_adapter服务下的具体信息,确认Drive对象是否能正确反映硬盘槽位状态。
对于传感器数据的验证,建议参考《Qemu仿真应用之事件模拟篇》的指导,利用仿真环境触发和监测传感器事件。您也可以通过一键收集日志功能,检查network_adapter组件的日志输出,确认NCSI命令是否成功执行,以及传感器读数是否正常更新。
带外管理实现可以参考:https://gitcode.com/openUBMC/network_adapter/tree/main/src/lualib/hardware_config
CSR配置可以参考:https://gitcode.com/openUBMC/vpd/tree/main/vendor/Intel/Nic
你好,当前openUBMC网卡适配有两种方式:
1、是在vpd仓中配置CSR,具体网卡管理逻辑是在network_adapter,intel和mellanox厂商的网卡我们也已支持了大部分的带外协议,具体可参考以下文档网卡适配指南 | 文档中心 | openUBMC 。也可以参考同厂商同类型网卡的配置,也是在vpd仓中配置的。
2、 当前我们也新增了南向部件驱动适配网卡,具体可以关注sig-component-drivers。该方法管理网卡会更加高效。但是 intel和mellanox厂商的带外协议还在规划开发中,也支持社区开发者贡献,具体代码仓component_drivers