entity-manager exposing eeproms

Patrick Venture venture at google.com
Thu Aug 1 03:42:51 AEST 2019


On Wed, Jul 31, 2019 at 10:38 AM Patrick Venture <venture at google.com> wrote:
>
> On Wed, Jul 31, 2019 at 9:34 AM James Feist <james.feist at linux.intel.com> wrote:
> >
> > On 7/29/19 10:55 AM, Patrick Venture wrote:
> > > Hi;
> > >
> > > Sorry to flood with questions, but I'm hoping I won't be the only
> > > person asking and in the future, other machines starting to use
> > > entity-manager will find these useful.
> > >
> > > I've added the following configuration:
> > >
> > > cat configurations/semitruck.json
> > > {
> > >      "Exposes": [
> > >          {
> > >              "Address": "0x50",
> > >              "Bus": 14,
> > >              "Name": "Aberdeen",
> > >              "Type": "24C64"
> > >          },
> > >          {
> > >              "Address": "0x50",
> > >              "Bus": 15,
> > >              "Name": "Energia",
> > >              "Type": "24C64"
> > >          }
> > >      ],
> > >      "Name": "Aberdeen Baseboard",
> > >      "Probe" : "TRUE",
> > >      "Type": "Board"
> > > }
> > >
> > > And I see:
> > > i2c i2c-14: new_device: Instantiated device 24c64 at 0x50
> > > i2c i2c-15: new_device: Instantiated device 24c64 at 0x50
> > >
> > > And I see:
> > > Service xyz.openbmc_project.EntityManager:
> > > `-/xyz
> > >    `-/xyz/openbmc_project
> > >      |-/xyz/openbmc_project/EntityManager
> > >      `-/xyz/openbmc_project/inventory
> > >        `-/xyz/openbmc_project/inventory/system
> > >          `-/xyz/openbmc_project/inventory/system/board
> > >            |-/xyz/openbmc_project/inventory/system/board/Aberdeen_Baseboard
> > >
> > > busctl introspect xyz.openbmc_project.EntityManager
> > > /xyz/openbmc_project/inventory/system/board/Aberdeen_Baseboard
> > > --no-pager
> > > 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.AddObject            interface -         -
> > >             -
> > > .AddObject                               method    a{sv}     -
> > >             -
> > > xyz.openbmc_project.Inventory.Item.Board interface -         -
> > >             -
> > > .Name                                    property  s         "Aberdeen
> > > Baseboard" emits-change
> > > .Probe                                   property  s         "TRUE"
> > >             emits-change
> > > .Type                                    property  s         "Board"
> > >             emits-change
> > >
> > > For the two eeproms listed, neither are currently supported by
> > > FruDevice.  It's my understanding that entity-manager "exposes"
> > > things, and I see it adding the eeproms successfully -- but then
> > > doesn't populate them to dbus.  It populates a configuration space for
> > > the sensors, so I expected the same for eeproms.
> >
> > FruDevice != Entity manager. They were kept completely separate, so the
> > fru device doesn't know anything about the Entity Manager. The Entity
> > Manager simply looks for any interface in it's probe statement to add
> > devices. In theory you could create a probe that looked like
> > xyz.openbmc_project.Sensor.Value('Value':'20').

Thanks for specifying this.  So it working for sensors is useful but
eeproms, not so much unless we want the eeprom driver loaded at
run-time, because FruDevice doesn't do that.

>
> > Entity manager is adding sysfs devices, and some happen to be eeproms.
>
> Interesting.
>
> >
> > >
> > > Am I missing something, or?
> > >
> > > Thanks,
> > > Patrick
> > >


More information about the openbmc mailing list