同步属性配置未生效问题

基于2512_LTS版本

在适配AIC SSD卡时,发现一个问题,配置其PCIeCard_1对象时,**“FirmwareVersion""SerialNumber”**配置了同步语法:

最后实际的结果是**"SerialNumber"的同步语法配置成功,“FirmwareVersion”**则失败,既没有同步到版本号,通过getprop也获取不到其同步语法配置:

请问这是什么原因?

Drive_AIC1有这个属性么

有的


看上去这两个对象都不在一个层级上

请问是有什么其他的约束么? 目前只知道对象下的属性只要是emits-change的就可以用同步语法同步,CSR 语法汇总指南中也没有提到有任何约束

Drive_AIC1.FirmwareVersion有值吗

这个不清楚,只能知道Drive_AIC1对象有FirmwareVersion这个属性,且有值。
同步语法没有生效,因此不支持到同步语法引用的Drive_AIC1.FirmwareVersion有值没有

你看的应该不是Drive_AIC那个对象

AIC的环境目前没有了 但都是Drive对象,属性都是一样的

一般这种同步的问题有几个点可以看一下

  1. 通过如下方法,将objectGroup后的position以及最后一个参数组件名替换为你对应的,看下组件拿到的自发现对象是否携带配置了
busctl --user call bmc.kepler.hwdiscovery /bmc/kepler/ObjectGroup/00 bmc.kepler.ObjectGroup GetObjects a{ss}s 0 bmc_network
  1. 如果有对应配置,可以检查app.log中你的组件是否有与同步解析相关的错误日志
  2. 如果没有对应配置,可以检查下framework.log和/dev/shm/log/hw_stream.log是否有hwdiscovery解析错误的日志
1 个赞

我有环境了会按照此方法定位一下

按照以上方法定位,后续有进展吗