Hello Shakeeb and Tom,

 

I don’t see any issues with version for BMC in upstream version as well. Software versions are exposed in bmc updater object rather than version object and see following command yields BMC version

busctl get-property xyz.openbmc_project.Software.BMC.Updater  /xyz/openbmc_project/software/1950470f xyz.openbmc_project.Software.Version Version

s "2.9.0-dev-1057-gfe5603705"

 

Regards

-Vijay

 

From: openbmc <openbmc-bounces+vijaykhemka=fb.com@lists.ozlabs.org> on behalf of TOM JOSEPH <tomjose@linux.vnet.ibm.com>
Date: Thursday, November 5, 2020 at 9:46 PM
To: Shakeeb B K <shakeebbk@gmail.com>
Cc: "openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>
Subject: Re: Firmware Version in ipmi mc info

 

Hello Shakeeb,

Typically there is a D-Bus object for each version and that implements the xyz.openbmc_project.Software.Version interface. /xyz/openbmc_project/software doesn't implement the interface.

busctl tree xyz.openbmc_project.Software.BMC.Updater
└─/xyz
  └─/xyz/openbmc_project
    └─/xyz/openbmc_project/software
      ─/xyz/openbmc_project/software/6b6a7c53
      └─/xyz/openbmc_project/software/76174d14

I guess the upstream implementation of this command is broken with the latest version format. We discussed this in the community, work is not done yet. https://lists.ozlabs.org/pipermail/openbmc/2020-August/022598.html

Regards,
Tom

 

On 06-11-2020 09:38, Shakeeb B K wrote:

Hi Tom, Thanks for the reply. But it doesn't seem to work as expected. I'm looking at...                                                                                                                                                                                     

This Message Is From an External Sender

This message came from outside your organization.

Hi Tom,

 

Thanks for the reply.

But it doesn't seem to work as expected. I'm looking at the witherspoon-bmc on QEMU.

 

root@witherspoon:~# systemctl status xyz.openbmc_project.Software.BMC.Updater
* xyz.openbmc_project.Software.BMC.Updater.service - OpenBMC Software Update Manager
     Loaded: loaded (/lib/systemd/system/xyz.openbmc_project.Software.BMC.Updater.service; enabled; vendor preset: enabled)
    Drop-In: /lib/systemd/system/xyz.openbmc_project.Software.BMC.Updater.service.d
             `-software-bmc-updater.conf
     Active: active (running) since Thu 2020-11-05 14:10:57 UTC; 13h ago
   Main PID: 387 (phosphor-image-)
     CGroup: /system.slice/xyz.openbmc_project.Software.BMC.Updater.service
             `-387 /usr/bin/phosphor-image-updater

Nov 05 14:10:53 witherspoon systemd[1]: Starting OpenBMC Software Update Manager...
Nov 05 14:10:57 witherspoon systemd[1]: Started OpenBMC Software Update Manager.


root@witherspoon:~# busctl get-property xyz.openbmc_project.State.BMC /xyz/openbmc_project/state/bmc0 xyz.openbmc_project.State.BMC CurrentBMCState
s "xyz.openbmc_project.State.BMC.BMCState.Ready"

root@witherspoon:~# busctl get-property xyz.openbmc_project.Software.Version /xyz/openbmc_project/software xyz.openbmc_project.Software.Version Version
Failed to get property Version on interface xyz.openbmc_project.Software.Version: Unknown interface xyz.openbmc_project.Software.Version or property Version.

root@witherspoon:~# busctl introspect --no-pager xyz.openbmc_project.Software.Version /xyz/openbmc_project/software
NAME                                TYPE      SIGNATURE  RESULT/VALUE  FLAGS
org.freedesktop.DBus.Introspectable interface -          -             -
.Introspect                         method    -          s             -
org.freedesktop.DBus.ObjectManager  interface -          -             -
.GetManagedObjects                  method    -          a{oa{sa{sv}}} -
.InterfacesAdded                    signal    oa{sa{sv}} -             -
.InterfacesRemoved                  signal    oas        -             -
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   -             -

 

 

Thanks,

Shakeeb

 

On Fri, Nov 6, 2020 at 8:37 AM TOM JOSEPH <tomjose@linux.vnet.ibm.com> wrote:

Hey Shakeeb,

The service implementing the xyz.openbmc_project.Software.Version should be running in the case of a normal boot as well. In our systems the service is xyz.openbmc_project.Software.BMC.Updater and the Version property is populated when the BMCState is Ready.

Regards,
Tom

On 05-11-2020 20:02, Shakeeb B K wrote:

Hi All, Currently the ipmi handler for "mc info" command depends on the "Version"...                                                                                                                                                                                     

This Message Is From an External Sender

This message came from outside your organization.

Hi All,

 

Currently the ipmi handler for "mc info" command depends on the "Version" property on interface xyz.openbmc_project.Software.Version. 

But this is getting populated only on the image update path by phosphor-bmc-code-mgmt.

Shouldn't the version be set on a normal boot as well? Is this a gap in current implementation?

 

Thanks,

Shakeeb