Exposing sensors to IPMI over dbus
James Feist
james.feist at linux.intel.com
Sat Dec 21 07:59:30 AEDT 2019
On 12/20/19 4:08 AM, AKASH G J wrote:
> Thanks for the help.
>
> I changed "Probe" : "TRUE", now entity manager configuration file is
> parsed and published to dbus a configuration.
>
> root at rudra:~# busctl introspect --no-pager
> xyz.openbmc_project.EntityManager \
>> /xyz/openbmc_project/inventory/system/board/Rudra_Baseboard/bmc_temp
> NAME TYPE SIGNATURE
> RESULT/VALUE FLAGS
> org.freedesktop.DBus.Introspectable interface -
> - -
> .Introspect method -
> s -
> org.freedesktop.DBus.Peer interface -
> - -
> .GetMachineId method -
> s -
> .Ping method -
> - -
> org.freedesktop.DBus.Properties interface -
> - -
> .Get method ss
> v -
> .GetAll method s
> a{sv} -
> .Set method ssv
> - -
> .PropertiesChanged signal sa{sv}as
> - -
> xyz.openbmc_project.Configuration.TMP75 interface -
> - -
> .Address property s
> "0x4a" emits-change
This should have been translated to an int, and is most likely the
issue. Are you using an old version of entity-manager? If not it is a
bug. You can also write it as the int version in the configuration file
as a workaround, but I think this was fixed and was specifically an
issue with using the TRUE probe.
> .Bus property t
> 5 emits-change
> .Name property s
> "bmc_temp" emits-change
> .Type property s
> "TMP75" emits-change
> xyz.openbmc_project.Configuration.TMP75.Thresholds0 interface -
> - -
> .Delete method -
> i -
> .Direction property s
> "greater than" emits-change writable
> .Name property s
> "upper critical" emits-change writable
> .Severity property d
> 1 emits-change writable
> .Value property d
> 80 emits-change writable
>
> dbus-sensors hwmon temperature sensor daemon is not recognizing the
> configuration interface: xyz.openbmc_project.Configuration.TMP75
>
> root at rudra:~# busctl tree --no-pager xyz.openbmc_project.HwmonTempSensor
> Failed to introspect object / of service
> xyz.openbmc_project.HwmonTempSensor: The name is not activatable
> No objects discovered.
>
> In journalctl log the following messages are coming.
>
> hwmontempsensor[153]: Error communicating to entity manager
> hwmontempsensor[566]: terminate called after throwing an instance of
> 'std::bad_variant_access'
> hwmontempsensor[566]: what(): Unexpected index
> phosphor-mapper[210]: Introspect call failed with error: generic:110,
> Connection timed out on process: xyz.openbmc_project.HwmonTempSensor path: /
> systemd[1]: xyz.openbmc_project.hwmontempsensor.service: Main process
> exited, code=killed, status=6/ABRT
> systemd[1]: xyz.openbmc_project.hwmontempsensor.service: Failed with
> result 'signal'.
> systemd[1]: xyz.openbmc_project.hwmontempsensor.service: Service
> RestartSec=5s expired, scheduling restart.
> systemd[1]: xyz.openbmc_project.hwmontempsensor.service: Scheduled
> restart job, restart counter is at 4.
> systemd[1]: Stopped Hwmon Temp Sensor.
> phosphor-mapper[210]: Introspect call failed with error: generic:110,
> Connection timed out on process: xyz.openbmc_project.HwmonTempSensor path: /
> systemd-udevd[97]: Spawned process '/usr/bin/start_hwmon.sh start
> /devices/platform/ahb/ahb:apb/ahb:apb:bus at 1e78a000/1e78a180.i2c-bus/i2c-5/5-004c/hwmon/hwmon2
> /ahb/apb/bus at 1e78a000/i2c-bus at 180/tmp75 at 4c' [104] is taking longer than
> 59s to complete
>
>
>
> Thanks and Regards,
>
> Akash
>
> On Fri, Dec 20, 2019 at 12:42 AM James Feist
> <james.feist at linux.intel.com <mailto:james.feist at linux.intel.com>> wrote:
>
> On 12/19/19 1:12 AM, AKASH G J wrote:
> > Hi all,
> > I am using OpenBMC firmware for server board having Aspeed AST-2500.
> >
> > Followed
> >
> https://github.com/openbmc/entity-manager/blob/master/docs/my_first_sensors.md
>
> > for populating sensor value to dbus. Entity manager configuration
> file
> > is given below.
> > {
> > "Exposes": [
> > {
> > "Address": "0x4f",
> > "Bus": 5,
> > "Name": "cpu0_vrd_temp",
> > "Thresholds": [
> > {
> > "Direction": "greater than",
> > "Name": "upper critical",
> > "Severity": 1,
> > "Value": 80
> > }
> > ],
> > "Type": "TMP75"
> > }
> > ],
> > "Name": "Rudra Baseboard",
> > "Probe":
> "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME':
> > 'RUDRA'})",
> > "Type": "Board",
> > "xyz.openbmc_project.Inventory.Decorator.Asset": {
> > "Manufacturer": "$BOARD_MANUFACTURER",
> > "Model": "$BOARD_PRODUCT_NAME",
> > "PartNumber": "$BOARD_PART_NUMBER",
> > "SerialNumber": "$BOARD_SERIAL_NUMBER"
> > }
> > }
> >
> > Wrote sample FRU information on eeprom with the following
> content. Used
> > dd command for writing to eeprom.
> >
> > root at s2600wf:/sys/bus/i2c/devices/3-0056# cat eeprom
> > Product:
> > MANUFACTURER "ABC"
> > PART_NUMBER "12345"
> > PRODUCT_NAME "SAMPLENAME"
> > SERIAL_NUMBER "12312490840"
>
> This is not a legal IMPI FRU. FRU Device only allows legal fru based on
> the spec:
> https://www.intel.com/content/www/us/en/servers/ipmi/ipmi-platform-mgt-fru-infostorage-def-v1-0-rev-1-3-spec-update.html
>
> For testing purposes using "Probe" : "TRUE" can be used as well.
> >
> > The dbus tree not showing /xyz/openbmc_project/FruDevice/SAMPLENAME
> >
> > root at s2600wf:~# busctl tree --no-pager xyz.openbmc_project.FruDevice
> > `-/xyz
> > `-/xyz/openbmc_project
> > `-/xyz/openbmc_project/FruDevice
> >
> > In journalctl log the following messages are printed.
> >
> > systemd[1]: Started Hwmon Temp Sensor.
> > hwmontempsensor[120]: Error communicating to entity manager
> > hwmontempsensor[120]: error communicating to entity manager
> >
> > Look like FruDevice daemon is not parsing the contents of eeprom and
> > publish them to dbus.
> >
> > Is there any thing missing in configuration? Please help to
> resolve the
> > problem.
> >
> >
> >
> > Thanks,
> >
> > Akash
> >
>
More information about the openbmc
mailing list