<div dir="ltr">Sorry for the late reply. I tried using <i>entity-manager</i> commit <i>7d807754cc9153b04b599804464edd9654d7a81e</i> and <i>dbus-sensors</i> commit <i>14f0ad806c3e92b5aee23632534698fbca18014b</i>.<br><br>Now the sensor configuration are exposed to dbus interface.<br><br><span style="color:rgb(0,0,255)">root@s2600wf:~# busctl tree --no-pager xyz.openbmc_project.HwmonTempSensor<br>`-/xyz<br> `-/xyz/openbmc_project<br> `-/xyz/openbmc_project/sensors<br> `-/xyz/openbmc_project/sensors/temperature<br> |-/xyz/openbmc_project/sensors/temperature/bmc_temp<br> |-/xyz/openbmc_project/sensors/temperature/cpu0_vrd_temp<br> |-/xyz/openbmc_project/sensors/temperature/cpu1_vrd_temp<br> |-/xyz/openbmc_project/sensors/temperature/left_rear_temp<br> `-/xyz/openbmc_project/sensors/temperature/right_rear_temp</span><br><br><span style="color:rgb(0,0,255)">root@s2600wf:~# busctl introspect --no-pager xyz.openbmc_project.HwmonTempSensor /xyz/openbmc_project/sensors/temperature/bmc_temp<br>NAME TYPE SIGNATURE RESULT/VALUE FLAGS<br>org.freedesktop.DBus.Introspectable interface - - -<br>.Introspect method - s -<br>org.freedesktop.DBus.Peer interface - - -<br>.GetMachineId method - s -<br>.Ping method - - -<br>org.freedesktop.DBus.Properties interface - - -<br>.Get method ss v -<br>.GetAll method s a{sv} -<br>.Set method ssv - -<br>.PropertiesChanged signal sa{sv}as - -<br>xyz.openbmc_project.Association.Definitions interface - - -<br>.Associations property a(sss) 1 "chassis" "all_sensors" "/xyz/openb... emits-change<br>xyz.openbmc_project.Sensor.Threshold.Critical interface - - -<br>.CriticalAlarmHigh property b false emits-change<br>.CriticalHigh property d 80 emits-change writable<br>xyz.openbmc_project.Sensor.Value interface - - -<br>.MaxValue property d 127 emits-change<br>.MinValue property d -128 emits-change<br>.Value property d 28.562 emits-change writable</span><br><br>Still the sensors are not coming on IPMI commands. But it is coming when using REST interface.<br><span style="color:rgb(0,0,255)"><br>root@s2600wf:~# ipmitool sdr<br>Error obtaining SDR info: Requested sensor, data, or record not found<br>Unable to open SDR for reading</span><br><br><span style="color:rgb(0,0,255)">desktop@desktopc-pc:~$ curl -c cjar -b cjar -k https://${bmc}/xyz/openbmc_project/sensors/temperature/bmc_temp<br>{<br> "data": {<br> "Associations": [<br> [<br> "chassis",<br> "all_sensors",<br> "/xyz/openbmc_project/inventory/system/board/Rudra_Baseboard"<br> ]<br> ],<br> "CriticalAlarmHigh": false,<br> "CriticalHigh": 80.0,<br> "MaxValue": 127.0,<br> "MinValue": -128.0,<br> "Value": 29.125<br> },<br> "message": "200 OK",<br> "status": "ok"</span><br><br><br>Journalctl logs are attached herewith.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Dec 21, 2019 at 2:29 AM James Feist <<a href="mailto:james.feist@linux.intel.com">james.feist@linux.intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 12/20/19 4:08 AM, AKASH G J wrote:<br>
> Thanks for the help.<br>
> <br>
> I changed "Probe" : "TRUE", now entity manager configuration file is <br>
> parsed and published to dbus a configuration.<br>
> <br>
> root@rudra:~# busctl introspect --no-pager <br>
> xyz.openbmc_project.EntityManager \<br>
>> /xyz/openbmc_project/inventory/system/board/Rudra_Baseboard/bmc_temp<br>
> NAME TYPE SIGNATURE <br>
> RESULT/VALUE FLAGS<br>
> org.freedesktop.DBus.Introspectable interface - <br>
> - -<br>
> .Introspect method - <br>
> s -<br>
> org.freedesktop.DBus.Peer interface - <br>
> - -<br>
> .GetMachineId method - <br>
> s -<br>
> .Ping method - <br>
> - -<br>
> org.freedesktop.DBus.Properties interface - <br>
> - -<br>
> .Get method ss <br>
> v -<br>
> .GetAll method s <br>
> a{sv} -<br>
> .Set method ssv <br>
> - -<br>
> .PropertiesChanged signal sa{sv}as <br>
> - -<br>
> xyz.openbmc_project.Configuration.TMP75 interface - <br>
> - -<br>
> .Address property s <br>
> "0x4a" emits-change<br>
<br>
<br>
This should have been translated to an int, and is most likely the <br>
issue. Are you using an old version of entity-manager? If not it is a <br>
bug. You can also write it as the int version in the configuration file <br>
as a workaround, but I think this was fixed and was specifically an <br>
issue with using the TRUE probe.<br>
<br>
<br>
> .Bus property t <br>
> 5 emits-change<br>
> .Name property s <br>
> "bmc_temp" emits-change<br>
> .Type property s <br>
> "TMP75" emits-change<br>
> xyz.openbmc_project.Configuration.TMP75.Thresholds0 interface - <br>
> - -<br>
> .Delete method - <br>
> i -<br>
> .Direction property s <br>
> "greater than" emits-change writable<br>
> .Name property s <br>
> "upper critical" emits-change writable<br>
> .Severity property d <br>
> 1 emits-change writable<br>
> .Value property d <br>
> 80 emits-change writable<br>
> <br>
> dbus-sensors hwmon temperature sensor daemon is not recognizing the <br>
> configuration interface: xyz.openbmc_project.Configuration.TMP75<br>
> <br>
> root@rudra:~# busctl tree --no-pager xyz.openbmc_project.HwmonTempSensor<br>
> Failed to introspect object / of service <br>
> xyz.openbmc_project.HwmonTempSensor: The name is not activatable<br>
> No objects discovered.<br>
> <br>
> In journalctl log the following messages are coming.<br>
> <br>
> hwmontempsensor[153]: Error communicating to entity manager<br>
> hwmontempsensor[566]: terminate called after throwing an instance of <br>
> 'std::bad_variant_access'<br>
> hwmontempsensor[566]: what(): Unexpected index<br>
> phosphor-mapper[210]: Introspect call failed with error: generic:110, <br>
> Connection timed out on process: xyz.openbmc_project.HwmonTempSensor path: /<br>
> systemd[1]: xyz.openbmc_project.hwmontempsensor.service: Main process <br>
> exited, code=killed, status=6/ABRT<br>
> systemd[1]: xyz.openbmc_project.hwmontempsensor.service: Failed with <br>
> result 'signal'.<br>
> systemd[1]: xyz.openbmc_project.hwmontempsensor.service: Service <br>
> RestartSec=5s expired, scheduling restart.<br>
> systemd[1]: xyz.openbmc_project.hwmontempsensor.service: Scheduled <br>
> restart job, restart counter is at 4.<br>
> systemd[1]: Stopped Hwmon Temp Sensor.<br>
> phosphor-mapper[210]: Introspect call failed with error: generic:110, <br>
> Connection timed out on process: xyz.openbmc_project.HwmonTempSensor path: /<br>
> systemd-udevd[97]: Spawned process '/usr/bin/start_hwmon.sh start <br>
> /devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a180.i2c-bus/i2c-5/5-004c/hwmon/hwmon2 <br>
> /ahb/apb/bus@1e78a000/i2c-bus@180/tmp75@4c' [104] is taking longer than <br>
> 59s to complete<br>
> <br>
> <br>
> <br>
> Thanks and Regards,<br>
> <br>
> Akash<br>
> <br>
> On Fri, Dec 20, 2019 at 12:42 AM James Feist <br>
> <<a href="mailto:james.feist@linux.intel.com" target="_blank">james.feist@linux.intel.com</a> <mailto:<a href="mailto:james.feist@linux.intel.com" target="_blank">james.feist@linux.intel.com</a>>> wrote:<br>
> <br>
> On 12/19/19 1:12 AM, AKASH G J wrote:<br>
> > Hi all,<br>
> > I am using OpenBMC firmware for server board having Aspeed AST-2500.<br>
> ><br>
> > Followed<br>
> ><br>
> <a href="https://github.com/openbmc/entity-manager/blob/master/docs/my_first_sensors.md" rel="noreferrer" target="_blank">https://github.com/openbmc/entity-manager/blob/master/docs/my_first_sensors.md</a><br>
> <br>
> > for populating sensor value to dbus. Entity manager configuration<br>
> file<br>
> > is given below.<br>
> > {<br>
> > "Exposes": [<br>
> > {<br>
> > "Address": "0x4f",<br>
> > "Bus": 5,<br>
> > "Name": "cpu0_vrd_temp",<br>
> > "Thresholds": [<br>
> > {<br>
> > "Direction": "greater than",<br>
> > "Name": "upper critical",<br>
> > "Severity": 1,<br>
> > "Value": 80<br>
> > }<br>
> > ],<br>
> > "Type": "TMP75"<br>
> > }<br>
> > ],<br>
> > "Name": "Rudra Baseboard",<br>
> > "Probe":<br>
> "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME':<br>
> > 'RUDRA'})",<br>
> > "Type": "Board",<br>
> > "xyz.openbmc_project.Inventory.Decorator.Asset": {<br>
> > "Manufacturer": "$BOARD_MANUFACTURER",<br>
> > "Model": "$BOARD_PRODUCT_NAME",<br>
> > "PartNumber": "$BOARD_PART_NUMBER",<br>
> > "SerialNumber": "$BOARD_SERIAL_NUMBER"<br>
> > }<br>
> > }<br>
> ><br>
> > Wrote sample FRU information on eeprom with the following<br>
> content. Used<br>
> > dd command for writing to eeprom.<br>
> ><br>
> > root@s2600wf:/sys/bus/i2c/devices/3-0056# cat eeprom<br>
> > Product:<br>
> > MANUFACTURER "ABC"<br>
> > PART_NUMBER "12345"<br>
> > PRODUCT_NAME "SAMPLENAME"<br>
> > SERIAL_NUMBER "12312490840"<br>
> <br>
> This is not a legal IMPI FRU. FRU Device only allows legal fru based on<br>
> the spec:<br>
> <a href="https://www.intel.com/content/www/us/en/servers/ipmi/ipmi-platform-mgt-fru-infostorage-def-v1-0-rev-1-3-spec-update.html" rel="noreferrer" target="_blank">https://www.intel.com/content/www/us/en/servers/ipmi/ipmi-platform-mgt-fru-infostorage-def-v1-0-rev-1-3-spec-update.html</a><br>
> <br>
> For testing purposes using "Probe" : "TRUE" can be used as well.<br>
> ><br>
> > The dbus tree not showing /xyz/openbmc_project/FruDevice/SAMPLENAME<br>
> ><br>
> > root@s2600wf:~# busctl tree --no-pager xyz.openbmc_project.FruDevice<br>
> > `-/xyz<br>
> > `-/xyz/openbmc_project<br>
> > `-/xyz/openbmc_project/FruDevice<br>
> ><br>
> > In journalctl log the following messages are printed.<br>
> ><br>
> > systemd[1]: Started Hwmon Temp Sensor.<br>
> > hwmontempsensor[120]: Error communicating to entity manager<br>
> > hwmontempsensor[120]: error communicating to entity manager<br>
> ><br>
> > Look like FruDevice daemon is not parsing the contents of eeprom and<br>
> > publish them to dbus.<br>
> ><br>
> > Is there any thing missing in configuration? Please help to<br>
> resolve the<br>
> > problem.<br>
> ><br>
> ><br>
> ><br>
> > Thanks,<br>
> ><br>
> > Akash<br>
> ><br>
> <br>
</blockquote></div>