拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

openubmc 新增一个 IPMI Sensor

openubmc 新增一个 IPMI Sensor 新增一个IPMI Sensor ​一个常见的场景便是需要将硬件上的某一个器件的读值通过IPMI协议中定义的门限传感器呈现给用户。在本章节中我们将配置一个LM75温度器件同时配置一个对应的IPMI门限传感器并呈现至对外接口。CSR配置 ​openUBMC采用一种软件描述性语言描述一个硬件的具体信息这种描述性语言被称之为Component Self-description Record(CSR)。关于CSR的具体介绍请参考《硬件自描述文件(CSR)》首先我们先获取CSR仓库cd /home/workspace git clone https://gitcode.com/openUBMC/vpd.git打开服务机型(vendor/Huawei/Server/Kunpeng/openUBMC)的root.sr打开后可以发现一系列配置。首先我们需要在硬件拓扑链路中声明一个LM75器件。在实际的硬件链路拓扑中I2c_8总线下地址为0x90处有一个LM75温感芯片。在CSR的ManagementTopology中找到对应的I2c_8的配置如果没有I2c_8请在ManagementTopology中粘贴下面的配置(可参考I2c_2的配置)。ManagementTopology: { ... I2c_8: { Chip: [ Lm75_DemoSensor ] } ... }这样CSR中便完成了实际的硬件链路拓扑配置。同时在与ManagementTopology同级的objects下面定义Lm75器件的具体信息和两个业务对象Objects: { ... Lm75_DemoSensor: { OffsetWidth: 1, AddrWidth: 1, Address: 144 }, Scanner_GetTemperature: { Chip: #/Lm75_DemoSensor, Size: 1, Offset: 0, Mask: 255, Period: 1000 }, ThresholdSensor_DemoSensor: { AssertMask: 29312, DeassertMask: 29312, ReadingMask: 6168, Linearization: 0, M: 100, RBExp: 224, UpperCritical: 48, UpperNoncritical: 46, PositiveHysteresis: 2, NegativeHysteresis: 2, OwnerId: 32, OwnerLun: 0, EntityId: /Entity_DemoSensor.Id, EntityInstance: /Entity_DemoSensor.Instance, Initialization: 127, Capabilities: 104, SensorType: 1, ReadingType: 1, SensorName: Demo Temperature Sensor, Unit: 128, BaseUnit: 1, ModifierUnit: 0, Analog: 1, MaximumReading: 127, MinimumReading: 128, Reading: /Scanner_GetTemperature.Value }, Entity_DemoSensor:{ Id: 99, Name: Demo Temperature Sensor, PowerState: 1, Presence: 1, Instance: 96 }, ... }此处我们定义了两个对象一个是Lm75器件一个是定期扫描任务Scanner一个是IPMI门限传感器的软件对象。 我们通过引用语法将Scanner和Lm75器件关联起来通过同步语法将Scanner的读值同步至ThresholdSensor的读值。具体IPMI传感器的配置请参考《IPMI Sensor SEL》组件构建 ​由于修改了vpd仓库因此我们需要对vpd仓库进行重新构建。为了和之前版本进行区分我们需要将service.json中的version字段进行更新bingo build --stagestable整包构建 ​找到vpd声明位置将版本改至对应的构建版本然后在manifest中再次进行整包构建bingo build整包测试 ​整包升级后我们可以通过ipmitool进行传感器查询。 ./ipmitool.exe -H ip -I lanplus -p 623 -U TestUser -P OpenUBMC123 -C 17 sdr Demo Temperature | 28 degrees C | ok
返回列表