[fru-device and intel-ipmi-oem] ipmitool fru print can not output psu information

James Feist james.feist at linux.intel.com
Wed Mar 20 08:35:13 AEDT 2019


> You need a separate configuration for your board.

This should not be needed.

> 
> Regards
> -Vijay
> 
> On 3/19/19, 4:10 AM, "openbmc on behalf of John Wang" <openbmc-bounces+vijaykhemka=fb.com at lists.ozlabs.org on behalf of wangzqbj at inspur.com> wrote:
> 
>      By checking the code, I found that fru-device seems to need to be used
>      with intel-ipmi-oem,
>      and it seems that no additional configuration is required(correct??).

Should be true.

>      
>      On my machine,there are two FRU,one is /etc/fru/baseboard.fru.bin,the
>      other is psu fru.
>      (There is only one psu).
>      
>      But,ipmitool fru print can only output the fru of baseboard.
>      $ ipmitool -I lanplus -H 100.2.76.213 -U root -P 0penBmc fru print
>      FRU Device Description : Builtin FRU Device (ID 0)
>      
>      fru-device found psu itself and had the correct output on dbus:
>      busctl tree xyz.openbmc_project.FruDevice
>      └─/xyz
>        └─/xyz/openbmc_project
>          └─/xyz/openbmc_project/FruDevice
>            ├─/xyz/openbmc_project/FruDevice/DPS_800AB_16_A
>            └─/xyz/openbmc_project/FruDevice/ON5263 >      busctl introspect xyz.openbmc_project.FruDevice
>      /xyz/openbmc_project/FruDevice/DPS_800AB_16_A:      -
>      .ADDRESS                            property  u         80
>        emits-change
>      .BUS                                property  u         5
>        emits-change
>      .Common_Format_Version              property  s         "1"
>        emits-change
>      .PRODUCT_LANGUAGE_CODE              property  s         "25"
>        emits-change
>      .PRODUCT_MANUFACTURER               property  s         "DELTA"
>        emits-change
>      .PRODUCT_PART_NUMBER                property  s         "          "
>        emits-change
>      .PRODUCT_PRODUCT_NAME               property  s         "DPS-800AB-16
>      A" emits-change
>      .PRODUCT_SERIAL_NUMBER              property  s
>      "HERD1629002309" emits-change
>      .PRODUCT_VERSION                    property  s         "S2F"
>        emits-change

This should be all that is needed. The baseboard itself works without 
any sdr data due to ipmitool implementation treading ID 0 special. It is 
probably failing somewhere with the sdr creation / reading. I would 
check that `ipmitool sdr elist fru` is returning an sdr for that fru.

https://github.com/openbmc/intel-ipmi-oem/blob/master/src/storagecommands.cpp#L400 
is where the FruSDR are created. This also requires SDR commands here: 
https://github.com/openbmc/intel-ipmi-oem/blob/master/src/sensorcommands.cpp#L886

- James



More information about the openbmc mailing list