在iBMC下可以使用ipmcset传感器值test模拟、以及maint_debug_cli模式下setprop模拟产生告警
在openUBMC下是否有方式可以代替同样的模拟效果 ?
openUBMC提供了mdbctl工具,支持iBMC的maint_debug_cli的功能。
mdbctl setprop [parameter list]
1 个赞
setprop可设置每个object的属性有哪些 ?设置的值代表什么含义 ?有文档说明吗
比如iBMC可以通过设置ReadingRaw 0x8010模拟传感器值失效
使用lsprop查看object支持的属性
参数格式和V2有区别,help查看格式要求
取决于相关传感器和告警配置的csr
openUBMC与iBMC中,ThresholdSensor对象的Reading属性的差异
1、iBMC:Reading属性定义为U16,其中高字节代表的是传感器读值状态,具体为0x80(硬件访问异常)、0x40(读值更新中);低字节才是传感器读值。
2、openUBMC:Reading属性定义为U8,属性含义满足单一职责,仅代表传感器读值。传感器读值状态由ReadingStatus属性承载。具体取值及含义如下
读值状态 | 取值 | 状态含义 |
---|---|---|
SCAN_NORMAL | 0 | 扫描正常 |
SCAN_FAILURE | 1 | 扫描失败,连续持续N(可配置)个防抖周期均失败 失败之后传感器会禁用状态,并且上报SEL |
SCAN_PRE_FAILURE | 2 | 扫描预失败,一般为一个防抖周期,全部失败则为失败 失败之后传感器会禁用状态 |
SCAN_NOT_ACCESSIBLE | 3 | 扫描不可访问,扫描的对象器件不支持扫描 比如:掉电、状态更新中、读值为NA |
SCAN_NOT_SCANNED | 4 | 初始未扫描状态 |
如何通过mdbctl setprop模拟传感器读值及读值状态
mdbctl setprop set <ObjectName> <Interface> <Property> <Value>
mdbctl setprop unset <ObjectName> <Interface> <Property>
传感器的Reading、ReadingStatus都配置了同步语法,无法直接操作这两个属性,仅能通过设置数据源的方式更改这两个属性的值。如:Reading属性同步自某个Scanner的Value、ReadingStatus同步自某个Scanner的Status,则分别设置该Scanner对象的Value或Status即可。
1 个赞