[External] Re: ipmitool FRU write question

Harry Sung1 hsung1 at lenovo.com
Thu Aug 22 23:58:54 AEST 2019



> On 8/16/19 9:52 AM, Harry Sung1 wrote:
> >
> > Hi Ed,
> >
> > Thanks for your kindly reply! I have surveyed the entity-manager before.
> > But I encountered an issue when I using phosphor-inventory-manager and
> entity-manager at the same time.
> > Both of them have same method "Notify" under same interface "
> xyz.openbmc_project.Inventory.Manager ", but different signature.
> >
> > phosphor-inventory-manager:
> > NAME                                  TYPE    SIGNATURE
> RESULT/VALUE   FLAGS
> > xyz.openbmc_project.Inventory.Manager interface -             -
> -
> > .Notify                               method    a{oa{sa{sv}}} -
> -
> >
> > entity-manager
> > NAME                                  TYPE    SIGNATURE
> RESULT/VALUE   FLAGS
> > xyz.openbmc_project.Inventory.Manager interface -         -
> -
> > .Notify                               method    a{sa{sv}} -
> -
> 
> Looking at the code, there's some irony there.  That function appears to be
> implemented for compatibility, as it doesn't actually do anything except return
> immediately.
> https://github.com/openbmc/entity-manager/blob/b0097d41d206006a6c9a0
> e464cb87ccbf797921b/src/EntityManager.cpp#L1641
> 

Thanks for your clear reply. I will look into it. 

> The irony is that (as you've found) it got the interface wrong, so it doesn't
> really do anything useful in terms of compatibility.
> 
> >
> > So when some services call the 'Notify' method failed because of getting
> wrong service.
> > Ex:
> > https://github.com/openbmc/ipmi-fru-parser/blob/master/writefrudata.cp
> > p#L206
> > Have you ever seen this issue before?
> 
> If you are using FruDevice, you should use it in tandem with the command sets
> I linked previously.  Given how entity-manager is architected, there is no
> concept of a "Notify".  Entity manager relies on the published ObjectManager
> interfaces to know when things have been added/removed.  In the command
> sets I linked, they interact with FruDevice directly, so technically entity
> manager isn't even required for interacting with the physical fru devices.
> Entity manager is used for reconfiguring the system once the hardware has
> been detected via FruDevice.

If I only want to use the FRU command sets yon linked previously. 
Is it allow to add Intel IPMI OEM commands into our IPMI OEM library?

> 
> >
> > Should I use intel-dbus-interfaces if I want to use Frudevice (entity-manager)
> and write FRU command(intel-ipmi-oem)?
> > Or it is compatible with original dbus-interface?
> 
> I don't believe anything you've looked at so far requires intel-dbus-interfaces.
> Most of the entity-manager/frudevice bindings are using sdbusplus directly to
> create their interfaces.


More information about the openbmc mailing list