History log of /openbmc/openpower-vpd-parser/vpd-tool/src/ (Results 1 – 21 of 21)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
76eedb8e11-Dec-2025 Anupama B R <anupama.b.r1@ibm.com>

vpd-tool: Fix for reading pound keyword

Reading keywords which starts with pound(#) or number from dbus using
vpd-tool is failing, because pound is represented as PD_, and numeric
keywords starts wi

vpd-tool: Fix for reading pound keyword

Reading keywords which starts with pound(#) or number from dbus using
vpd-tool is failing, because pound is represented as PD_, and numeric
keywords starts with N_ on dbus, vpd-tool missed handling of these
conversions while querying from dbus.

Changes are made to handle this issue.

```
Testing:
Tested by reading keywords starts with pound and numeric keywords from dbus using vpd-tool

vpd-tool -r -O /system/chassis/motherboard/dcm0/cpu0 -R CRP0 -K "#V"
vpd-tool -r -O /system/chassis/motherboard/dcm0/cpu0 -R LWP3 -K "20
```

Change-Id: I730d5063e9e59308508bda56e97eb9047f7b25b4
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...


/openbmc/openpower-vpd-parser/configuration/ibm/50001001_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/correlated_properties_76002000.json
/openbmc/openpower-vpd-parser/meson.options
/openbmc/openpower-vpd-parser/service_files/vpd-manager.service
/openbmc/openpower-vpd-parser/service_files/wait-vpd-parsers.service
/openbmc/openpower-vpd-parser/vpd-manager/include/constants.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/error_codes.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/listener.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/logger.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/types.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/common_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/json_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/vpd_specific_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/worker.hpp
/openbmc/openpower-vpd-parser/vpd-manager/meson.build
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.hpp
/openbmc/openpower-vpd-parser/vpd-manager/src/bios_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/listener.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/logger.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/single_fab.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/worker.cpp
/openbmc/openpower-vpd-parser/vpd-tool/include/tool_constants.hpp
/openbmc/openpower-vpd-parser/vpd-tool/include/tool_utils.hpp
vpd_tool.cpp
4ed13dba10-Nov-2025 Anupama B R <anupama.b.r1@ibm.com>

Fix clearing of LocationCode after deleteFRUVPD

LocationCode in the com.ibm.ipzvpd.Location interface was being set to
an empty string when deleteFRUVPD was called for a FRU in vpd-manager.
This sho

Fix clearing of LocationCode after deleteFRUVPD

LocationCode in the com.ibm.ipzvpd.Location interface was being set to
an empty string when deleteFRUVPD was called for a FRU in vpd-manager.
This should not happen because the LocationCode is fixed for a FRU,
regardless of whether the FRU is present or not.

This commit fixes the above issue and updates the vpd-tool to use the
standard xyz interface to display the LocationCode instead of the
OEM-specific interface.

Test:
```
Dump object before delete FRU
root@rainvpdteam:~# vpd-tool -o -O /system/chassis/motherboard/lcd_op_panel_hill
[
{
"/system/chassis/motherboard/lcd_op_panel_hill": {
"CC": "6B87",
"DR": "CEC OP PANEL LCD",
"FN": "02WF367",
"LocationCode": "U78DA.ND0. -D1",
"PN": "02WF364",
"PrettyName": "Control panel display",
"SN": "YA30UF04R007",
"TYPE": "FRU",
"type": "xyz.openbmc_project.Inventory.Item.Panel"
}
}
]

Call delete FRU VPD:
root@rainvpdteam:~# busctl call com.ibm.VPD.Manager /com/ibm/VPD/Manager com.ibm.VPD.Manager deleteFRUVPD o /xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill

After Delete, Location code on DBus:
root@rainvpdteam:~# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill xyz.openbmc_project.Inventory.Decorator.LocationCode
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
.LocationCode property s "U78DA.ND0. -D1" emits-change writable

root@rainvpdteam:~# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill com.ibm.ipzvpd.Location
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
.LocationCode property s "U78DA.ND0. -D1" emits-change writable

Set FRU Present Property:
root@rainvpdteam:~# busctl set-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill xyz.openbmc_project.Inventory.Item Present b true

Dump object details, with correct location code:
root@rainvpdteam:~# vpd-tool -o -O /system/chassis/motherboard/lcd_op_panel_hill
[
{
"/system/chassis/motherboard/lcd_op_panel_hill": {
"CC": "",
"DR": "",
"FN": "",
"LocationCode": "U78DA.ND0. -D1",
"PN": "",
"PrettyName": "",
"SN": "",
"TYPE": "FRU",
"type": "xyz.openbmc_project.Inventory.Item.Panel"
}
}
]
```

Change-Id: Ie6db0584b46f69b340034ecf63c06197f31f46af
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...


/openbmc/openpower-vpd-parser/configuration/configuration.hpp
/openbmc/openpower-vpd-parser/service_files/vpd-manager.service
/openbmc/openpower-vpd-parser/test/meson.build
/openbmc/openpower-vpd-parser/test/utest_json_utility.cpp
/openbmc/openpower-vpd-parser/test/utest_utils.cpp
/openbmc/openpower-vpd-parser/vpd-manager/include/constants.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/error_codes.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/gpio_monitor.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/logger.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/single_fab.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/types.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/common_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/event_logger_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/json_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/vpd_specific_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/worker.hpp
/openbmc/openpower-vpd-parser/vpd-manager/meson.build
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.hpp
/openbmc/openpower-vpd-parser/vpd-manager/src/backup_restore.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/ipz_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/listener.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/logger.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/manager.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/manager_main.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/single_fab.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/worker.cpp
/openbmc/openpower-vpd-parser/vpd-tool/include/tool_constants.hpp
vpd_tool.cpp
/openbmc/openpower-vpd-parser/wait-vpd-parser/meson.build
/openbmc/openpower-vpd-parser/wait-vpd-parser/src/prime_inventory.cpp
18b840b029-Sep-2025 Anupama B R <anupama.b.r1@ibm.com>

Update vpd-tool forceReset command

The vpd-tool application is updated so that the forceReset command
triggers collection of all FRUs VPD through the wait-vpd-parsers
service, since Prime system inv

Update vpd-tool forceReset command

The vpd-tool application is updated so that the forceReset command
triggers collection of all FRUs VPD through the wait-vpd-parsers
service, since Prime system inventory and CollectAllFRUVPD are now
handled there.

The system inventory JSON symbolic link is removed so that the assetTag
property on D-Bus can be recreated when vpd-manager restarts.

Change-Id: Ia4e55cffb9f77445ad1dc5571ffbd15165ebb9dd
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...

2bbe7f3526-Sep-2025 Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

IBM:IPZ:VPD: template change for UTIL:D0

UTIL:D0 changed to VSYS:MM
updated the tool for UTIL:D0
corrected the tool for UTIL:D1

Change-Id: Ic1a5d067fe4951bfe7f51bef53919a931c79d314
Signed-off-by: J

IBM:IPZ:VPD: template change for UTIL:D0

UTIL:D0 changed to VSYS:MM
updated the tool for UTIL:D0
corrected the tool for UTIL:D1

Change-Id: Ic1a5d067fe4951bfe7f51bef53919a931c79d314
Signed-off-by: Jinu Joy Thomas <jinu.joy.thomas@in.ibm.com>

show more ...


/openbmc/openpower-vpd-parser/README.md
/openbmc/openpower-vpd-parser/configuration/ibm/50003000.json
/openbmc/openpower-vpd-parser/configuration/ibm/50003000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001000.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001001.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001001_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/60001002.json
/openbmc/openpower-vpd-parser/configuration/ibm/60002000.json
/openbmc/openpower-vpd-parser/configuration/ibm/60002000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/vpd_inventory.json
/openbmc/openpower-vpd-parser/docs/backup-restore-config-json.md
/openbmc/openpower-vpd-parser/docs/system-config-json.md
/openbmc/openpower-vpd-parser/meson.build
/openbmc/openpower-vpd-parser/service_files/wait-vpd-parsers.service
/openbmc/openpower-vpd-parser/test/utest_json_utility.cpp
/openbmc/openpower-vpd-parser/vpd-manager/include/bios_handler.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/constants.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/error_codes.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/event_logger.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/listener.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/logger.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/manager.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/parser.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/types.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/common_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/dbus_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/json_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/vpd_specific_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/worker.hpp
/openbmc/openpower-vpd-parser/vpd-manager/meson.build
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ibm_handler.hpp
/openbmc/openpower-vpd-parser/vpd-manager/src/backup_restore.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/bios_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/event_logger.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/gpio_monitor.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/ipz_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/listener.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/logger.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/manager.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/manager_main.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/single_fab.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/worker.cpp
/openbmc/openpower-vpd-parser/vpd-tool/README.md
vpd_tool.cpp
/openbmc/openpower-vpd-parser/wait-vpd-parser/include/prime_inventory.hpp
/openbmc/openpower-vpd-parser/wait-vpd-parser/meson.build
/openbmc/openpower-vpd-parser/wait-vpd-parser/src/prime_inventory.cpp
/openbmc/openpower-vpd-parser/wait-vpd-parser/src/wait_vpd_parser.cpp
963e842d05-May-2025 Souvik Roy <souvikroyofficial10@gmail.com>

Clear dump directory during manufacturing clean

This commit clears the vpd dump directory in case of manufacturing
clean.The vpd dump directory contains invalid vpd files found during
parsing. These

Clear dump directory during manufacturing clean

This commit clears the vpd dump directory in case of manufacturing
clean.The vpd dump directory contains invalid vpd files found during
parsing. These files need to be deleted when manufacturing clean is
executed.

Test:
```
1. Ensure vpd-manager has dumped 3 bad VPD files in the VPD dump
directory.
2. Execute vpd-tool --mfgClean --yes
3. After manufacturing clean is done, check return code, should be 0.
4. After manufacturing clean is done, check the VPD dump directory in
/var/lib/vpd. There should be no dumps directory inside.
```

Change-Id: Ic8079013e8b6608b2365b3ce874f0950bf50d77a
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>

show more ...

50731e4325-Apr-2025 Souvik Roy <souvikroyofficial10@gmail.com>

vpd-tool:Log invalid BIOS attribute value type

This commit adds log message in vpd-tool if any invalid BIOS attribute
value type is received from BIOS Config Manager.

Change-Id: I87499ef30d8e8f2a92

vpd-tool:Log invalid BIOS attribute value type

This commit adds log message in vpd-tool if any invalid BIOS attribute
value type is received from BIOS Config Manager.

Change-Id: I87499ef30d8e8f2a92b46ae1d366933bed4abd98
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>

show more ...

9f255f5c23-Apr-2025 Rekha Aparna <vrekhaaparna@ibm.com>

Restrict updating of IM keyword

This commit adds code to restrict updating of IM value from vpd-tool if
the value is not in the supported list of IM values.

Test:
```
root@p10bmc:~# vpd-tool -w -O

Restrict updating of IM keyword

This commit adds code to restrict updating of IM value from vpd-tool if
the value is not in the supported list of IM values.

Test:
```
root@p10bmc:~# vpd-tool -w -O "/system/chassis/motherboard" -R "VSBP" -K "IM" -V "0x50001003"
Given IM value [0x50001003] does not match to any valid system type.
root@p10bmc:~# vpd-tool -w -O "/system/chassis/motherboard" -R "VSBP" -K "IM" -V "5000"
Given IM value [5000] does not match to any valid system type.

root@p10bmc:~# vpd-tool -w -O "/system/chassis/motherboard" -R "VSBP" -K "IM" -V "0x50001002"
Data updated successfully
```

Change-Id: Ia14d6ffe8673a3ed94fc3a5f4fdbfe37f351b2a8
Signed-off-by: Rekha Aparna <vrekhaaparna@ibm.com>

show more ...

36dba30a23-Jan-2025 Souvik Roy <souvikroyofficial10@gmail.com>

vpd-tool mfgClean: implement sync BIOS attributes

This commit implements --syncBiosAttributes feature in vpd-tool
--mfgClean. When --syncBiosAttributes is selected along with --mfgClean,
the VPD key

vpd-tool mfgClean: implement sync BIOS attributes

This commit implements --syncBiosAttributes feature in vpd-tool
--mfgClean. When --syncBiosAttributes is selected along with --mfgClean,
the VPD keywords which are used for backing up BIOS attributes are
updated with the BIOS attribute values read from BIOS Config Manager
service.

Test:
```
- Install BMC image on rainier_2s2u.
- Reboot and wait for BMC to reach Ready state.
- Using vpd-tool, check the value of all the System VPD keywords used
for backing up BIOS attributes both on EEPROM and on D-Bus.
- Run vpd-tool --mfgClean --syncBiosAttributes/-s --yes
- Check return code
- Use pldmtool to check the current values of respective BIOS attributes
- Use vpd-tool, check the value of all the System VPD keywords used for
backing up BIOS attributes, both on EEPROM and on D-Bus.
- The VPD values should correspond with the BIOS attribute values.
- For all other keywords for which --mfgClean applies, the value on
EEPROM and D-Bus should be the default value from the respective
backup_restore JSON file.
```

Change-Id: I57c5df6ac0b3c4c91533d1ef22e69efcd4c87162
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>

show more ...

42914f4b04-Apr-2025 Anupama B R <anupama.b.r1@ibm.com>

Updating help for vpd-tool

This commit updates the vpd-tool help section for ‘--file’ and for
‘-w’(write keyword) option to provide more information to the user.

Change-Id: I0c2f922a75219339775a6f1

Updating help for vpd-tool

This commit updates the vpd-tool help section for ‘--file’ and for
‘-w’(write keyword) option to provide more information to the user.

Change-Id: I0c2f922a75219339775a6f18188ba8b13a783df5
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...

844f88f926-Jan-2025 Anupama B R <anupama.b.r1@ibm.com>

vpd-tool force reset command implementation

This commit implements force reset command option in vpd-tool
application.

The commit implements clearing of Phosphor Inventory Manager’s (PIM)
persisted

vpd-tool force reset command implementation

This commit implements force reset command option in vpd-tool
application.

The commit implements clearing of Phosphor Inventory Manager’s (PIM)
persisted data, restarts the PIM and VPD manager services. In turn VPD
manager triggers the VPD collection for the FRUs listed in the system
config JSON.

Output:
```
Create mismatch value, by updating keyword value only on DBus.
busctl call xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory xyz.openbmc_project.Inventory.Manager Notify a{oa{sa{sv}}} 1 "/system/chassis/motherboard" 1 "com.ibm.ipzvpd.VSYS" 1 "BR" ay 2 0x32 0x33

Data On Hardware:
root@rainvpdteam:/tmp# vpd-tool -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VSYS -K BR -r -H
{
"/sys/bus/i2c/drivers/at24/8-0050/eeprom": {
"BR": "S0"
}
}

Data on DBus:
root@rainvpdteam:/tmp# vpd-tool -O /system/chassis/motherboard -R VSYS -K BR -r
{
"/system/chassis/motherboard": {
"BR": "23"
}
}

On force reset command:
root@rainvpdteam:/tmp# ./vpd-tool -f
Stopping vpd-manager service.
Restarting xyz.openbmc_project.Inventory.Manager service.
Starting vpd-manager service.

After force reset command, DBus got updated with hardware data:
root@rainvpdteam:/tmp# vpd-tool -O /system/chassis/motherboard -R VSYS -K BR -r
{
"/system/chassis/motherboard": {
"BR": "S0"
}
}

root@rainvpdteam:/tmp# vpd-tool -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VSYS -K BR -r -H
{
"/sys/bus/i2c/drivers/at24/8-0050/eeprom": {
"BR": "S0"
}
}
```

Change-Id: Ic236265817d793892902f63835667167365b8cdc
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...

42ca494b12-Feb-2025 Anupama B R <anupama.b.r1@ibm.com>

vpd-tool: handle error code

This commit handles error code for write keyword command, as the
std::error_code should be checked only when filesystem::exists call
returns with false.

Change-Id: If901

vpd-tool: handle error code

This commit handles error code for write keyword command, as the
std::error_code should be checked only when filesystem::exists call
returns with false.

Change-Id: If90170f32a8e8798ba88b932da479dc3609afd22
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...

df9e554f12-Feb-2025 Sunny Srivastava <sunnsr25@in.ibm.com>

Update dump inventory and dump object

VPD-Tool currently tries to populate interfaces in case of dump object
and dump inventory without confrming if the object implements that
interface. This can ca

Update dump inventory and dump object

VPD-Tool currently tries to populate interfaces in case of dump object
and dump inventory without confrming if the object implements that
interface. This can cause Dbus exceptions which can be seen along with
output.

The commit add a pre-check and populates interfaces only which are
applicable. It also adds support for some more interface(s).

Test:

verified both dump object and dump inventory.
Works without giving any exceptions.

root@rain203bmc:~# /tmp/vpd-tool -o -O /system
[
{
"/system": {
"LocationCode": "U9824.42A.13E0C40",
"Model": "9824-42A",
"PrettyName": "System",
"SerialNumber": "13E0C40",
"SubModel": "S0",
"TYPE": "FRU",
"type": "xyz.openbmc_project.Inventory.Item.System"
}
}
]
root@rain203bmc:~#
/tmp/vpd-tool -o -O /system/chassis/motherboard/pcieslot10/pcie_card10
[
{
"/system/chassis/motherboard/pcieslot10/pcie_card10": {
"Address": "80",
"Bus": "29",
"CC": "6B87",
"DR": "NVME JBOF RISER",
"FN": "03FL195",
"LocationCode": "U78DB.ND0.WZS0019-P0-C10",
"PN": "03FL286",
"PrettyName": "PCIe4 x16 or PCIe5 x8 adapter",
"SN": "YA30UF13S01P",
"SlotNumber": "10",
"TYPE": "FRU",
"type": "xyz.openbmc_project.Inventory.Item.FabricAdapter"
}
}
]

Change-Id: I97ecfbec734c14cddff075f2bbf6469f70f6e25e
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>

show more ...

7f749a6f10-Feb-2025 Souvik Roy <souvikroyofficial10@gmail.com>

vpd-tool sync BIOS attributes implementation stub

This commit implements stub for vpd-tool manufacturing clean sync
BIOS attributes feature. This changes in this commit allows user to
select --syncB

vpd-tool sync BIOS attributes implementation stub

This commit implements stub for vpd-tool manufacturing clean sync
BIOS attributes feature. This changes in this commit allows user to
select --syncBiosAttribute option in --mfgClean. This commit does not
include complete implementation of --syncBiosAttribute option.

Change-Id: I0a8232588edb28b220a0fcf04070a26e2bb2c6f6
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>

show more ...

6be2c01523-Jan-2025 Anupama B R <anupama.b.r1@ibm.com>

vpd-tool force reset command

This commit implements ‘force reset’ user option in vpd-tool. Command
clears the BMC persisted data and recollects the VPD for all the FRUs
mentioned in system config JS

vpd-tool force reset command

This commit implements ‘force reset’ user option in vpd-tool. Command
clears the BMC persisted data and recollects the VPD for all the FRUs
mentioned in system config JSON.

Command will only be processed if chassis is powered off.

stub API is added in VpdTool class to implement this command.

Output:
```
root@p10bmc:/tmp# obmcutil state
CurrentBMCState : xyz.openbmc_project.State.BMC.BMCState.Ready
CurrentPowerState : xyz.openbmc_project.State.Chassis.PowerState.On
CurrentHostState : xyz.openbmc_project.State.Host.HostState.Running
BootProgress : xyz.openbmc_project.State.Boot.Progress.ProgressStages.MemoryInit
OperatingSystemState: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Inactive

When chassis is powered on, force reset command will fail:
root@p10bmc:/tmp# ./vpd-tool -f
The chassis power state is not Off. Force reset operation is not allowed.
```

Change-Id: I58ed0f11cf182d718ae957c4fbe803dc24f83d09
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...

43fedabc03-Feb-2025 Patrick Williams <patrick@stwcx.xyz>

clang-format: update latest spec and reformat

Copy the latest format file from the docs repository and apply.

Change-Id: Id8301a67d945f8a3d1ceb87ae59087100338119c
Signed-off-by: Patrick Williams <p

clang-format: update latest spec and reformat

Copy the latest format file from the docs repository and apply.

Change-Id: Id8301a67d945f8a3d1ceb87ae59087100338119c
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

951d660918-Jan-2025 Anupama B R <anupama.b.r1@ibm.com>

Take input from file for write keyword

This commit adds code to read keyword’s value from the local file to
update keyword’s value. User can provide file path where the value
exists using --file opt

Take input from file for write keyword

This commit adds code to read keyword’s value from the local file to
update keyword’s value. User can provide file path where the value
exists using --file option.

Output:
```
Write keyword using object path (both primary and backup path VPD gets updated)

Before update:
root@p10bmc:/tmp# ./vpd-tool -O /system/chassis/motherboard -R VSYS -K BR -r
{
"/system/chassis/motherboard": {
"BR": "S0"
}
}
root@p10bmc:/tmp# ./vpd-tool -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VSYS -K BR -r -H
{
"/sys/bus/i2c/drivers/at24/8-0050/eeprom": {
"BR": "S0"
}
}

Input file (In ASCII format):
root@p10bmc:/tmp# cat input.txt
A2

Update keyword command:
root@p10bmc:/tmp# ./vpd-tool -O /system/chassis/motherboard -R VSYS -K BR -w --file input.txt
Data updated successfully

After update:
root@p10bmc:/tmp# ./vpd-tool -O /system/chassis/motherboard -R VSYS -K BR -r
{
"/system/chassis/motherboard": {
"BR": "A2"
}
}
root@p10bmc:/tmp# ./vpd-tool -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VSYS -K BR -r -H
{
"/sys/bus/i2c/drivers/at24/8-0050/eeprom": {
"BR": "A2"
}
}

Write keyword using hardware path (updates only given hardware path):

Input file (In hexadecimal format):
root@p10bmc:/tmp# cat input.txt
0x5330

Update keyword command:
root@p10bmc:/tmp# ./vpd-tool -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VSYS -K BR -w -H --file input.txt
Data updated successfully

After update:
root@p10bmc:/tmp# ./vpd-tool -O /system/chassis/motherboard -R VSYS -K BR -r
{
"/system/chassis/motherboard": {
"BR": "A2"
}
}
root@p10bmc:/tmp# ./vpd-tool -O /sys/bus/i2c/drivers/at24/8-0050/eeprom -R VSYS -K BR -r -H
{
"/sys/bus/i2c/drivers/at24/8-0050/eeprom": {
"BR": "S0"
}
}
```

Change-Id: I762dceae351ab2f9a1989b664a424cda4470dd1d
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...

d353990e20-Jan-2025 Anupama B R <anupama.b.r1@ibm.com>

Update logs and doxygen for vpd-tool

This commit updates the following for vpd-tool,
* Removed duplicate success log for write keyword command.
* Updated the doxygen for readKeyword API.
* Error log

Update logs and doxygen for vpd-tool

This commit updates the following for vpd-tool,
* Removed duplicate success log for write keyword command.
* Updated the doxygen for readKeyword API.
* Error logs are enabled in all places until verbose mode is
implemented.

Change-Id: Ica201694fc87445d4cd368875d1414140c77b236
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...

6308942023-Jan-2025 Souvik Roy <souvikroyofficial10@gmail.com>

vpd-tool mfgClean: Sync BIOS attributes stub

This commit adds --syncBiosAttributes flag to vpd-tool --mfgClean
option. The changes in this commit allows user to specify
--syncBiosAttributes/-s with

vpd-tool mfgClean: Sync BIOS attributes stub

This commit adds --syncBiosAttributes flag to vpd-tool --mfgClean
option. The changes in this commit allows user to specify
--syncBiosAttributes/-s with --mfgClean option. --syncBiosAttributes
flag when used along with --mfgClean will sync those VPD keywords on
hardware and D-Bus, with the corresponding values of BIOS attributes.
The other keywords not associated with BIOS attribute backup continue to
be updated with the default value in backup_restore JSON file.

Test:

```
root@p10bmc:~# vpd-tool
VPD Command Line Tool
Usage: vpd-tool [OPTIONS]

Options:

-s,--syncBiosAttributes Sync BIOS attribute related keywords from
BIOS Config Manager

MfgClean:
Flag to clean and reset specific keywords on system VPD to its default
value.
vpd-tool --mfgClean
To sync BIOS attribute related keywords with BIOS Config Manager:
vpd-tool --mfgClean --syncBiosAttributes
```

Change-Id: Icdff0bc08e629d12e4de2a21c2499ea621a03c38
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>

show more ...

549d090522-Jan-2025 Souvik Roy <souvik.roy10@ibm.com>

vpd-tool dump inventory: trim out base inventory path prefix

This commit trims out the base inventory path
prefix("/xyz/openbmc_project/inventory") from the vpd-tool
--dumpInventory and --dumpObject

vpd-tool dump inventory: trim out base inventory path prefix

This commit trims out the base inventory path
prefix("/xyz/openbmc_project/inventory") from the vpd-tool
--dumpInventory and --dumpObject JSON output. Other scripts assume the
object paths in the JSON to be without the prefix.

Change-Id: I566d40cda59a3c8835590fb7a8ce8501a1a98aa0
Signed-off-by: Souvik Roy <souvik.roy10@ibm.com>

show more ...

a8bb166320-Jan-2025 Souvik Roy <souvik.roy10@ibm.com>

vpd-tool dumpObject: show Decorator.Asset properties (#599)

This commit adds properties under Decorator.Asset interface such as
"Model","SerialNumber", etc. to the vpd-tool --dumpObject JSON.
Proper

vpd-tool dumpObject: show Decorator.Asset properties (#599)

This commit adds properties under Decorator.Asset interface such as
"Model","SerialNumber", etc. to the vpd-tool --dumpObject JSON.
Properties under Decorator.Asset interface are derived from VINI
keywords.
If a FRU doesn't have properties under VINI interface on PIM,
we need to get the properties from Decorator.Asset interface.

This commit also adds "TYPE" property of a FRU in --dumpObject JSON.

Change-Id: Ib72738143f34a4206da15e159f450715f15b066e
Signed-off-by: Souvik Roy <souvik.roy10@ibm.com>

show more ...

fa5e4d3212-Mar-2023 Sunny Srivastava <sunnsr25@in.ibm.com>

Revamped code for VPD parser

The commit removes all the pre-existing code from the branch
and pushes the revamped code.

Major modification includes:
- Movement from multi exe to single daemon model

Revamped code for VPD parser

The commit removes all the pre-existing code from the branch
and pushes the revamped code.

Major modification includes:
- Movement from multi exe to single daemon model.
- Multithreaded approach to parse FRU VPD.
- Better error handling.
- Refactored code for performance optimization.

Note: This code supports all the existing functionalities as it is.

Change-Id: I1ddce1f0725ac59020b72709689a1013643bda8b
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>

show more ...


/openbmc/openpower-vpd-parser/.clang-format
/openbmc/openpower-vpd-parser/.gitignore
/openbmc/openpower-vpd-parser/LICENSE
/openbmc/openpower-vpd-parser/OWNERS
/openbmc/openpower-vpd-parser/README.md
/openbmc/openpower-vpd-parser/configuration/configuration.hpp
/openbmc/openpower-vpd-parser/configuration/ibm/50001000.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001001.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001001_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/50001002.json
/openbmc/openpower-vpd-parser/configuration/ibm/50003000.json
/openbmc/openpower-vpd-parser/configuration/ibm/50003000_v2.json
/openbmc/openpower-vpd-parser/configuration/ibm/backup_restore_50001001.json
/openbmc/openpower-vpd-parser/configuration/ibm/backup_restore_50003000.json
/openbmc/openpower-vpd-parser/configuration/ibm/vpd_inventory.json
/openbmc/openpower-vpd-parser/meson.build
/openbmc/openpower-vpd-parser/meson_options.txt
/openbmc/openpower-vpd-parser/scripts/wait-vpd-status.sh
/openbmc/openpower-vpd-parser/service_files/system-vpd.service
/openbmc/openpower-vpd-parser/service_files/vpd-manager.service
/openbmc/openpower-vpd-parser/service_files/wait-vpd-parsers.service
/openbmc/openpower-vpd-parser/test/meson.build
/openbmc/openpower-vpd-parser/test/utest_ddimm_parser.cpp
/openbmc/openpower-vpd-parser/test/utest_ipz_parser.cpp
/openbmc/openpower-vpd-parser/test/utest_json_utility.cpp
/openbmc/openpower-vpd-parser/test/utest_keyword_parser.cpp
/openbmc/openpower-vpd-parser/test/utest_utils.cpp
/openbmc/openpower-vpd-parser/test/vpd_files/ddr4_ddimm.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ddr5_ddimm.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ddr5_ddimm_corrupted_index_2.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ddr5_ddimm_corrupted_index_235.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ddr5_ddimm_corrupted_index_2_3.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ddr5_ddimm_corrupted_index_4.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system_corrupted_index_17.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system_corrupted_index_61.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system_corrupted_index_74.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system_corrupted_index_78_79.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system_min_record.dat
/openbmc/openpower-vpd-parser/test/vpd_files/ipz_system_truncated.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_0.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_177.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_178.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_179.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_19.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_20.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_24_large_size.dat
/openbmc/openpower-vpd-parser/test/vpd_files/keyword_corrupted_index_24_small_size.dat
/openbmc/openpower-vpd-parser/vpd-manager/include/backup_restore.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/bios_handler.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/constants.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/ddimm_parser.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/event_logger.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/exceptions.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/gpio_monitor.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/ipz_parser.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/isdimm_parser.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/keyword_vpd_parser.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/logger.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/manager.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/parser.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/parser_factory.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/parser_interface.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/types.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/common_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/dbus_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/json_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/utility/vpd_specific_utility.hpp
/openbmc/openpower-vpd-parser/vpd-manager/include/worker.hpp
/openbmc/openpower-vpd-parser/vpd-manager/meson.build
/openbmc/openpower-vpd-parser/vpd-manager/src/backup_restore.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/bios_handler.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/ddimm_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/event_logger.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/gpio_monitor.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/ipz_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/isdimm_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/keyword_vpd_parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/logger.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/manager.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/manager_main.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/parser.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/parser_factory.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/vpd_parser_main.cpp
/openbmc/openpower-vpd-parser/vpd-manager/src/worker.cpp
/openbmc/openpower-vpd-parser/vpd-tool/README.md
/openbmc/openpower-vpd-parser/vpd-tool/include/tool_constants.hpp
/openbmc/openpower-vpd-parser/vpd-tool/include/tool_types.hpp
/openbmc/openpower-vpd-parser/vpd-tool/include/tool_utils.hpp
/openbmc/openpower-vpd-parser/vpd-tool/include/vpd_tool.hpp
/openbmc/openpower-vpd-parser/vpd-tool/meson.build
vpd_tool.cpp
vpd_tool_main.cpp
/openbmc/openpower-vpd-parser/vpdecc/vpdecc.c
/openbmc/openpower-vpd-parser/vpdecc/vpdecc.h
/openbmc/openpower-vpd-parser/vpdecc/vpdecc_support.c
/openbmc/openpower-vpd-parser/vpdecc/vpdecc_support.h